Idaho Health Insurance Exchange
BusRight
Ingénieur Assurance Qualité Senior
Pourquoi ce rôle est important
Chez BusRight, nous transformons une industrie qui s'appuie sur des systèmes obsolètes depuis trop longtemps. Le transport scolaire est un élément essentiel de la vie quotidienne de millions d'élèves et de familles, pourtant une grande partie de l'industrie dépend encore de processus fragmentés et manuels.
Nous construisons une plateforme de transport moderne qui rend les bus scolaires plus sûrs, plus intelligents et plus efficaces pour les élèves, les familles, les écoles et les communautés à travers le pays.
Notre écosystème de produits couvre le web, le mobile, le backend, la cartographie, les systèmes en temps réel et les intégrations. En tant qu'Ingénieur Assurance Qualité Senior, vous jouerez un rôle de premier plan pour garantir la fiabilité, la performance et la qualité globale de cet écosystème.
Ce rôle va au-delà de l'exécution de cas de test. Vous aiderez à définir notre approche de la qualité, à identifier les risques avant qu'ils ne deviennent des problèmes clients, à enquêter sur des problèmes complexes en production, à améliorer l'automatisation et les outils, et à influencer les pratiques d'ingénierie au sein des équipes.
- Vous rejoindrez une fonction QA établie et aiderez à la faire passer au niveau supérieur.
- Nous recherchons une personne capable d'opérer de manière autonome, de prendre des décisions éclairées en matière de qualité et de risques, et d'agir en tant que partenaire technique de confiance pour les équipes d'ingénierie et de produit.
- Vous travaillerez sur l'ensemble du cycle de vie du développement, des exigences et de la conception technique à l'implémentation, la publication, la surveillance en production et l'investigation des incidents.
- On attendra de vous que vous remettiez en question les hypothèses, que vous découvriez des cas limites difficiles, que vous identifiiez des risques systémiques pour la qualité et que vous amélioriez la manière dont nous testons et livrons des logiciels.
- Il s'agit d'un rôle senior pratique. Vous testerez toujours les produits directement, mais vous contribuerez également à définir la stratégie de test, l'automatisation, les outils, les processus et les normes de qualité à l'échelle de l'organisation.
Ce qui rend quelqu'un performant dans ce rôle
- Vous pensez naturellement en termes de risques, de modes de défaillance et d'impact client, pas seulement de comportement attendu.
- Vous êtes à l'aise pour enquêter sur des problèmes à travers plusieurs couches d'un système.
- Vous pouvez travailler de manière autonome lorsque les exigences sont incomplètes ou que le problème est mal compris.
- Vous savez quand une enquête plus approfondie est nécessaire et quand des tests supplémentaires apportent des rendements décroissants.
- Vous communiquez clairement les préoccupations relatives à la qualité sans devenir un goulot d'étranglement pour la livraison.
- Vous êtes à l'aise pour remettre en question les hypothèses et plaider en faveur d'améliorations techniques.
- Vous cherchez des opportunités pour éliminer les problèmes récurrents plutôt que de les tester de manière répétée.
- Vous aimez construire des outils et des processus qui rendent les équipes d'ingénierie plus efficaces.
- Vous équilibrez l'attention aux détails avec une prise de décision pragmatique.
Ce que vous ferez
Assurer la qualité sur des domaines de produits complexes
- Prendre en charge la qualité de fonctionnalités et de domaines de produits complexes sur les applications Web, Android et Flutter.
- Définir des stratégies de test appropriées en fonction de la complexité technique, de l'impact client, des risques et de l'architecture du système.
- Effectuer des tests exploratoires, d'intégration, de régression et de bout en bout sur des systèmes interconnectés.
- Identifier les cas limites, les modes de défaillance et les risques qui ne sont pas immédiatement évidents à partir des exigences du produit.
- Aider les équipes à déterminer la confiance appropriée pour la publication et à identifier les lacunes avant que les changements n'atteignent la production.
Enquêter sur des problèmes complexes
- Mener l'enquête sur des bugs difficiles et des problèmes de production sur les applications frontend, mobiles, backend, l'infrastructure et les intégrations tierces.
- Analyser les journaux d'application, le trafic réseau, les requêtes API, les données de base de données, les signaux de surveillance et le code source pour isoler les causes profondes.
- Reproduire les problèmes complexes ou intermittents et fournir aux ingénieurs des conclusions techniques claires.
- Distinguer les symptômes des causes sous-jacentes et identifier des schémas entre des incidents apparemment sans rapport.
- Créer des scripts, des utilitaires ou des outils de débogage lorsqu'ils peuvent accélérer l'enquête ou améliorer le dépannage futur.
Piloter l'automatisation des tests et la qualité d'ingénierie
- Concevoir, construire et maintenir l'automatisation E2E et d'intégration à l'aide d'outils tels que Playwright/Maestro/Appium.
- Identifier où l'automatisation apporte une valeur significative et où les tests manuels ou exploratoires sont plus appropriés.
- Améliorer l'architecture d'automatisation, la fiabilité, la maintenabilité et la vitesse d'exécution.
- Travailler avec les ingénieurs pour améliorer la testabilité au niveau de l'application et du système.
- Améliorer les vérifications de qualité automatisées sur les flux de travail CI/CD.
Influencer les décisions d'ingénierie et de produit
- Collaborer avec les ingénieurs et les chefs de produit pendant la planification et la conception technique pour identifier les risques tôt.
- Remettre en question les exigences peu claires, les hypothèses et les décisions d'implémentation lorsqu'elles introduisent un risque de qualité inutile.
- Communiquer clairement les compromis et aider les équipes à prendre des décisions de publication éclairées.
- Représenter la perspective du client et de l'exploitation lors des discussions techniques.
- Collaborer étroitement avec le support et d'autres équipes en contact avec les clients lors de l'investigation des problèmes signalés.
Améliorer les processus QA et la culture de la qualité
- Identifier les faiblesses dans les processus QA existants et proposer des améliorations pratiques.
- Améliorer la documentation des tests, le rapport de défauts, la validation des versions, l'analyse des incidents et les métriques de qualité.
- Contribuer à établir des pratiques de test évolutives à mesure que l'organisation produit et ingénierie grandit.
- Partager les connaissances, fournir des conseils techniques et aider les ingénieurs QA moins expérimentés à développer des compétences de test et de débogage plus solides.
- Promouvoir l'idée que la qualité est une responsabilité partagée de l'ingénierie plutôt que quelque chose qui appartient uniquement à l'assurance qualité.
Qui nous recherchons
Qualifications de base
- + de 5 ans d'expérience en Assurance Qualité, Ingénierie Logicielle pour les Tests, ou un autre rôle technique solide en qualité logicielle.
- Expérience significative dans le test d'applications web et mobiles complexes impliquant plusieurs services interconnectés.
- Compétences avancées en tests exploratoires et en analyse des risques.
- Solide expérience dans l'investigation des problèmes de production à l'aide de journaux, de APIs, de bases de données, d'outils de surveillance et d'autres signaux techniques.
- Expérience pratique avec les frameworks et méthodologies de test automatisés.
- Solides compétences en programmation et en débogage : vous devriez être à l'aise pour lire, comprendre et naviguer dans des bases de code de production.
- Capacité à écrire des scripts d'automatisation, des utilitaires de débogage, des scripts, des outils d'analyse de données ou d'autres outils de support d'ingénierie si nécessaire.
- Solide compréhension des APIs, des systèmes distribués, de l'architecture client-serveur et des flux de données entre les services.
- Solide compréhension du cycle de vie complet des tests logiciels (STLC), de l'analyse des exigences et de la conception des tests à l'exécution, à la validation des versions et à la surveillance en production.
- Expérience de travail avec des systèmes de suivi des défauts et des pratiques de gestion des tests.
- Compréhension des considérations de sécurité et de confidentialité des logiciels, y compris l'authentification, l'autorisation, la gestion des données, le contrôle d'accès et les risques OWASP courants.
- Excellentes compétences en communication écrite et verbale, y compris la capacité d'expliquer clairement des problèmes techniques complexes aux parties prenantes techniques et non techniques.
Contexte technique
L'expérience avec certaines des technologies suivantes est utile, mais une expertise dans toutes les technologies listées n'est pas requise. Nous valorisons les fondamentaux solides et la capacité à comprendre rapidement les systèmes inconnus.
- Web : React, TypeScript
- APIs & Backend : REST APIs, Node.js, PostgreSQL, Firebase
- Mobile : Android, Flutter
- Automatisation : Playwright, Maestro, Appium
- Observabilité & Débogage : Datadog, Sentry, Plateforme Google Cloud, Proxyman
- Données & Infrastructure : PostgreSQL, Redis, Firebase Firestore, Plateforme Google Cloud
- Outils API : Postman ou outils similaires
- Sécurité : OWASP, concepts d'authentification/autorisation, pratiques de confidentialité et de gestion des données
- Livraison : Pipelines CI/CD, pratiques de développement logiciel Agile
- Cartographie / Localisation : GPS, systèmes géospatiaux, SDKs de cartographie, routage ou autres technologies basées sur la localisation
- L'expérience avec la cartographie, les systèmes GPS/localisation, les applications en temps réel ou la technologie de transport est un atout majeur.
