Are you a seasoned software engineer with a passion for building scalable micro-services that handle massive amounts of data and form the backbone of customer-facing managed services? We are a growing SaaS product in IBM that helps our enterprise customers plan, analyze, and optimize their IT spending across traditional and cloud infrastructure.
We are looking for a Staff level Software Engineer who is passionate about building large scale services optimized for performance, efficiency, and handling lots of data.
- As part of IBM Apptio Cloudability application suite, build and maintain performant and secure cloud-native services using modern languages like Go, Java, Python that solve new and existing business challenges and customer needs.
- Research and identify new technologies and services in Cloud Service Providers to efficiently solve feature requirements of the product.
- Dive into complex architectures of different parts of the product to identify and fix issues and inefficiencies.
- Design and implement resilient systems that can horizontally and vertically scale.
- Build automated tests that validate feature functionality and integration.
- Breakdown complex tasks into smaller work items and provide proper estimates for planned feature work in each sprint.
- Best practices are followed while developing applications to be able to monitor it with the right support for observable metrics.
- Best logging practices are followed to be able to debug the state of the application when issues are identified.
- Perform code reviews submitted by teammates.
- Conduct and participate in design discussions organized in the team.
- Participate in on-call duty rotation to keep the service availability 99.9% or above.
- Participate in triaging customer reported issues.
- Open tickets on issues found in the feature and product with clear steps to reproduce the issue.
- Debug customer reported production incidents and address them to fix it or provide work arounds or build feature extensions.
- Work with other teams of the product and address integration requirements between the features.
- Influence multiple teams and hold a high bar for systems architecture, operations, and quality.
- Mentor and foster career growth for junior engineers.
- Bachelor’s Degree in computer science, or related field, or relevant work experience and 5+ years of professional software development experience OR Master's Degree and 3+ years of professional software development experience.
- 3+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
- Professional experience in a SaaS company/product.
- Extensive professional knowledge, experience, and understanding of at least one modern programming language, such Java and Go.
- Computer Science fundamentals in data structures, algorithm design and problem solving.
- Experienced with modern API design and implementations, preferably in Golang/Java.
- Experience with Linux-based integrated development environments, or equivalent (e.g., IntelliJ IDEA).
- Exceptional customer focus, ownership, and drive.
- Demonstrated capability to provide depth and breadth technical leadership.
- Experience in mentoring, recruiting, and team-building.
- Excellent communication skills, both written and verbal.