Software Developer in Test
Houghton Mifflin Harcourt
- Montreal, QC
- Permanent
- Full-time
- Notre priorité est la livraison de logiciels de haute qualité - vous ferez partie d'une équipe Agile impliquée dans la planification, le développement, le débogage et l'exécution de l'automatisation des tests.
- Cela signifie travailler avec nos développeurs, responsables de la livraison, équipes UI/UX/Architecture, pour fournir un logiciel de haute qualité dans un environnement de livraison continue (Nous avons la capacité de publier plusieurs fois par jour, selon l'application).
- Cela signifie mettre vos compétences en conception et en codage à bon escient - écrire un code d'automatisation des tests maintenable et de haute qualité (cela dépend de l'équipe ou de la technologie, mais cela pourrait être écrit en TypeScript/JS ou en Java, par exemple).
- Cela signifie également utiliser et améliorer vos compétences en automatisation en étendant les frameworks de test automatisé de notre équipe. Vous veillerez à ce que nous disposions d'une couverture de test adéquate, d'une fiabilité, d'une vitesse d'exécution et d'une création de données de test dans un environnement de livraison continue (pipelines de construction Jenkins/Concourse CI).
- Nous voulons entendre vos idées et vous soutenir dans leur mise en œuvre - cela signifie promouvoir l'agenda qualité dans votre équipe - être un défenseur de la qualité dans votre équipe, encadrer les membres de l'équipe, chercher toujours des moyens d'améliorer les outils et les processus.
- C'est également l'occasion de participer à tous les aspects du processus de livraison, y compris le pipeline de construction/DevOps - nous avons notre propre plateforme interne d'activation DevOps qui permet aux équipes de contrôler leurs pipelines de construction et leurs déploiements.
- Diplôme de baccalauréat en informatique OU expérience professionnelle équivalente.
- Au moins 2 ans d'expérience solide dans la conception de tests, la mise à jour de tests et le développement de suites de test automatisées à partir de zéro en utilisant les meilleures pratiques de qualité avec des outils et frameworks de test modernes.
- Solide expérience en programmation (3 ans ou plus) avec un langage tel que Java, TypeScript/JavaScript, C# dotnet, Python ou similaire.
- À l'aise avec les outils de test GUI ainsi qu'avec l'utilisation du CLI et des langages de script comme bash, PowerShell ou Python.
- Au moins 1 an d'expérience dans la rédaction de tickets de défaut pour documenter les problèmes trouvés, et la re-vérification et la clôture des tickets de défaut lorsque les problèmes sont résolus.
- Au moins 1 an d'expérience de travail dans un environnement Agile au sein d'une équipe de développement.
- Au moins 1 an d'expérience avec l'utilisation d'outils de contrôle de source basés sur git.
- Une bonne compréhension des concepts d'Intégration Continue et de Livraison Continue.
- Une bonne compréhension de l'architecture de base d'une application web moderne (microservices/SOA, etc.).
- Expérience dans le développement d'une stratégie de test ou d'une approche de test.
- Expérience avec Jira ou des outils similaires de suivi des problèmes, des tâches et des projets.
- Expérience avec l'utilisation des pipelines CI/CD en utilisant un fournisseur CI tel que CircleCI / Concourse / Github Actions / Jenkins / AWS CodePipline, ou similaire.
- Expérience avec les tests de contrat en utilisant un framework tel que PACT.
- RUM, APM et Analyse de Log avec Datadog ou similaire.
- Capacité à aider à suggérer des conceptions pour les tests de performance et les tests d'API.
- Excellentes compétences en communication et en travail d'équipe lorsque vous travaillez avec votre équipe.
- Our focus is on high-quality software delivery – you will be part of an Agile team involved in planning, developing, debugging and executing test automation.
- This means working with our developers, delivery leads, UI/UX/Architecture teams, to deliver high-quality software in a continuous delivery environment (We have the ability to release several times a day, depending on the application).
- It means putting your design and coding skills to great use - writing high-quality maintainable test automation code (It depends on the team or technology but, it could be written in TypeScript/JS or java for example).
- It also means using and enhancing your automation skills by extending our team's automated testing frameworks. You'll be making sure we have adequate test coverage, reliability, speed of execution and test data creation in a Continuous Delivery environment (Jenkins/Concourse CI build pipelines).
- We also want to hear your ideas and support you implementing them - this means driving the quality agenda in your team – being an advocate of quality in your team, mentoring teammates, always looking for ways to improve tools and process.
- This is also an opportunity to be involved in all aspects of the delivery process, including build pipeline/DevOps – we have our own internal DevOps enablement platform that allows teams to control their build pipelines and deployments.
- Bachelor’s degree in computer science OR equivalent work experience
- A minimum of 2 years solid experience in designing tests, updating tests, and developing test automation suites from scratch using quality best practices using modern testing tools and frameworks
- Solid programming experience (3 years or more) with a language such as Java, Typescript/JavaScript, C# dotnet, Python or similar
- Comfort working with both GUI testing tools and working from the CLI and using scripting languages like bash, PowerShell or Python
- At least 1 year of experience writing defect tickets to document found issues, and re-verifying and closing the defect tickets when the issues are resolved
- At least 1 year of experience working in an agile environment within a development team
- At least 1 year of experience with using git-based source control tools
- A good understanding of Continuous Integration and Continuous Delivery concepts
- A good understanding of the basic architecture of a modern web application (microservices/SOA etc.)
- Experience with developing a test strategy or test approach
- Experience with Jira or similar issue, task and project tracking tools
- Experience with using CI/CD pipelines using a CI provider such as CircleCI / Concourse / Github Actions / Jenkins / AWS CodePipline, or similar
- Experience with contract testing using a framework such as PACT
- RUM, APM and Log Analysis using Datadog or similar
- Ability to assist with suggesting designs for performance testing and API testing
- Great communication and teamworking skills when working with your team