24 Hour Fitness, INC. Lead Software Development Engineer in Test in Carlsbad, California
LOCATION 1265 Laurel Tree Lane Suite 200 Carlsbad CA 92011
The primary objective of the Lead Software Development Engineer in Test is to improve overall organizational efficiency by eliminating manual or redundant testing processes through automation. This includes reducing software delivery lead time, application defects, and operational overhead while improving reliability, availability, and development velocity.
The Lead Software Development Engineer in Test is expected to design, implement, and maintain a reusable and sustainable test automation framework; enhance and expand the framework as required to accommodate new functional requirements; use the framework to create and maintain data-driven test automation scripts using descriptive programming languages for smoke, functional, regression, and integration testing; work closely with the development team to understand code changes and provide feedback to promote testability; coordinate continuously with the development team throughout the SDLC process to develop or modify automated test scripts in concert with development of new code; collaborate with test engineers and software engineers to ensure automated test scripts are robust and efficient; train and mentor the Quality Assurance team in test automation development and maintenance; and participate in requirements, software design, and test case review meetings.
The Lead Software Development Engineer in Test is similar to Software Development Engineer in Test (SDET), Quality Assurance Automation Engineer, Senior Quality Assurance Engineer, and Test Automation DevOps Engineer.
ESSENTIAL DUTIES AND RESPONSIBILTIES
Identify opportunities for test automation--to include application UI testing, service-level testing, mobile device testing, integration testing, regression testing, smoke testing, and manual or semiautomated operations processes.
Prioritize opportunities for test automation by their impact on delivering value to the business.
Collaborate with relevant teams to plan, schedule, and implement solutions for selected test automation opportunities.
Develop, document, and enforce coding standards for development of test automation.
Ensure test automation implemented according to standards and developed using agile principles and methodologies.
Ensure test automation is fully integrated into the continuous integration and delivery pipeline.
Ensure all functional requirements are covered by automated test cases.
Relentlessly pursue and enforce data-driven automation of all testing activities as well as all repeatable processes in general.
Attend and actively participate in all requirements, software design, and test case review meetings.
Provide testability feedback by reviewing and analyzing project and maintenance requirements documents.
Provide level of effort (LOE) estimates for authoring and maintaining test automation scripts.
Select and implement tools, languages, and frameworks that support development of automated test solutions and fully-automated application testing.
Collaborate with the Development and Quality Assurance teams in designing, developing, implementing and integrating test automation according to standards.
Collaborate with the Information Security team in designing, developing, implementing, and integrating automated application vulnerability testing.
Design, develop, implement, and maintain automated solutions supporting the continuous integration and delivery pipeline.
Document and maintain detailed automated smoke, functional, regression, and integration test cases in TestRail.
Supervise, track, and report on test development performed by onsite and offsite resources.
Ensure automation reports provide insight on check points, expected results, and actual results.
Review test plans and scripts with the SDLC team.
Report test automation progress to the SDLC team.
Set up and execute automated test cases within the QA environment.
Select appropriate test cases for execution on every QA build.
Ensure test automation scripts are valid and up-to-date through continuous execution.
Resolve or seek assistance on roadblocks encountered during test case execution.
Supervise, track, and report on test execution performed by onsite and offsite resources.
Encourage and maintain open, two-way communication with all parties involved in test automation.
Keep manager informed on status, events, and other critical information.
Report test execution status to the SDLC team.
Provide training, guidance, and documentation in automated test execution.
Provide training, guidance, and documentation in automated test development and maintenance.
Provide mentorship in maintaining, modifying, and improving automated test cases.
The Lead Software Development Engineer in Test reports to the Quality Assurance Manager. This position regularly interacts with Quality Assurance Analysts and Engineers, Application Developers, Business Systems Analysts, Solutions Architects, and Systems Engineers. This position interfaces with the Applications Management and Technology Management departments within the Information Technology organization. The Lead Software Development Engineer in Test has no direct reports but does supervise onsite and offsite contract resources engaged in test automation.
Knowledge, Skills, and Abilities
Solid understanding of professional software engineering practices and best practices for full SDLC, including coding standards, code reviews, source control management, continuous deployments, testing, and operations.
Solid understanding of software development methodologies, including Agile, Prototype, Iterative, and Waterfall.
Expert knowledge of standard testing activities, including smoke, regression, functional, integration, system, UAT, performance, white-box, black-box, and back-end database SQL testing.
Expert knowledge of the Selenium suite of tools (Remote Control and WebDriver) for automated web application software testing, including familiarity with supported scripting languages and supported testing frameworks.
Expert knowledge of service-level testing and test automation using SoapUI/ReadyAPI or similar framework.
Expert knowledge in functional test design.
Expert knowledge in Microsoft Office suite of applications, especially Word, Excel, and Outlook.
Proficient in SQL, relational databases, and complex database queries.
Proficient in troubleshooting, root cause analysis, and problem resolution.
Working knowledge of PL/SQL
Familiarity with domain-driven design, test-driven development, and contract-first web service development.
Familiarity with continuous build and integration environments (Hudson, Jenkins, Bamboo, etc.).
Knowledge of Unix/Linux environments and general networking concepts.
Outstanding oral and written communication skills, with deep understanding of different audiences and ability to tailor message and communicate effectively, succinctly, and tactfully at all levels.
Ability to develop or expand automation frameworks in response to changing requirements.
Ability to work and thrive in a fast-paced, integrated team environment.
Effective time management and strong work ethic.
Work Experience and Qualifications
7+ years of quality assurance and system/software validation experience working through all stages of the Software Development Life Cycle--to include requirements and design review; test plan development; estimation and scheduling; test design; test case and test script development; test data creation/acquisition; test automation; creation of requirements traceability matrix (RTM) from functional requirements document (FRD); test execution and defect reporting; test results reporting; and test/defect metrics tracking and reporting.
6+ years of experience in test automation development and maintenance, with at least 2 years of that experience establishing large-scale automation framework in a multi-tier, browser-based, web application environment.
3+ years of experience in descriptive programming.
3+ years of experience working in an agile development environment.
2+ years of experience with data-driven, service-level testing using SoapUI or similar tool.
Extensive experience with software automation tools, software design methodologies, automation frameworks, platforms, related systems and technologies.
Experience with REST and SOAP services and Service-Oriented Architecture (SOA).
Experience with N-tier Distributed Architectures.
Experience with BDD and TDD practices.
Experience in communicating with users, other technical teams, and senior management.
- Bachelor's Degree in Computer Science, Information Systems, Electrical Engineering, or related field; or 7 years' experience in relevant areas of Information Technology.
Physical Demands / Environmental Conditions
Normal day to day activities including using a computer keyboard, walking, bending, and reaching.
Must work on a computer for extended periods of time.
- Occasional (less than 10%) day and overnight travel required to other company sites, vendor sites, conferences, and professional development training.
Knowledge, Skills and Abilities
Proficient in Java programming.
Knowledge of version control software like Git (preferred) and Subversion.
Knowledge of build automation tools like Jenkins and Bamboo.
Familiarity with secure coding practices and the Open Web Application Security Project (OWASP) guidelines.
Strong presentation skills. Experience with training and presenting.
Strong leadership, organizational planning, and project management skills.
Proficient in Python, Ruby, or Perl programming.
Proficient in BASH scripting.
Knowledge of process analysis techniques and creating process flows.
Familiarity with Java Enterprise Edition (JEE) application containers including JBoss and Tomcat.
Work Experience and Qualifications
Experience implementing Continuous Integration and Delivery (CI/CD) toolchains.
Experience with application performance management, monitoring and tuning.
Experience with Payment Card Industry Data Security Standard (PCI-DSS) compliance.
Experience with Sarbanes Oxley (SOX) IT General Controls (ITGCs).
Master's Degree in Computer Science, Information Systems, Business Administration, Accounting, or Finance.
Advanced Quality Assurance certification.
Agile Development certification.
Project Management certification.
FUNCTIONAL GROUP Information Technology