The Senior Performance Engineer is a hands-on role that contributes to the success of Esurance by ensuring software is delivered with standard performance SLAs. This role collaborates very closely with development teams to create performance test plans based on application behavior and potential performance issues and delivers performance test results by utilizing industry standard load testing and profiling tools.
- Identifies application performance bottlenecks and facilitate root cause analysis of system issues to minimize impact and future occurrence.
- Creates solutions and conduct performance tests to improve availability, performance, reliability, capacity and scalability in the application, system or database layers
- Analyzes performance requirements, translate into detailed performance test plans and create test scripts.
- Assists in the design and the development teams in establishing standard SLAs and ensures the applications meet the defined SLAs.
- Analyzes test results with engineers, product managers, other stakeholders and coordinates with the respective teams for performance tuning, memory leaks and bug fixes.
- Understands system’s technical architecture, and able to identify the performance implications for different layers of system based on design discussions or architecture documents.
- Creates and maintains test framework and scripts for Load, Stress and Endurance/soak tests.
- Maintains credibility in communication and takes actions on assigned responsibilities.
- Parallel project orientation with accretive overlap. Has the ability to drive multiple projects concurrently and identifies when to cross leverage results.
- Root Cause Analysis for performance optimization and architecture
- Reviews entire environment and executes initiatives to reduce failures, defects and improving overall performance
- Experience in Performance Monitoring tools
- Ensure timely proactive identification of performance issues, escalating issues as warranted
- Hands on experience with performance testing techniques such as performance work load modeling, establishing baselines, services monitoring, and profiling system performance.
- Experience in configuring and executing scripts using performance test tools such as JMeter, Tsung, Locust, or Load runner.
- Performance testing experience working with databases such as Microsoft SQL Server and MongoDB.
- Experience with performance monitoring tools across a wide variety of technologies.
- Experience in testing the performance of RESTful API.
- Experience in summarizing performance testing results in a clear and concise manner to management.
- Extensive understanding web application and browser concepts (HTTP/HTTPS, connections, cookies, caching, streaming, etc.).
- Experience handling test data in various formats (JSON, XML, CSV, etc.) while understanding data storage, encoding, encryption, data transformation, and related concepts.
- Hands-on experience in parameterizing scripts for load, spike, stress, and soak tests.
- Familiarity with issue tracking and SDLC tools such as JIRA.
- Experience working in Agile/Scrum models.
- Experience with maintaining and frequently updating performance testing scripts based on application enhancements and changes.
- Ability to work in a group setting and collaborate by providing transparency in test results.
- Strong written and verbal communication skills
- Enthusiastic and energetic with an inherent curiosity to break code and stress test it
Experience / Education:
- Bachelor’s degree in Computer Science or related field with demonstrated knowledge of algorithms, information systems and basic programming concepts is required
- 3+ years of experience in Load, Stress and Endurance test planning, scripting and execution.
- 5 years of experience in Functional and/or Automation Testing