Senior Performance Engineer I

Engineering Billerica, MA or Remote, United States


Description

The i-Ready platform is a Java-based service oriented multi-tenant AWS hosted web application with a rich data backend that supports the learning success of over 10 million students through adaptive assessment and instruction and delivering actionable data to educators. 

As a Senior Performance Engineer, you will be a key member of the Quality Engineering team supporting and driving improvements in performance, scalability, reliability & resiliency of our products and services. You will support the continued growth of i-Ready (more students & educators, more concurrent use, more data, more services and new products) through testing, automation, tuning, technical design review, and production monitoring. 

A proven history of performance engineering in support of Java Web Applications is necessary. Knowledge of testing, measuring, analyzing, and trouble-shooting performance at the Service layer, Database layer, JVM and OS is expected. Understanding of service-oriented architecture and reliability is also needed. 

 

Required Experience 

  • Performance Test Design – experienced developing performance test strategy, identifying tools and framework needs necessary to realize the strategy, evaluation and modeling of current and future production load, how to adjust test design for different informational goals (e.g. stress, capacity planning, scalability, reliability), data needs and strategies to manage test data to support tests. 

  • Web Application Performance Reporting – can put the test results in context, examine and troubleshoot data from Service Layer, Database Layer, JVM, OS, and supporting infrastructure (load balancers, firewall, http servers, CDNs). Effectively (spoken, written and visually) communicate quantifiable results both to technical and non-technical peers and stakeholders. Provide recommendations to resolve bottlenecks to technical peers, and context to understand risks to inform production releases.  

  • Agile software development – you understand common methodologies (Scrum, Kanban, Lean), and how performance testing and enablement can support agile development processes. 

  • Autonomy comfortable working across multiple teams and projects - developing and maintaining professional relationships with technical peers on multiple agile product teams; able to work effectively with minimal supervision while supporting multiple teams and projects 

  • Java OOP & Web Applications – you are fluent in Java OOP, and understand how Java Web Applications work. You know the lifecycle of a session, how database connection pooling works, how HTTPS requests are handled. You can articulate tradeoffs between memory, latency and throughput in the context of a Java web application. 

  • Performance Test Frameworks – you have proven experience with one or more prominent performance testing frameworks (Gatling, NeoLoad, LoadRunner, JMeter), and understand how to incorporate it to design a test harness that supports the needs of the performance testing strategy. You have designed and maintained a test harness, and used it to support a variety of performance testing needs. 

  • SQL Query Profiling – you have deep knowledge of a relational database engine (MySQL or similar). You can explain the EXPLAIN plan, and suggest changes to the query and/or schema to improve execution of poorly performing queries. 

  • JVM Performance & Internals – Knowledge and experience with JVM tuning and heap dump analysis. Experience using multiple tools to monitor and profile including APM tools like AppDynamics, Dynatrace, GlowRoot, Java Profilers like JProfiler or VisualVM 

  • Infrastructure & Application Monitoring experience using a log aggregator tool like Splunk, Graylog, or Elk. Experience using monitoring tools like DataDog, New Relic, Grafana.

  •  Linux & Docker – you are comfortable in the command line, analyzing logs, and measuring performance of processes. You know how to build a docker image. 

 

Preferred Experience 

  • Java - Deep knowledge of Java programming, Tomcat, Spring, and Hibernate. 

  • Database - Deep knowledge of MySQL database internals, performance tuning, and reliability characteristics.

  • Security - Web application security best practices, you understand how performance and security may be at odds 

  • Gatling Load Testing – Experience building a load harness around Gatling, and using Functional Programming in Scala / Gatling DSL. 

 

About you 

  • You are great at modeling, questioning, generating, explaining, and elaborating on test ideas. 

  • You can search through logs or crash reports to help isolate and identify the root cause of issues, and are comfortable doing this from the command line. 

  • You can make sense of large volumes of data to identify patterns which might be indicative of problems. 

  • You have the ability to think playfully about serious matters. 

  • You can make observations and assimilate them to a mental model of a situation, and change your mental model as new information becomes available. 

  • You are able to describe defects in sufficient detail for a developer to understand and reproduce, and for business owners to understand user impact. 

  • You know when automated testing is better than manual testing. 

  • You know when manual testing is better than automated testing. 

  • You have experience with distributed version control system 



Curriculum Associates, LLC is an Equal Opportunity Employer. Curriculum Associates, LLC will not discriminate against any employee or applicant for employment because of race, color, creed, religion, sex, national origin, age, marital status, veteran status, sexual orientation, gender identity or expression, disability, genetic information, or any other category protected by law. Curriculum Associates, LLC will grant employment, without regard to race, color, creed, religion, sex, national origin, age, marital status, veteran status, sexual orientation, gender identity or expression, disability, genetic information, or any other category protected by law. Such action shall include, but not be limited to, the following: employment, upgrading, demotion, transfer, recruitment or recruitment advertising, layoff or termination, rates of pay or other forms of compensation.

Our company uses E-Verify to confirm the employment eligibility of all newly hired employees. To learn more about E-Verify, including your rights and responsibilities, please visit www.uscis.gov/e-verify.

Information that you provide when applying for employment with Curriculum Associates, LLC may be subject to the California Consumer Privacy Act. Click here for more information about our data-collection practices and your rights related to that data.