Staff Software Development Engineer, Apptio
At IBM, work is more than a job – it’s a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you’ve never thought possible. Are you ready to lead in this new era of technology and solve some of the world’s most challenging problems? If so, lets talk.
Apptio, an IBM company, is the leading technology spend and value management software provider. Its AI-powered data insights empower leaders to make smarter financial and operational decisions. A pioneer and category leader in Technology Business Management (TBM) and FinOps, Apptio works with thousands of customers, partners, and community members worldwide. Visit www.apptio.com.
Your Role and Responsibilities
As a Staff Software Engineer, you will work closely with the ApptioOne Server Team to understand the problem domain and technical challenges of the team. You will be responsible for the architectural direction of the team. Additionally, you will mentor all members of the team to ensure that development patterns, testing approaches, service scalability, and service maintainability are core skills of each team member. You will be expected to participate in code reviews, provide constructive feedback and direct learning through focused questions. Above all, you will work as a member of the team to provide our customers with a great product while you help grow a strong engineering team.
In a typical week, you will:
- Participate in design reviews, code reviews, providing feedback, and giving direction.
- Join daily standups to discuss project status, new projects, and blocking issues.
- Commit code to our production systems as well as participate in the testing and validation of new features.
- You will work with your scrum team to deliver impactful and valuable features bi-weekly.
- You will personally own end-to-end features from concept to design to production, and partner with product managers, user experience designers, and other engineers to achieve high-quality solutions.
Required Technical and Professional Expertise
- 9+ years of experience delivering enterprise level software preferably in Java but other languages also considered.
- Experience with Service Oriented Architectures, modern API designs and implementations.
- Experience with NoSQL Database implementations (query optimization, index generation, caching).
- Technical leadership experience in building and delivering complex software systems.
- Experience working with CI/CD pipelines.
- Degree in Computer Science or equivalent experience.
Preferred Technical and Professional Expertise
- Comfortable with fast moving software design and development methodologies.
- Passionate and driven to design and implement scalable, programmatic solutions to complex problem.
- Ability to handle multiple competing priorities in a fast-paced environment.
- Experience in working with customers, product management, and senior management to deliver value to the market.
- Robust knowledge of data structures, algorithms, enterprise systems, asynchronous architectures, and object-oriented programming.
- Experience with popular AWS, Azure and/or GCP services for compute, storage and databases etc.
- Experience with monitoring tools (Datadog, Snyk, Grafana, splunk)
- Demonstrated experience with best SDLC practices: coding standards, reviews, code management, build processes, and testing.
- Experience building large applications at scale using modern best-practices.