David Ward

Senior SDET looking for next adventure

Address: Portland, OR
Website: https://davidward.dev/
Email:

Passionate Software Quality Assurance and development professional with over 9 years of experience testing in an AGILE environment for mobile and web applications (manually and via automation), both frontend and backend. Specializing in identifying critical bugs and mitigating them before product launch, aiding in the creation and hardening of CI pipelines for more reliable results, creating processes around quality where none existed to reduce chaos, adept at mentorship and fostering growth within the team, and proactively writing code to automate tests in various languages (Javascript, Typescript, Elixir, C#, Java, Python, and more) to help ensure product quality is at its finest. 

Skills & Technologies

  • Languages: Javascript, Typescript, Node.js, Elixir, Ruby, Python, C#, Gherkin
  • Frameworks: Cypress, Playwright, Puppeteer, Selenium, Protractor, Webdriver.io, Appium, Nightwatch, Angular, React, Astro, Express, Hapi, Cucumber, Phoenix, RSpec, Capybara, Pytest
  • Tools: Postman, TestRail, Chrome Dev Tools, Insomnia, Xray, Docker, Jira, Jmeter, Artillery.io, Charles Proxy, Jenkins, Circle CI, Teamcity, AWS, Git
  • Tested: Backend services and APIs, web applications, React.js, mobile applications (iOS and Android)
  • Databases: MySQL, Postgres, Redis

Experience

ServiceTitan

Senior Software Development Engineer in Test (SDET)

July 2023 to April 2024
  • Spearheaded the development of comprehensive end-to-end (e2e) tests for a prominent enterprise React project using Cypress with Typescript, significantly bolstering the test coverage and ensuring the continued robustness of the client-facing software.
  • Demonstrated expertise in Git code reviews by meticulously evaluating both Cypress automation code and the underlying codebase, actually running the code in our local Docker environment, offering invaluable insights from a quality engineering perspective to enhance overall software quality.
  • Proactively monitored and resolved automation code failures, meticulously triaging issues to minimize false negatives and false positives, thereby safeguarding against potential disruptions to customer experience, for both React frontend and C# (and sometimes node.js) backends.
  • Actively contributed to Agile ceremonies, including grooming sessions, playing a pivotal role in preemptively identifying and addressing potential bugs before the development phase, thereby optimizing software development lifecycle efficiency.

Technologies used:

Typescript, React.js, Cypress, C#, node.js, Docker, Git, TeamCity

Promenade.co

Senior Software Development Engineer in Test (SDET)

April 2022 to September 2022
  • Developed and architected a new e2e testing framework with Webdriver.io in Javascript to test a large Magento PHP application with endless amounts of configuration.
  • Reported on the results of the e2e testing framework using Allure which simplified e2e result triaging which resulted in faster development feedback loops
  • Covered the e2e testing framework with unit tests with Mocha/Chai to ensure the custom configuration and data generation testing tools worked as expected, to reduce false positives/negatives
  • Modified Python scripts to help with deployment tasks
  • Reviewed feature code (in Typescript for React and PHP) to look for issues, as well as suggested and implemented changes to champion for quality across the organization
  • Mentored test engineers new to test automation to help them get up to speed and further their career, and additionally talked with non-test engineers about best practices to help reduce churn and risk.

Technologies used:

Javascript, Webdriver.io, Cypress, React, Magento, PHP, Docker, Git, Gitlab

Blitz.gg (as Independent Contractor)

Senior Software Development Engineer in Test (SDET)

August 2021 to February 2022
  • Identified and reported on gaps in manual and automated test coverage to scope out a new plan for improving testing processes
  • Wrote SQL queries to debug issues happening in Postgres databases
  • Worked closely with team creating node.js internal tooling
  • Created and architected a new automated end end-to-end testing project from scratch using Playwright and Typescript which tests an Electron application pointed to a local backend and React frontend to exercise various test scenarios.
  • Implemented CICD in Gcloud for having e2e tests run on a schedule and triggered on pull requests to repositories
  • Mentored both test engineers and non-testing department employees on proper testing techniques, reporting, documentation, and automation priorities.

Technologies used:

Javascript, Elixir, React, node.js, Playwright, Electron, Postgres, Git, Gcloud, Docker, Kubernetes

Driveway.com (Lithia Motors)

Senior Quality Engineer

April 2021 to August 2021
  • Introduce and curate quality processes on one of many cross functional teams, which were later adopted by other teams
  • Consult and construct new automated testing processes to help ensure search relevancy is accurate and performant
  • Recommending new automated test tooling such as PITest for mutation testing and Cypress automation for UI testing in React application to be added and supported in CI/CD pipeline to speed up the development feedback loop.
  • Implemented CICD in Azure for having Cypress e2e tests run on a schedule and triggered on pull requests opening on repositories
  • Used Python to help replace some older Shell scripts in the deployment pipeline related to e2e testing

Technologies used:

Javascript, Typescript, Cypress, React, Java, Git, Azure Devops, Cosmos, Mongo, Docker, Kubernetes,

Zapproved

Mid-Level QA Automation Engineer

April 2020 to November 2020
  • Expanding Protractor automation suite using Typescript for a new React.js and node.js software project to reduce the number of regressions and notify when test failures occur via CICD in AWS
  • Championing containerization and virtualization of all automation projects to easily scale and setup testing environments using Docker
  • Created software to automate the experience of coordinating and organizing company wide testing sessions to allow for simple engagement with the legacy software within our own company via Google products
  • Coordinated with other engineering teams to ensure proper test coverage for all (React, node, C#) releases were planned and accounted for, with proper test artifacts created
  • Directly involved in the creation and prioritization of planning automation projects to ensure all tickets were created and no gaps were allowed, and to focus the team's involvement in a timely manner

Technologies used:

Javascript, node.js, Typescript, React, C#, Git, AWS, MySQL, Postgres, Redis, Protractor, Docker, Teamcity

moovel Group

Software Quality Engineer

Sep 2015 to Feb 2020
  • Actively participated in the creation of quality processes in a company transforming from a startup to a business backed by a large multinational corporation.
  • Worked on a high visibility and impact team around payments/data/reporting and successfully ensured zero issues were shipped to production.
  • Introduced the idea of mobile e2e testing at the organization with a demo Appium project in Python, which helped to show the value of automated testing and future e2e projects were based on its success.
  • Created automated API tests for a node.js backend using a custom built Javascript project to help shift manual testing focuses towards more exploratory testing of products and to lower our risk of regressions with a better feedback loop in Docker environment and live.
  • Assisted in creating the Gherkin/Cucumber step definitions to guide mobile automation in its infancy.
  • Mentored colleagues in our testing department to help push their testing careers forward as well as improve the quality of our software across multiple teams in the organization.

Technologies used:

Git, AWS, MySQL, Postgres, Redis, Javascript, node.js, Typescript, Cypress, Protractor, Cucumber, Appium, Docker

Self Employed

Freelance Developer

Sep 2010 to Sep 2013

Helped in the creation and maintenance of multiple eCommerce websites, developed and supported Java software to ensure website stability and ease of use, managed temporary sales advertising, delivered orders to customers on a daily basis in a helpful and professional manner, and conducted multiple live chat systems.

Technologies used:

Java, Git, Wordpress, Woocommerce

Education

Sam Barlow High School

High School

2006 to 2010

Recommendations

Contact information available upon request. Additional recommendations may be found on Linkedin.

Chris Kenst

Automation Engineer & Manager | President of Association for Software Testing | Speaker | Writer

September 15, 2022

From the first time I interviewed David I had the feeling he understood both software testing and software development, which frankly is rare.

I hired him on my newly formed SDET team which had the goal to grow our platform UI test automation coverage. He brought insight, passion and care to the work we did. He instituted unit tests for our custom code which resulted in higher unit test coverage than probably any of our other applications.

David was a pleasure to work with and I’d love to work with him again in the future.

JT Turner

Lead Software Engineer

January 30, 2020

David was amazing to work with. I sometimes would miss things but David would always think through the changes we were making including reading the code. Once he understood it, he would found things we would have missed. Even better is he was great at writing code and doing engineering himself including writing automated tests. He was always very open to jumping on new problems and to pitch in where ever he could. I hope I get the chance to work with him again!

Kim Eklund

Mobile QA Engineer

January 31, 2020

I had the pleasure of working alongside David as QA Engineers at moovel. I had utmost confidence in his abilities as not only an Automation Engineer, but also as an engineering team member who had a sharp eye for process bottlenecks with the creativity and know-how on how to solve them. He could easily identify what could and could not be automated, factoring in the level of effort and reward. On top of his expert knowledge, he was always very approachable and patient with my questions, and was always volunteering himself to help out on projects - not when asked, but when he saw that he could help. He's self-driven, ambitious, knowledgable, dependable, and I'm lucky to have him as a mentor.

Links