Software Development Engineer in Test (SDET)
Summary
The Software Development Engineer in Test (SDET) is responsible for gaining a thorough understanding of the new system to be tested. This individual must learn both the technical side of the system as well as understand what the business user expects. The SDET will create automated test scripts, use cases, test cases, test plans, create test data and based on pre-defined acceptance criterion. During daily scrum meetings and collaborations meetings the SDET will collaborate and communicate around the above artifacts with team members, other technical teams and users, to ensure accuracy and transparency prior to test execution. The SDET will document test results and report status on the systems stability. The SDET should be able to work with the Lead and manager to diagnose and absorb new projects, and evaluate the designed system, the requirements and other key approaches to develop a comprehensive test approach.
Primary Duties and Responsibilities:
- Build and maintain software test automation frameworks, data factories and internal tools
- Collaborate with the quality engineering team to adopt test automation best practices
- Contribute to our long term vision and strategy for improved quality via automation
- Works in an Agile team throughout the Lifecycle to collaborate on the analysis, design, development & testing
- Drive software quality using GIT, peer reviews and pair programming
- Actively participate in Sprint planning sessions to create stories with robust acceptance criteria while helping identify missing or incomplete requirements
- Navigate through ambiguity, prioritize conflicting asks based on risks and have the ability to adapt to a fluid environment
- Actively participate in design/technical reviews to identify missing, incomplete or inaccurate design assumptions or design choices
- Maintain and Execute automated scripts for regression, integration, and functional testing on newly designed or modified applications/systems
- Thoroughly analyze tests and documents software quality to ensure proper implementation
- Clearly articulate verbally and in writing the specifics around defects
- Independently follow up with design/development resources regarding defects
- Follow agreed upon implementation of agile philosophies to ensure that all information system products and services meet: both explicit and implicit quality standards, end-user functional requirements, architectural standards, performance requirements, audit requirements, security rules are upheld, and external facing reporting is properly represented
- Performs application and project risk analysis and recommend quality improvements
- Mentor and coach team members and new team members
- Champions test automation and testing best practice
Qualifications:
- Strong design and development skills in two or more of the following technologies and tools: Java/J-unit, R-Scripting, Cucumber, JBehave or other BDD testing frameworks
- At least 3 years of test automation framework design and development experience
- At least 2 years of prior development experience is desirable in modern programming languages like C++, Java or Python (preferably Java)
- Experience with automating unit tests, or testing web services would be more relevant than UI based test automation experience
- Strong working knowledge of SQL
- Experience working on CI tools like Jenkins
- Broad based knowledge of the lifecycle development, change control management, test planning management
- Deep analytical skills with ability to display methods of testing highly sophisticated systems, progressively diagnose systems defects, and clearly communicate to project constituents, key findings and learnings.
- Strong communication skills, written and oral, analytical abilities, sound judgment and time management skills, and the ability to work effectively with clients (users), management and staff.
- Highly motivated self-starter with creative problem solving skills.
Technical Skills:
- Automated Testing framework experience (Cucumber, Selenium, Mocha/Chai, TestNG)
- Programming Languages (Java, J-units coding required)
- Automated RESTFUL Web services testing
- Database experience (i.e. Informix, Sybase, SQL Server, Oracle and DB2).
- Perl and Unix shell scripting a plus
Education and/or Experience:
- Minimum of 3-5+ years of overall experience in the software industry
- 3 years’ experience as a Automation Engineer or SDET
- Bachelor’s degree in Computer Science or a related discipline, OR an equivalent combination of education and work experience.
- Financial Industry experience in trading and Risk management preferred
Certificates or Licenses:
- Any QA certifications are a plus.
- Agile certifications a plus