Principal Software Development Test Engineer

Job Location(s): US-Remote
Job ID:2019-2072
# of Openings: 1
Category: Quality Assurance

Reporting to the Technical Manager the Principal Software Development Test Engineer is responsible for providing technical leadership over the automated testing services we offer to our product development teams.

Essential Duties/Responsibilities:

  • Support multiple Agile teams as an advocate for quality and the customer experience
  • Possess and maintain broad, general knowledge of testing approaches, practices, and techniques and use that knowledge to help develop overall testing methodologies
  • Take responsibility for creating and maintaining documentation for quality assurance tools and services
  • Prepare training materials and provide mentorship and training to quality engineers and others in the company on quality assurance work and initiatives
  • Monitor and analyze the effectiveness of automated quality activities and present ideas for improvements
  • Design and develop automated testing infrastructure and identify and maintain related software quality tools and libraries
  • Maintain awareness of current quality assurance and process tools and technologies and coordinate improvement and adoption of tools with QA leadership
  • Own responsibility for building and maintaining QA environments and infrastructure
  • Acquire and maintain deep understanding of the design of Cofense software products and use that understanding to help quality engineers formulate test plans
  • Advise QA Management on setting policy and strategy around quality assurance processes and tools
  • Represent Quality Assurance as a department with other technical leaders
  • Assist less-senior engineers with identifying and prioritizing work
  • Create and maintain automated test cases and suites against web applications and services, using ruby and possibly Java and/or .NET, delegating to less senior SDETs as needed
  • As needed, assist teams with conducting quality assurance activities
  • As needed, assist with reviewing merge requests and other development work performed by development engineers
  • Communicate and demonstrate Cofense’s values and principles
  • Other duties as assigned

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.

Knowledge, Skills, and Abilities Required:

  • Proficient at written and verbal communication, with English fluency in both
  • Able to prepare test plans and estimates and track progress on quality efforts
  • Proficient with multiple automated and manual testing tools and techniques
  • Able, as needed, to execute, report on, create, and maintain manual test cases
  • 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
  • Willing to mentor other SDETs and QA engineers on development and test automation
  • View the developer/QA engineer relationship as collaborative, not adversarial
  • Familiar with testing using recent Windows and Apple operating systems
  • Familiar with testing web applications with popular web browsers (in particular, Internet Explorer, Chrome, and Firefox)
  • Familiar with using and maintaining local and remote virtual machines for testing
  • Familiar with both black box and white box testing
  • Familiar with browser and platform compatibility testing
  • Familiar with JavaScript testing issues
  • Familiar using SQL with MySQL and/or PostgreSQL
  • Familiar with command-line tools under Linux, OS X, and/or Windows
  • Familiar with (when relevant): Ruby: rvm, bundler, cucumber, rspec, FactoryGirl, and Selenium and Java: maven, cucumber, mockito/spock, and Seleniun and .NET: specflow, nspec, and Selenium
  • Familiar with using git for working with repositories, including branching and merging
  • Have familiarity with business processes and how software development and quality assurance fit into the larger company
  • At least somewhat familiar with load and performance testing and/or testing for and at scale
  • At least somewhat familiar with Jenkins, Docker, and/or BrowserStack (or similar products/services)
  • Familiar with using issue tracking tools, especially JIRA, to manage work and report defects
  • Familiar with working on products through their release in an Agile/Scrum

Education and/or Experience:

  • Bachelor’s degree preferred (or more), and/or one or more professional certifications related to quality assurance, software development, or project management
  • Possess ten (10) or more years of experience in automated software testing in at least two of these languages: Ruby, Javascript, Java, and .NET
  • Have worked on products through their release in an Agile environment
  • Have previously worked on geographically distributed/remote teams
  • Have experience with:
    • testing involving e-mail
    • security testing
    • configuring and maintaining continuous integration/continuous deployment environments
  • Have experience with customer service
  • Have contributed to the quality assurance/software engineering industry in some way: attended conferences, wrote papers, supported/have contributed to open source projects


  • Competitive salary
  • 401k plan with company match
  • Health, vision, dental, disability, and life insurance
  • Telecom bonus


  • United States, Remote