The Performance Engineer is responsible for supporting applications from a performance perspective by providing diagnostic information on production (and test) performance results. Plays a supporting role in automating processes to improve productivity in testing and engineering practices and creating and executing software performance testing strategies with a focus on analysis and recommendations for a wide range of applications. Works with all IT teams to ensure that performance best practices and processes are followed.
Take complete ownership and drive the changes to be implemented for improving performance by working with management and leadership teams
Contribute to aspects of the solution delivery lifecycle in performance prototyping, capacity modeling, performance driven design, profiling, performance testing, availability management, and troubleshooting.
Clearly communicate to IT and business stakeholders regarding performance-related recommendations and tradeoffs, justify the same with appropriate data
Identify gaps in Performance Engineering implementation across various IT towers, document the gaps and address for any improvements as applicable with the necessary stake holders
Partner with Performance Testing team, assisting with creating and refining effective performance test objectives, test plans, and scenarios that help the organization achieve Non-Functional Requirements for Performance across applications.
Collaborate with project teams on application and module design that achieves the quality attributes of performance, scalability, and availability.
Independently utilizes diagnostic and monitoring tools to detect, isolate, and resolve performance issues throughout the application technology stack by configuring or utilizing the appropriate performance engineering tool set
Provide technical and analytical leadership to a small team of performance analysts and systems analysts, working together to resolve performance issues and continuously improve application performance, for both real-time transactional systems and batch systems.
Provide performance-related mentoring and training to other architects, technical leads, and developers.
Expertize in analyzing code level issues for concurrency, scalability etc…
Experience in carrying out Single Point of Fail Over analysis
Experience in analyzing configuration related problems across technology stack
Experience with APM tools (CA-Wily APM, Compuware DynaTrace, AppDynamics), load testing tools (JMeter, SOASTA, Compuware Gomez, Load Runner), profiling tools (JProfiler)
Expertise with Java, JSP, JMS, JDBC, and performance tuning
Expertise with assessing and tuning application caches. Thorough knowledge of caching algorithms (LRU, MRU)
Experience with test-driven development techniques, using tools (TDD, JUnit)
Experience with web services, and corresponding performance tuning
Experience in analyzing component level benchmarks
Performance tuning servers (memory, storage)
Performance tuning operating system parameters (Linux, Solaris, Windows)
Performance tuning SQL statements and stored procedures (Oracle)
Performance tuning Java application containers (WebLogic, JBoss, Tomcat)
5-7 Years of Experience in Performance Engineering
5 + years of experience in engineering Design and code level issues
Bachelor’s degree in software engineering, computer science, or related field
Expertise in Retail domain knowledge