Analyste-programmeuse ou analyste-programmeur – infrastructure (DevOps)

Partager sur linkedin
Partager sur facebook
Partager sur twitter
Partager sur print
Partager sur email
Print Friendly, PDF & Email

Sommaire

Offre d’emploi no 04688
Affichage interne et externe
28 avril 2021 au 25 juin 2021

Chercheur(e)s responsables

Jean-François Ethier, professeur, département de médecine, Faculté de médecine et des sciences de la santé
Luc Lavoie, professeur, département d’informatique, Faculté des sciences

Unité(s) administratives

Département de médecine — FMSS

Lieu de travail

Campus principal

Contact

Description de la fonction

L’analyste-programmeuse ou analyste-programmeur en infrastructure (développeuse opérationnelle ou développeur opérationnel ci-après « DevOps ») voit à la conception et la mise en oeuvre des environnements appropriés de développement et de test pour les composants des applications et des systèmes informatiques développés par le groupe de recherche. Le DevOps est appelé à mettre sur pied un système d’intégration continue efficace et d’en assurer la maintenance. Il est également appelé à assurer la disponibilité et la performance des environnements et outils de développement.

Tâches et responsabilités

1. Participer à la conception et la mise en oeuvre des environnements appropriés de développement et de test.

2. Travailler en étroite collaboration avec l’équipe de développement afin de diagnostiquer et de résoudre des problèmes liés à l’infrastructure, aux réseaux ainsi qu’à la configuration de notre développement logiciel et d’environnements.

3. Assurer la maintenance des environnements de développement, d’essais internes et d’essais externes.

4. Travailler avec les équipes de développement afin de mettre sur pied un système d’intégration continue efficace et d’en assurer la maintenance (GitHub, GitLab, Nexus, etc.).

5. Mettre au point des procédures appropriées de gestion des versions et fournir du soutien à la production.

6. Collaborer à la recherche et au développement de solutions innovatrices par des preuves de concept réalisées dans le but d’améliorer le déploiement de nos systèmes et applications.

7. Automatiser et optimiser le déploiement de systèmes et d’applications dans nos différents environnements de développement.

8. Trouver, évaluer et mettre en place des outils visant à faciliter les tâches des développeurs.

9. Détecter les goulots d’étranglement dans le processus de développement et fournir des solutions afin de les éliminer.

Qualifications requises

  • Détenir un diplôme universitaire terminal de premier cycle.
  • Avoir une formation universitaire en informatique, en informatique de gestion ou en génie logiciel.
  • Posséder au moins 3 années d’expérience pertinentes; des postes correspondants à divers niveaux d’expérience sont disponibles.

Exigences

  • Maitriser les normes, les standards et les règles de pratique de la conception et de la programmation logicielle de façon à pouvoir développer des composants logiciels de très haute qualité.
  • Maitriser le développement de tests unitaires, d’intégration et de non-régression.
  • Être capable de développer des tests de capacité-performance ou être en mesure de l’apprendre rapidement.
  • Être capable de réaliser des essais de système et d’acceptation.
  • Être capable d’aller chercher l’information requise et pertinente et de la transmettre aux autres membres du groupe.
  • Être capable de développer sous un environnement Unix ou être en mesure de l’apprendre rapidement.
  • Avoir de bonnes connaissances en bases de données et être en mesure d’utiliser les outils associés à leur plein potentiel.
  • Avoir de bonnes connaissances en programmation SQL et au moins un langage de script (Bash, Groovy).
  • Avoir de bonnes connaissances en virtualisation et en conteneurs logiciels.
  • Être capable de concilier ou d’arbitrer les exigences de développement et d’exploitation (DevOps).
  • Démontrer une bonne capacité à travailler en équipe.
  • Posséder une bonne capacité à communiquer en français à l’oral et à l’écrit.
  • Posséder une bonne compréhension de l’anglais à l’écrit.
  • Posséder une bonne capacité à organiser son travail.
  • Posséder une bonne capacité d’auto-apprentissage.
  • Posséder une bonne capacité d’adaptation dans un secteur en constante évolution.
  • Faire preuve d’autonomie, de minutie et de rigueur.

Atouts

  • Avoir de l’expérience dans le domaine de l’informatique de la santé ou en recherche.
  • Avoir de l’expérience dans le développement de services et de micro-services.
  • Avoir de l’expérience dans l’intégration des processus de développement et maintenance des bases de données dans un contexte de support opérationnel.
  • Maitriser la théorie, la conception et la programmation des bases de données relationnelles.
  • Maitriser certains langages parmi Java, Python, C++, SQL, JavaScript, XML, XSD, XLT, HTML 5, CSS, Bash et Groovy.
  • Avoir de l’expérience avec JIRA, Confluence, Git, Gitlab, Graddle et Nexus.

Selon les échelles de la convention collective de travail entre l’Université de Sherbrooke et l’Association du personnel administratif et professionnel de l’Université de Sherbrooke (APAPUS), Unité « B » (Personnel de recherche).

Emploi à temps complet, 35 heures par semaine.

Durée de l’emploi : 12 mois, possibilité de renouvellement.

Date d’entrée en fonction : dès que possible.