Developer in Test Automation2021-11-02T06:59:52-04:00

Developer in Test Automation – Toronto ON

daVinci is uniquely positioned to deliver best-in-class advanced planning software to the retail industry. Today, and throughout our history, daVinci’s innovative software helps fashion retailers advance digital transformation, grow revenue, increase profits, and operate more efficiently through intelligent assortment planning. With customer satisfaction as our top priority, our dynamic and collaborative environment draws upon all our people’s full knowledge capital to provide the best solutions possible.

We are looking for a hands-on Developer in Test Automation with strong test automation expertise combined with exceptional communication skills to shape the software quality of our new platforms. Based out of our downtown Toronto office (currently working remotely) you will be responsible for software test infrastructure, automations, executions, planning, coordination, and documentation.

daVinci produces enterprise-level software for multi-national retailers. Our software is configured for each customer, so there are multiple versions in production. The software has several calculation engines that involve reflective code loading based on database contents, so that the customers can configure their business calculations without modifying the code. This is a technologically sophisticated environment that will be both challenging and rewarding for the right candidate.

What will you do?

Coordinate quality assurance efforts for the front-end team, the back-end team, the DevOps team, and the business teams. This role will require strong teamwork and communication skills.

Identify appropriate testing strategies according to the business scenario.

Containerize the production, development, and test environments. (e.g., Docker or similar).

Automate test harnesses with technologies such as Junit, TestNG, Jest, Cucumber, Selenium, etc.

Automate Continuous Integration (CI) pipelines. You will develop automated continuous integration pipelines for both the front-end and back-end. These will include quality assurance tools such as ESLint, SonarQube, and more. Pipeline tools might include Jenkins, Travis, CircleCI, GitHub Actions, or similar.

Automate database state manipulation for testing. The state of the database is a crucial input to the software. You will develop automation to:

  • capture, store, and load database states;
  • manage a library of saved database states, indexed by customer and other features;
  • mirror databases;
  • programmatically create variants of saved database states;
  • run code tests with each database state/variant.

Automate checks for database invariants.

  • You will work with developers to build a set of SQL queries to check that the data in the database is well-formed. For example, there are several recursive tree structures saved in the database.
  • You will work with the business team to build a set of SQL queries to check domain-specific business rules.

Automate performance profiling measurements.

Automate load/stress/chaos testing.

Automate test coverage measurements and other metrics.

Automate checking of architectural rules using Lattix, JArchitect, CheckStyle, or similar.

Mock objects and stub microservices using tools such as Mockito or similar.

Deploy advanced test automation tools such as Daikon, Randoop, Akita, or similar.

Be part of the response team for customer priority issues. Work with developers and business analysts to respond to customer priority issues in a timely manner.

Improve the development and release processes, in collaboration with the developers and DevOps team.

Must Haves:

  • Undergrad degree from a quantitative discipline or equivalent experience
  • 2+ years’ experience as software DevOps/development/automation/QA
  • Working understanding of concurrency concepts
  • Experience with Java and/or Javascript
  • Experience with SQL
  • Experience with containerization (e.g., Docker or similar)
  • Experience with test automation tools (e.g., Junit, Mockito, TestNG, Cucumber, Selenium)
  • Experience with CI pipeline tools (e.g., Jenkins, Travis, CircleCI, or similar)
  • Experience with build tools (e.g., Gradle or similar)

Nice To Haves:

  • Experience with PostgreSQL, Oracle, H2, or similar
  • Experience with Hibernate
  • Experience with Spring Boot or Spring Cloud
  • Experience with Redis
  • Experience with IntelliJ
  • Experience with SonarQube, ESLint, or similar
  • Experience with DSMs (e.g., Lattix, JArchitect, or similar)
  • Experience with test coverage measurement tools
  • Experience with performance profiling tools
  • Experience with load/stress/chaos testing tools
  • Experience with AWS

Here’s Why You’ll Love Working Here

  • Currently working in a remote environment
  • Ability to make an immediate and lasting impact
  • Work with a talented team of innovative and creative players
  • Valuing growth and development, we embrace accountability, transparency, and continuous learning
  • We have flexible hours and no dress code
  • Annual celebrations and milestone outings
  • Career mentoring and skills training
  • Work in a safe, secure, and positive collaborative work environment
  • Competitive benefits package including a comprehensive medical, dental, and vision plan

At daVinci we understand and value diversity in our employees and are proud to be an Equal Opportunity Employer.

Thank you for your interest in daVinci. We advise that only those who qualify for an interview will be contacted.

Please email your resume and salary expectations to recruitment@davinciretail.com and attach any other relevant information.

Other Opportunities

Go to Top