SanMar- External
Agadia Systems Inc
Ingénieur senior en tests de performance
À propos d'Agadia
Nous sommes spécialisés dans la technologie de gestion de la santé et proposons une suite de solutions logicielles de gestion de l'utilisation à nos clients. Notre mission est d'améliorer la qualité des soins et d'accélérer la prestation des services de santé en faisant progresser et en automatisant les processus de gestion de l'utilisation. Nous sommes basés à Parsippany, NJ, et comptons des clients à travers les États-Unis. Dans le cadre de notre croissance, nous recherchons un ingénieur logiciel indépendant, motivé et soucieux du détail pour aider à analyser, concevoir et affiner les besoins métier.
Agadia recherche un ingénieur senior en tests de performance pour effectuer des tests de performance sur ses applications de santé SaaS. Le rôle couvre l'analyse des besoins, la modélisation de la charge, l'automatisation des tests, l'exécution, l'investigation des goulots d'étranglement et le reporting. L'ingénieur travaillera avec les équipes de développement, QA, DevOps, infrastructure, les administrateurs de bases de données et le support de production pour valider les performances, enquêter sur les régressions et fournir des preuves pour les décisions de mise en production et de capacité.
Rôles et responsabilités
- Collaborer avec les parties prenantes métier et techniques pour définir des critères d'acceptation mesurables pour les flux de travail critiques, notamment les percentiles de temps de réponse, le débit, les taux d'erreur et le comportement de récupération.
- Évaluer l'architecture des applications, les dépendances, la topologie de déploiement et l'utilisation en production afin d'élaborer des stratégies de tests de performance, des estimations, des plannings, ainsi que des critères d'entrée et de sortie.
- Concevoir des modèles de charge réalistes couvrant les utilisateurs simultanés, les taux d'arrivée des transactions, la mixité des clients, le temps de réflexion, le rythme, les périodes de pointe, la montée en charge et la charge soutenue.
- Planifier et exécuter des tests de base, de charge, de stress, de pic, d'endurance et de scalabilité ; coordonner les tests de basculement et de récupération contrôlés avec les équipes responsables.
- Développer et maintenir des scripts JMeter ou k6 réutilisables avec authentification, gestion de session, corrélation de valeurs dynamiques, paramétrage et assertions vérifiant le succès des transactions métier.
- Construire des suites modulaires pour la création de dossiers, la révision, la validation, la gestion des files d'attente et la gestion documentaire, avec des profils clients, des identifiants utilisateur et des jeux de données configurables.
- Préparer et gérer les données de test synthétiques ou masquées approuvées, y compris l'extraction, l'ensemencement, la validation et le nettoyage ; protéger les identifiants et maintenir l'isolation des données clients.
- Valider la préparation de l'environnement de test, les volumes de données, l'état du cache et la capacité des générateurs de charge ; documenter les différences affectant la comparaison avec la production.
- Surveiller et corréler les résultats des tests avec Dynatrace ou des outils APM équivalents, les métriques IIS et Windows, les journaux d'application et l'activité de SQL Server.
- Enquêter sur les goulots d'étranglement au niveau des couches application, API, base de données et infrastructure, y compris les requêtes lentes, le blocage, la contention des pools de threads ou de connexions, la croissance de la mémoire et la saturation des ressources.
- Comparer les versions par rapport aux bases de référence approuvées, enregistrer les défauts de performance reproductibles, collaborer avec les équipes d'ingénierie sur la remédiation et vérifier les correctifs par des re-tests.
- Fournir des conclusions mesurées sur la capacité et la scalabilité, avec des hypothèses documentées, pour soutenir la planification de l'infrastructure et les prévisions de croissance.
- Intégrer des contrôles de performance appropriés dans les pipelines Azure DevOps CI/CD et les exécutions de tests planifiées ; améliorer continuellement les scripts, la fiabilité du framework et le reporting.
- Fournir des rapports techniques et des résumés pour les parties prenantes couvrant les hypothèses de charge, les résultats par rapport aux objectifs, les preuves des goulots d'étranglement, l'impact métier, les limitations et les recommandations sur la préparation à la mise en production.
Qualifications requises
- Au moins 5 ans d'expérience pratique dans les tests de charge et de performance d'applications web et d'APIs.
- Solide maîtrise de JMeter ou k6, incluant le développement indépendant de scripts, le débogage, la maintenance et l'exécution de tests en ligne de commande.
- Bonne compréhension des concepts de tests de performance, de la modélisation de la charge et de l'interprétation des percentiles de latence, du débit, des taux d'erreur et de l'utilisation des ressources.
- Expérience dans le test d'applications multi-niveaux, avec une connaissance pratique de HTTP/HTTPS, REST APIs, JSON, de l'authentification, de la gestion de session et de la corrélation de données dynamiques.
- Maîtrise de SQL pour la préparation des données de test, la validation et l'investigation des problèmes de performance liés aux bases de données.
- Expérience dans l'utilisation d'un outil de surveillance des performances des applications, de métriques serveur et de journaux pour enquêter sur les goulots d'étranglement et étayer les conclusions avec des preuves.
- Capacité à développer une automatisation de support en utilisant JavaScript, YAML, Groovy ou un langage de script comparable.
- Expérience avec Git, l'exécution répétable de tests et l'analyse de régression des performances à travers les versions logicielles.
- Solides compétences analytiques, de documentation et de communication, avec la capacité de gérer les priorités de test et d'expliquer les conclusions aux parties prenantes techniques et métier.
Qualifications souhaitées
- Expérience avec Dynatrace Managed et l'analyse de performance des environnements Windows Server, IIS, .NET et SQL Server.
- Expérience pratique à la fois de JMeter et k6, et intégration des tests de performance dans les pipelines Azure DevOps.
- Expérience dans le test d'applications SaaS multi-locataires ou de santé et dans la manipulation de données de test sensibles.
- Analyse des performances du navigateur à l'aide d'outils de développement, Playwright ou k6 browser, parallèlement aux tests de charge au niveau des API et des protocoles.
- Compréhension de l'architecture Azure ou AWS, de la scalabilité et de la validation des performances de migration ; une expérience sur Azure est préférée.
- Exposition au traitement en arrière-plan, à la mise en cache, à la messagerie et à la validation du basculement ou de la récupération.
Livrables clés
- Une stratégie de test de performance maintenue, un modèle de charge et une suite de régression réutilisable.
- Rapports de version avec des résultats clairs de réussite ou d'échec, des preuves à l'appui, des limitations de test et des risques de performance non résolus.
- Résultats de remédiation vérifiés et recommandations de capacité basées sur les résultats mesurés.
Veuillez noter : La fourchette salariale est basée sur notre structure de rémunération du marché et inclut des avantages sociaux (médical, dentaire, vision, assurance vie, 401 et congés payés, etc.), et sera déterminée en fonction de l'expérience, des qualifications et de l'évaluation du candidat.
- Les candidats doivent être légalement autorisés à travailler aux États-Unis, et l'entreprise ne fournit pas de parrainage de visa d'emploi maintenant ou à l'avenir.
Compétences clés
Communique efficacement – Écoute attentivement les autres, fournit des informations opportunes et utiles, et est efficace dans divers contextes professionnels. Donne et reçoit des commentaires de manière productive et professionnelle. Démontre d'excellentes compétences en communication orale et écrite.
Gère l'ambiguïté – Opère efficacement, même lorsque les choses sont incertaines ou que la voie à suivre n'est pas claire. Est flexible dans son approche et capable d'adapter sa méthode pour répondre aux besoins changeants de l'entreprise.
Gère la complexité – Donne du sens à des informations complexes, en grande quantité et parfois contradictoires pour résoudre efficacement les problèmes. Possède de solides compétences organisationnelles et est capable de gérer plusieurs activités à la fois. A un grand souci du détail.
Assure la responsabilité – Tient ses engagements et s'assure que les autres font de même. Capable de travailler de manière indépendante au sein d'une petite équipe.
