QA Engineer

Job description

Codat is a venture-funded technology company founded in January 2017, with the aim of making up-to-date data on SMEs available to third parties. We are currently a team of twenty, working out of our comfortable offices in Clerkenwell in Central London, and our business is growing rapidly. We are passionate about our mission, and our software engineering team is central to our success in achieving this. As our team is still relatively small, we place high importance on attitude and future potential.


As Codat’s core product is a SaaS platform, accessed via our API, the quality of our technology is of critical importance. Our microservices architecture is built in C#.NET, and is hosted on Microsoft Azure. We leverage Azure Service Bus, SQL Server and Blob storage to ingest and process large amounts of data reliably and efficiently. We use NUnit and Machine.Specifications to unit test our backend code. Our front-end is built in Angular, with end-to-end tests written in Protractor. We practice DevOps as a culture within our engineering teams, with engineers expected to take responsibility for writing automated tests and deploying code. We would expect any QA engineer to be an integrated part of the engineering team, and to have input at every stage of the software design, implementation and deployment process.


As the first full-time QA at Codat, the successful candidate will have the opportunity to take a leading role in shaping Codat’s long-term product testing and quality control strategy. In the long term this will lead to defining load test strategies, doing exploratory testing to improve overall quality and monitoring system performance.


Experience

Senior

Requirements

Key responsibilities

  • Work with Codat’s agile engineering teams to ensure that all code being shipped is well tested and has adequate monitoring facilities
  • Identify User Acceptance Tests for each new piece of functionality being developed, and work with the engineering and product management teams to ensure these tests are passing before work is released
  • Review user stories and technical design documents to provide feedback on test strategies
  • Take ownership of automated testing mechanisms, and ensure robustness and reliability of tests
  • Perform manual testing of functionality where necessary, and identify opportunities for implementing additional automation testing
  • Perform thorough regression testing when bugs are resolved
  • Monitor QA metrics, develop plans for improvement and communicate progress to wider team

Must have

  • Proven numerical ability
  • Experience testing REST APIs, using tools such as Postman and Swagger UI
  • A working understanding of C#, Java or similar
  • Experience writing clear, concise and comprehensive test plans and test cases
  • Hands-on experience with both white box and black box testing
  • Hands-on experience with automated testing tools such as NUnit, Selenium, Protractor etc
  • Practical experience working with an Agile product and engineering team

Nice to have

  • Proven understanding of financial data, particularly accounting data
  • Experience building and managing an automation testing strategy from scratch
  • Solid knowledge of SQL and scripting
  • Familiarity with DevOps toolset (CI, CD, VSTS etc)
  • Experience working in a startup environment