Blog

Comment un stage chez PagerDuty vous prépare à la réussite

par Joshua Carnide 1er juin 2018 | 8 min de lecture

Je m'appelle Joshua Carnide et je suis en quatrième année de génie logiciel à l'Université de Waterloo. Dans cet article, je partagerai mon expérience incroyable de stage au bureau torontois de PagerDuty et comment elle m'a préparé à la réussite.

J'étais membre de l'équipe Mobile, chargée de la maintenance et de l'amélioration des applications Android et iOS de PagerDuty. L'objectif de l'équipe est de fournir des fonctionnalités permettant aux utilisateurs d'interagir facilement avec la plateforme PagerDuty, même en mobilité. C'est une petite équipe en pleine expansion : à mon arrivée en janvier 2018, nous n'étions que cinq. Trois mois plus tard, l'équipe comptait onze personnes : deux stagiaires en ingénierie (dont moi), un stagiaire en gestion de produit, cinq développeurs à temps plein, un coach agile, un chef de produit et un responsable d'ingénierie. J'ai appris bien plus que je n'aurais pu l'imaginer durant ces quatre mois, j'ai rencontré de nombreuses personnes incroyablement talentueuses et j'ai énormément progressé en tant qu'ingénieur en devenir.

Les personnes : diversité et inclusion

L'équipe de PagerDuty est tout simplement formidable. Passionnés par leur produit et leur travail, ils s'investissent pleinement pour offrir la meilleure expérience possible à leurs utilisateurs, et ce, dans une ambiance détendue.

PagerDuty est également une communauté d'individus qui croient fermement en inclusion et diversité C'est un environnement qui valorise les différences et où chacun peut être soi-même. Par exemple, à l'occasion de la Journée internationale des femmes, le bureau de Toronto a organisé une table ronde avec quatre professionnelles locales issues d'entreprises comme Salesforce et Procter & Gamble. Ce fut pour moi une excellente occasion d'en apprendre davantage sur le parcours professionnel des femmes par rapport aux autres orientations de genre et sur les défis actuels auxquels elles sont confrontées dans diverses professions.

Chez PagerDuty, je ne me suis jamais sentie comme une stagiaire ; j’ai toujours eu l’impression d’être une employée à part entière. Dès ma première semaine de stage, j’ai eu le privilège d’assister à l’événement de lancement de l’entreprise (CKO) dans la Napa Valley, en Californie ! Le CKO a permis aux employés, qu’ils travaillent à distance ou dans les bureaux de Sydney, Londres, Seattle, Toronto et San Francisco, de se réunir pour célébrer le succès de PagerDuty et définir les priorités pour la nouvelle année. L’événement proposait de nombreuses activités conviviales, ce qui m’a permis de rencontrer des personnes de différentes équipes et du monde entier. J’ai également rencontré les membres de l’équipe Mobile qui travaillent au bureau de San Francisco. C’était vraiment passionnant de découvrir les parcours et les expériences des différents employés de l’entreprise. Il est clair que chaque personne chez PagerDuty apporte une contribution unique et précieuse.

L'équipe Mobile et moi lors d'un événement social pendant CKO. (Je suis au dernier rang, à gauche.)

mentorat

Au début de mon stage, j'hésitais à demander de l'aide car je ne voulais pas déranger les autres développeurs. Cependant, au fil du temps, j'ai rapidement réalisé à quel point ils étaient enthousiastes et prêts à aider, et combien il pouvait être bénéfique de travailler en binôme pour résoudre un problème.

Lors de mes précédents stages, je n'avais fait que du développement Android. Aussi, quand on m'a confié ma première tâche iOS, j'étais nerveuse car je n'avais jamais travaillé sur une application iOS ni aucune expérience du langage de programmation Swift. La tâche était liée à mise à jour en direct — une nouvelle fonctionnalité de nos applications qui met à jour le contenu dynamiquement en temps réel. La base de cette fonctionnalité était déjà présente dans l'application, ce qui simplifiait grandement la tâche et ne nécessitait pas beaucoup de code, mais je ne savais pas vraiment par où commencer.

Lorsque j'ai demandé de l'aide, j'ai été impressionné par le soutien reçu : j'ai été mis en relation avec un ingénieur iOS senior de mon équipe et nous avons travaillé ensemble à la recherche de la solution. Au fil du temps, nous avons pris le temps d'aborder les subtilités de Swift et les fondamentaux du framework iOS, notamment les bonnes pratiques, les paradigmes courants et les choix de conception effectués dans l'application PagerDuty .

De plus, j'ai bénéficié d'un mentorat précieux et spontané. Nos applications mobiles exploitent des bibliothèques et des technologies puissantes dont l'apprentissage est complexe. Pourtant, les membres de mon équipe étaient toujours prêts à interrompre leurs projets pour m'aider. Ils prenaient le temps de m'expliquer en détail le fonctionnement des choses et étaient toujours disposés à discuter des améliorations et optimisations possibles.

