Software Developer/ Engineer/ Architect

Senior Performance Architect

Summary:

Software Developers at IBM are the backbone of our strategic initiatives to design, code, test, and provide industry-leading solutions that make the world run today – planes and trains take off on time, bank transactions complete in the blink of an eye and the world remains safe because of the work our software developers do.  Whether you are working on projects internally or for a client, software development is critical to the success of IBM and our clients worldwide.  At IBM, you will use the latest software development tools, techniques and approaches and work with leading minds in the industry to build solutions you can be proud of.

Your Role and Responsibilities
Assist development teams with performance modelling, code reviews, early performance testing and code profiling.
• Work with Performance Test team to design and manage load tests to validate system performance and stability for both on-premises and Cloud (Kubernetes) deployments of IBM’s Social Program Management (SPM) product portfolio
• Analyze tests results and work with Developers and Engineers to address defects and provide optimisations
• Provide technical assistance to improve system performance, capacity, reliability and scalability
• Perform root cause analysis of performance issues and suggest corrective actions
• Oversee system performance lifecycle and identify key metrics for performance improvements
• Evaluate system performances and recommend improvements
• Generate periodic performance reports for management review.
Opportunities:
• Working on a large scale enterprise software product in production across the world
• Ability to influence the design and architecture of SPM
• Being part of the wider global IBM performance engineering guild
• Career growth
Responsibilities:
• Identify performance risks in projects and work with project teams to outline mitigations
• Mitigate performance risks as early as possible in the SDLC: requirements, architecture, prototyping and coding
• Be part of Shift left and performance automation, CI /CD pipeline delivery
• Engage in ticket resolution to analyse and resolve performance related problems in production
• Develop performance methodology and tests strategy in collaboration and under direction of Performance Architect
• Create Performance Test Plans for SPM
• Support Performance testing team with execution and analyse performance results
• Provide release-to-release performance baseline metrics to key stakeholders
• Provide application performance recommendations, tuning to development team and collaborate with various stakeholders to implement performance changes
• Perform JEE Code reviews/code profiling.

Required Technical and Professional Expertise:
• 5+ year experience in application performance engineering, SRE or performance testing
• Experience with performance/load tests tools like Jmeter, Gatling, etc.
• Good working knowledge of Object-Oriented Programming principles
• Good understanding of JEE performance design patterns and anti-patterns
• Experience diagnosing performance issues on complex systems, including production systems
• Solid understanding of SQL and relational databases
• Good working knowledge of Java, REST
• Production Performance Analysis and Tuning of JEE products/platforms
• Good understanding of tuning principles for major Web Server applications and Linux
• Good understanding of network protocols, with a focus on HTTP, TCP/IP sockets, TCP congestion, etc
• Experience with JavaScript performance and UI performance would be a plus