Reporting to the Director, Quality Engineering, the Software Development Engineer in Test 3 will be responsible for providing automated testing services in support of our development efforts.
Essential Duties/Responsibilities
- Support Agile teams for a product line as an advocate for quality and the customer experience
- Own automated test coverage for a particular product
- Assist QA leadership with establishing and enforcing department policies and procedures
- Assist less senior team members with learning/complying with policies
- Create and maintain automated test cases and suites against web applications/services using Ruby and/or other technologies
- Implement test automation for test cases as identified by manual and automated test engineers
- Spend up to 30% of your time assisting with manual testing activities as needed
- Work with manual test engineers to identify test cases to automate and prioritize the automation work backlog
- Monitor and maintain automated tests running through the CI/CD pipeline
- Provision and maintain virtual machines for testing
- Lead efforts to build and improve QA tools and infrastructure
- Mentor and review the work of less senior SDETs
- Review merge requests
- Act as a subject matter expert for test automation and possibly some development tools/principles
- Other duties as assigned
Knowledge, Skills and Abilities Required
- Willing to learn new development languages, tools, and techniques
- Proficient at written and verbal communication, with English fluency in both
- Able to take the lead on technical implementation of assigned features and take ownership through delivery
- Able, as needed, to execute, report on, create, and maintain manual test cases and test plans
- Familiar with testing web applications with popular web browsers (IE, Chrome, and Firefox)
- Familiar with using and maintaining local and remote virtual machines (AWS, Azure, vSphere, BrowserStack) for testing
- Familiar with command-line tools under Linux or OS X
- Familiar with automating with Ruby and Watir: rbenv, bundler, Cucumber, RSpec and/or Selenium
- Familiar with using Git for working with repositories, including branching and merging
- Have experience working with CI/CD pipelines and tools such as Jenkins, Docker, and GitLab
- Familiar with AWS and Azure cloud architecture and spinning up environments
- Familiar with working with databases such as Postgres
- Familiar with Microsoft Exchange Server, Graph API, and GSuite
- Familiar with working on products through their release in an Agile/Scrum environment
- Familiar with QA and Agile tools such as Jira, Confluence,and TestRail
- Have experience with performance and load testing
- Able to deal with features with poor, outdated, or no design documentation
- Able to work, with minimal supervision, on a distributed team, escalating issues as necessary
- Regularly updates work items with applicable comments and statuses as prescribed by the engineering process without prompting
- Willing to mentor other QA engineers, and developers on test automation
- Understand the risks and opportunities offered by automated testing
- Strong understanding of QA best practices in SDLC
- Strong understanding of software security and secure coding practices
- Have previously worked on geographically distributed/remote teams
- Will deal with ambiguity and change
- Is detailed orientated and methodical in approach
- View the developer/QA engineer relationship as collaborative, not adversarial
- Like to work with people, not just computers
- Are comfortable coloring outside the lines of your role (and comfortable with your teammates doing the same)
- Are interested in and stay on top of industry trends
Education and/or Experience:
- Bachelor’s degree is preferred
- 4 or more years of relevant professional work experience writing automated tests in Ruby and additional experience with manual testing. Internships or professional jobs held as a student count towards this experience.
- Disclaimer-
The above statements are neither intended to be an all-inclusive list of the duties and responsibilities of the job described, nor are they intended to be a listing of all of the skills and abilities required to do the job. Rather, they are intended only to describe the general nature of the job. This job description is not a contract of employment, either express or implied. Employment with Cofense will be voluntarily entered into and your employment is considered at will. Cofense reserves the right to alter the job description at any time without notice.
Cofense is committed to equal employment opportunity. We will not discriminate against employees or applicants for employment on any legally recognized basis [protected class] including, but not limited to: veteran status, uniform service member status, race, color, religion, sex (including pregnancy), gender identity, sexual orientation, national origin, age, physical or mental disability, marital status, genetic information or any other status or characteristic protected by applicable national, federal, state or local laws and ordinances. We adhere to these commitments in all aspects of employment, including recruitment, hiring, training, compensation, promotion, benefits, and discipline.