Performance Test Engineer
The Site Reliability Engineering (SRE) team at NWEA is a hybrid development and operations team within our Technical Operations group. The primary focus of the SRE team is to maintain the integrity and performance of our continuously-integrated platform through understanding the relationships between infrastructure-layer code, functional application pools, SQL and PostgreSQL databases, message queues and data caches, all running in a mixture of private data centers and Content Delivery Networks. This team uses a mixture of monitoring tools to identify and mitigate possible client affecting issues.
As part of this team, the Performance Test Engineer develops, configures and runs the load and stress tests and collects scalability and performance data. Working with the SRE team and adjacent development teams, the performance test engineer analyzes and publishes test results and troubleshoots failures occurring during the tests. The performance test engineer recommends system configuration and tuning improvements based on observations made during the load tests.
Analyze the current state of the application and infrastructure, designing appropriate solutions and working with teams to implement them
Design, develop and execute automated tests to validate solutions and environments
Maintain and extend the load test framework including all programs and scripts that prep environments, create data sets, consolidate results and clean up after load tests.
Execute Load/Performance Tests that integrate workloads from multiple teams
Perform analysis of performance test results
Assist in finding and removing performance bottlenecks that prevent NWEA from exceeding its targeted concurrency and SLA goals
Participate in regular meetings, both within the team and across it, to discuss previous accomplishments, upcoming goals and any roadblocks in the way
Skills and abilities
Experience with Maven, Ant, Puppet, Continuous Integration, etc.
Deep Linux systems knowledge and administration background, Windows experience is a plus
Hands-on experience with SQL with ability to apply experience to PostgreSQL
Understanding of and ability to work within Java or Python
Demonstrated ability to follow through with all tasks, promises and commitments
Ability to communicate and work effectively within priorities
Ability to work under tight timelines in a fast-paced environment
Excellent analytical, troubleshooting and communication skills
Experience with Application Performance Management (APM), Network Performance Management (NPM), and Real User Monitoring (RUM) tools and data are a big plus
Ability to support the web platform during off-hours
Education and experience
Minimum bachelor’s degree in Computer Science or related field; or an equivalent combination of education and experience will be considered in lieu of a degree
5+ years relevant work experience in one or more of the following: Software QA Engineering, Software Development or Linux System Engineering.
2+ years creating and performing Load/Performance tests with Jmeter, SOASTA or LoadRunner or similar tools.
Demonstrated experience planning, developing, and collaborating on load test frameworks with one or more of the following: Python, PERL, Java, C++ or similar languages.
Database knowledge preferably PostgreSQL and MongoDB.
Understanding of Internet protocols and programming, including HTTP, session management, HTML.
Experience, preferably extensive experience working in a Linux/UNIX based environment.
Familiarity with networking (TCP/IP, DHCP, DNS, firewalls, routing) a plus
Strong written and oral communication skills