Sr. Performance Engineer
The Senior Performance Engineer will be responsible to design, create and maintain automated performance test scripts that will be used to validate the performance of software applications to agreed upon service level agreements (SLAs).
- Collaborate closely with engineers, architects, business analysts, product owners and other team members to determine appropriate performance SLAs for all changes (new features as well as updates)
- Appreciate application architecture, application behavior and usage profile for applications under test and devise the appropriate performance test strategy and schedule
- Be responsible to design and create performance tests based on the agreed upon acceptance criteria. The Senior Performance Engineer may work with other performance test engineers for this
- Be responsible to setup the execution of performance tests as needed, interactively, or via Continuous Integration (CI) tools
- Be responsible to review the system performance via application monitoring tools such as AppDynamics, NewRelic etc.
- Be responsible to engage with all technical as well as non-technical stakeholders to ensure the timely performance validation of applications
- Be responsible to review the performance of applications deployed to Production and validate that the tested SLAs continue to be met
- Be responsible for generating and communicating test reports and metrics out to stakeholders
- Mentor other junior members of the team
- Analytical competence, which supports Performance Test design
- Good understanding of factors influencing performance of software applications at multiple layers including network, CPU utilization, JVM tuning, memory management, thread management, database connection pooling, query performance etc.
- Determine appropriate performance test strategy for applications
- Determine schedule for performance tests based on development cycle, resources and other constraints
- Good understanding of modern software development practices such as Agile
- Experience designing and implementing "unit" performance tests to determine if / when iterative codebase changes havean impact on the performance of a given service or web function
- Technical competence, which supports Performance Test Implementation
- Solid scripting in Beanshell programming expertise with Jmeter and/or http/html web, Java, Oracle NCA and web services protocols of LoadRunner and similar
- Jenkins, Maven, and Jmeter CI experience
- Knowledge and experience of using Blazemeter to run load test / automationExpert Level programming skills in Beanshell and C
- Very strong Linux Skills.Diagnostic Tools like New Relic or App Dynamics is needed.
- Good Knowledge of JBoss app server tuning , AWS systems, Cloud watch, Load Balancers in AWS
- Ability to setup complex test scenarios to model production workloads.
- Ability to monitor JVMs, analyze heap dumps, analyze queries, analyze logs and memory profiling.
- Ability to monitor and collect result data, analyze and pinpoint bottlenecks and guide developers and other in fixing performance issues.
- Experience diagnosing and debugging performance bottlenecks by interpreting test results and analyzing metrics gathered using tools
- Database knowledge, indexes, and SQL optimization techniques.
- Plan, design, execute and maintain different types of performance tests like load, stress, endurance, spike, capacity etc.
- Other competence, which supports Performance Engineering
- Good team player with the ability to handle multiple concurrent priorities in a fast paced environment.
- Strong interpersonal, written and oral communication skills.
- Strong adherent to Agile principles in letter as well as in spirit. Knows and follows Agile convention, but importantly internalizes the Agile spirit
- Strong communicator - able to work closely with counterparts in a cross functional, Agile team setting, to understand product needs and implement the right performance tests
- Understands the importance of data insofar as to analyze reported issues, inform severity of defects, inform the priority of tests
- Understands the importance of metrics in the modern software organization and supports the automated generation of such metrics as an outcome of normal work. Observes patterns in the metrics and takes appropriate action
HOW YOU CAN FIT
- 5 - 8 Years