Introduction
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
Your Role and Responsibilities
The Software Developer in Performance Engineering is an integral part of the development team responsible for participating in the execution of procedures for ensuring the performance, scalability and quality of new features and releases of software. The Software Developer in Performance Engineering will perform the assessment, planning and execution of experiments required for new functions/features under development; provide consultation to the development teams in resolution of complex problems; develop new approaches, as well as enhancements, modifications, and corrections to existing code, performance testing methodologies and processes. The Software Developer will be required to help enhance the performance automation pipeline to reduce manual effort and increase the productivity and efficiency of the work done by the performance team.
Want more jobs like this?
Get jobs in Pune, India delivered to your inbox every week.
The ideal candidate should have a strong passion for solving problems, developing highly efficient automation and deployment pipelines, experimenting with new technologies, and developing their hobby applications.
Responsibilities include:
- Evaluate system performance and provide recommendations for improvements.
- Identify performance bottlenecks and develop appropriate resolutions.
- Define, develop, and conduct system performance and stress testing.
- Analyze experiment results, present them, and suggest action plans.
- Read the software code, architectural diagrams, and documentation to understand how the system should behave and assess whether it is the case or not.
- Create and execute performance test plans, test cases and scripts.
- Report results to Development, Product Management, and Customer Support in a clear manner.
- Develop custom automation and tooling.
Required Technical and Professional Expertise
- Min 2 years of active and recent Performance and scalability engineering and/or Data Engineering experience with system performance optimization and tooling for performance metrics from servers and software modules as well as pipeline design and development.
- Experience with performance assessment tooling and technologies such as JMeter, JConsole, perf and be able to develop custom tooling.
- 5+ years of hands-on experience with at least two programming languages, such as Python, Java, Golang
- Hands-on experience with git for version control, including creating and managing repositories, branching, merging, and resolving conflicts.
- Experience with continuous integration and continuous delivery practices and tools, e.g. Jenkins, Travis
- Hands-on knowledge with Linux RedHat and/or Docker containerization
- Experience with Linux development toolchain (i.e. rpm, yum)
- BSc in Computer Science, Engineering or relevant field
- Strong communication skills and ability to convey ideas and opinions to others.
- Problem-solving attitude
Preferred Technical and Professional Expertise
- Knowledge of designing and implementing solutions based on microservices methodologies for Kubernetes
- Experience in enterprise-related development and deployment (scalability, performance)
- Experience with monitoring tools such as Prometheus, Graphana and ELK stack
- Working knowledge of Azure, Amazon Web Services, or IBM Cloud is an asset