Principal Performance Engineer
- Lehi, UT, USA
Ancestry is looking for a Principal Software Performance Engineer experienced in assessing the performance, scalability, and resiliency of large scale web sites and backend micro-services, to include caching services, DB or other storage medium. They must also have extensive experience in profiling, tuning, and in the identification of bottlenecks, as well as being able to propose implementation, design and architectural opportunities that would improve performance. They must also have advanced to expert level skills with JMeter and experience in using Linux, Java, and Web profiling and analysis tools. Experience with cloud-based delivery of services, particularly within AWS, are highly desired as well.
At Ancestry, the scrum teams (dev and qa) are responsible for the performance testing, baselining, profiling, tuning, and in improving the user experience while reducing the cost of operations for their stacks. They need to be trained in the use and application of the assessment and profiling tools and provided guidance in the use of internal frameworks and best practices that enable the automation of this practice. This individual will be the go to responsible engineer in the Lehi office, who will provide the mentoring, training, and consulting in the use and integration of the selected open source and commercial test, profiling and tracking/reporting tools. They will enable the teams to automate daily performance baselining, release benchmarking; and to profile, tune, and implement changes that improve end user experience and reduce the cost of operations in the cloud environment. As the organizations skills advance, they will remain the go to person to help tackle the harder problems, will drive strategic user experience and cost savings initiatives, and focus time on anomalies observed within the production environment. They will also participate in the selection of profiling and analysis tools, in defining and documenting best practices and tool usage, and in providing in person, online, and in context training.
This position reports to the Director of Performance and will partner will a peer in the San Francisco office to provide full organization support. They will help to drive priorities for a remote Performance Lab, which will be responsible for monthly site assessments and assist with organizational backlog removal.
- Train teams in the principles and concepts of performance testing and assessments and in the creation of data driven test scripts. Provide training through live sessions, online tutorials with working examples and templates, and through context-based mentoring with teams and individuals.
- JMeter is the selected load tool used by the organization. An extensible framework has been developed and being evolved that supports the automated setup, execution, and dynamic control within the AWS infrastructure. This candidate will be one of a few organization experts in the use of JMeter and will become fluent in the use of the internal frameworks and help to evolve them to address edge case needs within the organization.
- Enable the automated execution and reporting by creating and evolving automated resource allocation, execution, and report aggregation within the AWS cloud environment; to include templates, examples and training materials that ease implementation and adoption by the teams.
- Identify and train teams in the use of performance profiling and diagnostics tools for AWS cloud infrastructure and services, Linux, Java, Nodejs, Angularjs, React, and native mobile technologies. (Half of the products are currently .Net based, but will be moved to the new technology base of the next few years; thus experience with .Net technologies in addition to those mentioned is a great plus.)
- Ability to develop and provide training and reference materials for the tuning of these solutions; with the intent of improving customer experience and reducing the cost of operations is a key responsibility.
- Consult with teams in the testing, profiling, and tuning of their products in the test environments; and in the assessment, identification, and resolution of issues encountered within production.
- As the organization becomes more mature in its capabilities, more time will be spent in analyzing performance slowness when identified in the production environment, in analyzing site usage to identify where improvements in performance could increase use adoption and retention; and to help formulate transaction cost models that help to identify the cost of services. This data will all then be used to help establish cross organization focus on Performance Governance, where key user and cost initiatives will be identified, and this individual will participate in driving the tactical execution across the organization.
- Domain expert in performance testing; to include baselining, load, stress, scalability, endurance, and other related performance test strategies and techniques.
- Advanced to expert command of JMeter, in its uses and capabilities.
- Experience in the use and capabilities of Taurus (gettaurus.org) is desired but not required.
- Experience in the use of BlazeMeter to drive large scale and dynamic load testing is desired. Experience using other commercial tools to perform large scale testing with subsequent analysis and reporting is sufficient, in the absence of BlazeMeter experience.
- Solid knowledge and experience in the use of performance profiling tools; such as Linux Perftools, VisualVM, and various other tools for the technologies mentioned above.
- Performance tuning experience for platforms, containers, communications, and software stacks; to include Linux, Java, HTTPS, HTTP/2, Nodejs, cache, browsers, and mobile.
- Experience with the AWS cloud environments is highly desired.
- Experience in the performant delivery of web content, including development and implementation strategies is highly desired.
- Experience implementing performance tests in a multi-tiered and micro service architectures.
- Development skills with AWS, Java, Nodejs, React would enable this person to participate in the continue development and evolution of our automated capabilities, and while not a requirement, it would provide opportunity for additional growth and value add.
- Extensive technical problem-solving skills.
- Self-starter that leads out to provide direction with supporting solutions, and that learns and adopts new skills in advance of need.
- Confident in their ability to lead and train teams and individuals; acting as a domain expert that encourages, mentors, and assists teams in establishing and growing their performance centric capabilities and knowledge.
- Effective cross team collaboration and leadership skills; able to work with Engineering, Marketing, Product Management, IT Operations and Executive management.
- Solid writing and visual communications skills are required in the development of online tutorials, guides, reports, and various other training materials.
- The ability to effectively present training and findings to teams, to communicate plans and approaches to management and other teams, to represent and defend decisions and directions while listening to feedback and adjusting where appropriate.
Ancestry is a profitable, growing company with a positive, high-energy environment. Together, our dedicated teams are harnessing the power of technology and using it to simplify the way people connect with their families and their unique legacies. Our work environment is fast-paced and challenging, but also extremely exciting. You’ll work with a team of passionate, engaged individuals. We offer excellent benefits and a competitive compensation package. For additional information, regarding our benefits and career information, please visit our website at http://ancestry.com/careers
Ancestry is not accepting unsolicited assistance from search firms for this employment opportunity. All resumes submitted by search firms to any employee at Ancestry via-email, the Internet or in any form and/or method without a valid written search agreement in place for this position will be deemed the sole property of Ancestry. No fee will be paid in the event the candidate is hired by Ancestry as a result of the referral or through other means.
Ancestry is an Equal Opportunity Employer that makes employment decisions without regard to race, color, religious creed (including religious dress and grooming practices), national origin, ancestry, sex (including pregnancy, childbirth, breastfeeding, and medical conditions related thereto), sexual orientation, gender, gender identity and expression, age (40 and older), mental or physical disability (including HIV and AIDS), medical condition (cancer and genetic characteristics), veteran status, citizenship, marital status, genetic information, or any other basis that is prohibited by applicable law. The Company also makes reasonable accommodations to applicants or employees with qualifying disabilities who request them and who otherwise meet the requirements of applicable law. If you would like to request an accommodation during the application process, please contact our Director of Recruiting.
All job offers are contingent on a background check screen that complies with applicable law. For San Francisco office candidates, Ancestry will consider for employment qualified applicants with criminal histories in a manner consistent with the requirements of San Francisco's Fair Chance Ordinance.