Senior 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.
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
We are a high-performing cross-functional team of developers responsible for Apptio Cost application in the realm of helping customer plan, analyze, and optimize their IT spendings across traditional and cloud infrastructure. We are passionate about delivering elegant solutions to complex business problems while not compromising our applications’ security, reliability, and performance. We partner with product management and other stakeholders and have a proven track record of delivering successful applications that delight our customers.
- Work with your scrum team to deliver impactful and valuable features in 2-week sprints.
- Own end-to-end features from concept to design to production and partner with product managers and other engineers to deliver high-quality solutions.
- Be responsible for digesting requirements into solid design documents and lead/guide a small team to execute it with a well-crafted plan.
- Mentor and coach other engineers.
- Participate in code and design reviews for other teammates and even across teams.
- Operate with a high degree of autonomy, confidence, and humility.
- The team allow participates in shared rotation of on-call duties.
Required Technical and Professional Expertise
- 5+ years of experience delivering enterprise-level software.
- 3+ years of experience contributing to new and current systems’ architecture and design (architecture, design patterns, reliability, and scaling).
- Experience with Service Oriented Architectures, micro-services, modern API designs, and implementations
- Ability to handle multiple competing priorities in a fast-paced environment.
- Demonstrated technical leadership role in building and delivering complex software solutions
- Proficiency in at least one modern programming language, such as Java, Go, Scala, C++, or C#.
- Familiarity with modern software development methodologies and practices: coding standards, reviews, CI/CD, and DevOps.
- Bachelor’s degree in computer science/Engineering or related field or equivalent work experience
- Excellent problem-solving skills and the ability to tackle challenging technical issues.
- Exceptional communication skills to collaborate effectively with cross-functional teams.
Preferred Technical and Professional Expertise
- Demonstrated experience with AWS, Azure, and/or GCP services for compute, storage, databases, etc.
- Experience in SQL (MySQL/Postgres) and NoSQL database technologies.
- Experience using containerization technologies like Docker and container orchestration platforms like Kubernetes.
- Familiarity with designing and implementing RESTful APIs with modern frameworks.
- Experience with Linux-based integrated development environments and scripting languages like Python/Shell.
- Robust knowledge of data structures, algorithms, enterprise systems, asynchronous architectures, and object-oriented programming.
- Experience using monitoring tools like Splunk, Datadog, Prometheus, Grafana
- Fluent spoken and written communication skills. Be the primary liaison for communicating with other teams and stakeholders (we are a geographically distributed engineering team).