Returning Candidate?

Principal Software Development Engineer in Test

Principal Software Development Engineer in Test

US-CA-San Francisco
Job ID 

More information about this job


The Principal Software Development Engineer in Test position is a hands-on lead role that will oversee the work of a small group of SDETs, automation and performance test engineers and will be responsible for all aspects of test automation and white box testing efforts. The role contributes to the success at Esurance by defining and driving the tools and automation driven testing landscape for our evolving platform and applications, as it relates to the delivery of our omni-channel customer experience applications.


  • Provide automation test and test tooling approach for assigned programs that focuses on various areas of testing including but not limited to Performance and Security Testing along with structured reports outlining project risk and assessment factors
  • Design, develop and oversee the maintenance of automation system and tools to be used by development and test engineers
  • Review source code for potential problems, help debug and triage issues and isolate fixes
  • Oversee and mentor the efforts from other SDETs assigned to various scrum teams to help build various testing tools, by working alongside other engineers and championing code quality principles
  • Participate in tool analysis, creates proof of concept models, and makes recommendations to support the tools selection process
  • in reviews (walkthroughs) of technical specifications and program code with other members of the engineering team, communicating design, requirements, feature set, functionality and limitations of systems/applications to team
  • Collaborate with other teams including Release Management, Project Management and Application support teams for successful delivery of new system features
  • Proactively involve with product managers right from inception through functional validation to launch, while always looking for potential quality issues/bugs and offer triaging and root cause analysis capabilities to the engineers
  • Work with various teams to promote QA processes, practices and standardization



  • Ability to write code in various programming languages like Java, Python, Javascript (or Frameworks like React.JS) to automate tests for the full solution stack (UI, App Layer, API, microservice, batch jobs, etc.)
  • Demonstrated experience in test automation development, using frameworks and tools like Jasmine, Jest, Mocha, Chai, Junit, TestNG, Appium, Cucumber, Postman including web UI automation tools like Selenium RC/WebDriver framework as well as REST/JSON APIs
  • Extensive knowledge of White Box Testing practices using tools like SonarQube
  • Extensive experience using test case management tools like QAComplete, TCM or TestRail
  • Experience in bug management tools like Bugzilla or JIRA and development environments like Visual Studio or Eclipse
  • Detailed knowledge of software engineering best practices for the full software development life cycle, including coding standards, code reviews, source control, build and release processes, continuous deployment, and test suite development and maintenance
  • Working knowledge of application software development lifecycle concepts and test environment and configuration management concepts in an Agile and occasionally in a traditional waterfall setting
  • Strong problem solving skills with analytical capabilities to be able to support theories/solutions using underlying data
  • A strong developer who is well disciplined in best software QA practices, with a breadth of knowledge up and down the technology stack and is always in tune with the latest development trends and proactively tries out new things
  • Prior Agile development experience, preferably in a CI/CT environment
  • to work in a group setting and collaborate by providing transparency in test results
  • Ability to critique work of self and others constructively
  • Strong written and verbal communication skills
  • Enthusiastic and energetic with an inherent curiosity to break code and stress test it! 

Experience / Education:

  • Master's degree in Computer Science (preferred) with minimum of 8 years of experience with test automation tools
  • Equivalent industry experience for 10+ years in delivering software test automation practices with various automation tools with different testing methodologies
  • Equivalent industry experience for 6+ years as a software engineer building and writing code for various ecommerce and online applications 

Need help finding the right job?

We can recommend jobs specifically for you! Click here to get started.