Dans le même esprit, je ne pensais pas avoir autant d'influence en tant que stagiaire, mais je me trompais. Après un peu plus d'un mois dans l'entreprise, j'ai collaboré avec un ingénieur Android à temps plein pour rédiger une proposition de refonte de notre application Android afin d'améliorer sa testabilité et son évolutivité. En équipe, nous avons choisi l'architecture à utiliser, mais pas encore son intégration. J'étais chargé de rédiger les détails techniques de cette intégration. C'était une lourde responsabilité, mais j'étais prêt à relever le défi. Après un examen approfondi par les autres développeurs, la proposition a finalement été approuvée et sert désormais de référence pour notre application.

La mise en œuvre complète de cette proposition prendra du temps. Mais nous avons posé les bases de la nouvelle architecture et de toutes les nouvelles fonctionnalités qui l'accompagneront. C'est formidable d'avoir contribué de manière significative à révolutionner l'avenir de l'application Android PagerDuty .

Petite équipe, grand impact

L'équipe Mobile est relativement petite comparée aux autres équipes de PagerDuty. De par sa taille, nous bénéficiions d'une grande autonomie : il nous revenait, par exemple, de définir des aspects aussi simples que le format d'une pull request et l'architecture du code de notre application. Nous décidions du moment et de la fréquence de publication de nos applications. L'équipe prend ce processus très au sérieux : elle distribue les nouvelles versions en interne aux employés de PagerDuty avant leur lancement public afin de garantir une application de la plus haute qualité aux utilisateurs. J'ai collaboré à plusieurs reprises avec un ingénieur senior de l'équipe pour le déploiement des applications mobiles. Cette expérience m'a permis de comprendre le processus de déploiement d'une application auprès d'une large base d'utilisateurs et d'apprendre à superviser un déploiement pour en assurer le bon déroulement.

Opportunités de croissance

PagerDuty a de nombreux projets passionnants en cours et aucun n'est interdit. Dès mon arrivée dans l'entreprise, j'avais exprimé le souhait de me spécialiser dans le développement iOS et/ou le développement backend. Non seulement j'ai eu l'opportunité de me lancer dans ces deux domaines, mais j'ai aussi, dès le départ, travaillé sur des projets concrets destinés à nos utilisateurs, comme par exemple la fonctionnalité de mise à jour en direct mentionnée précédemment.

Une autre occasion précieuse d'apprendre de nouvelles choses s'est présentée lors des séances de coworking hebdomadaires de l'équipe Mobile. Les membres y travaillaient sur des projets enrichissants pour leur développement personnel. C'était une excellente opportunité d'explorer de nouvelles pistes et de bénéficier du soutien des développeurs seniors de l'équipe dès que j'avais des questions. J'ai profité de ce temps pour approfondir mes connaissances techniques. J'ai notamment appris davantage sur Swift et j'ai même développé une petite application iOS pour mieux comprendre le framework iOS.

J'ai également découvert les méthodologies Agile, ce qui a considérablement amélioré mon flux de travail. Lorsque j'ai rejoint l'équipe Mobile, ils utilisaient déjà… Méthodologie agile Scrum Concrètement, cela signifiait que l'équipe prévoyait de réaliser des tâches par blocs de temps fixes, appelés sprints. Dans notre équipe, chaque sprint durait deux semaines. À la fin de chaque sprint, l'équipe se réunissait (dans ce que nous appelions une réunion de fin de sprint). rétrospective ) pour discuter du sprint — ce qui a bien fonctionné, ce qui n'a pas si bien fonctionné et quelles actions pourraient être entreprises pour améliorer notre processus.

Au cours de ces exercices, j'ai appris à identifier et à corriger les points de blocage, ainsi qu'à coordonner efficacement mon travail avec les autres développeurs. Par rapport à mes débuts dans l'entreprise, j'ai constaté une nette augmentation de ma productivité, tout en maintenant un travail de grande qualité. Autre point important : PagerDuty , l'avis de chacun compte. Les rétrospectives ont permis à chaque membre de l'équipe de donner son avis sur les axes d'amélioration, et toutes les suggestions ont été prises en compte.

Perspectives d'avenir

Globalement, mon stage chez PagerDuty a été une expérience formidable. C'est un peu triste de savoir qu'il est terminé et que je suis de retour à l'université. J'ai eu la chance de rencontrer tant de personnes exceptionnelles et de nouer des relations durables. Je suis convaincu que les compétences acquises durant ce stage me permettront de réussir dans mes futurs projets d'ingénierie. Mon passage chez PagerDuty et au sein de l'équipe Mobile restera gravé dans ma mémoire.

Si vous souhaitez savoir à quoi ressemble le travail chez PagerDuty, envisagez de postuler sur le site web. page carrières .