Blog

Comment un stage chez PagerDuty vous prépare au succès

par Josué Carnide 1er juin 2018 | 8 min de lecture

Je m'appelle Joshua Carnide et je suis étudiant en quatrième année de génie logiciel à l'Université de Waterloo. Dans cet article, je vais partager l'incroyable expérience que j'ai vécue lors de mon stage au bureau de PagerDuty à Toronto et la façon dont cela m'a permis de réussir.

J'étais membre de l'équipe Mobile, responsable de la maintenance et de l'amélioration des applications Android et iOS de PagerDuty. L'objectif de l'équipe est de fournir des caractéristiques et des fonctionnalités qui permettent aux utilisateurs d'interagir de manière transparente avec la plateforme PagerDuty lorsqu'ils sont en déplacement. Il s'agit d'une petite équipe en pleine croissance : lorsque je l'ai rejoint en janvier 2018, elle ne comptait que cinq personnes. Trois mois plus tard, l'équipe comptait 11 personnes : deux stagiaires en ingénierie (moi y compris), un stagiaire en gestion de produits, cinq développeurs à temps plein, un coach agile, un propriétaire de produit et un responsable de l'ingénierie. J'ai appris plus que ce que j'aurais pu imaginer au cours de ces quatre mois, j'ai rencontré de nombreuses personnes incroyables et talentueuses et j'ai beaucoup grandi en tant qu'ingénieur en devenir.

Les gens : diversité et inclusion

Les gens de PagerDuty sont tout simplement incroyables. Ils sont vraiment passionnés par leur produit et le travail qu'ils accomplissent. Ils travaillent extrêmement dur pour garantir la meilleure expérience à leurs utilisateurs et s’amuser en le faisant.

PagerDuty, c'est aussi une communauté d'individus qui croient fermement en inclusivité et diversité —c'est un environnement qui accepte les différences des autres et où l'on peut vraiment être soi-même. Par exemple, lors de la Journée internationale des femmes, le bureau de Toronto de l'entreprise a organisé une table ronde à laquelle ont participé quatre professionnelles locales d'entreprises comme Salesforce et Procter & Gamble. Ce fut pour moi une occasion précieuse d'en apprendre davantage sur le parcours professionnel des femmes par rapport aux autres orientations de genre et sur les défis contemporains auxquels les femmes sont confrontées dans diverses professions.

Chez PagerDuty, je ne me suis jamais senti comme un stagiaire, je me suis toujours senti comme un autre employé à temps plein. Durant la première semaine de mon stage, j'ai eu le privilège d'assister à l'événement Company Kick Off (CKO) à Napa Valley, en Californie ! CKO a été l'occasion pour les employés à distance et dans les bureaux de Sydney, Londres, Seattle, Toronto et San Francisco de se réunir et de célébrer le succès de PagerDuty et de s'aligner sur les priorités clés pour la nouvelle année. L'événement comportait de nombreuses fonctions sociales, au cours desquelles j'ai eu l'occasion de rencontrer des personnes de différentes équipes et de différentes régions du monde. J'ai également rencontré les membres de l'équipe Mobile qui travaillent au bureau de San Francisco. C'était vraiment cool 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 quelque chose d'unique et de spécial à la table.

L'équipe Mobile et moi lors d'un des événements sociaux pendant CKO. (Je suis au dernier rang à gauche.)

Mentorat

Au début de mon stage, j’hésitais à demander de l’aide car je voulais éviter de « déranger » les autres développeurs. Cependant, au fil du stage, j’ai rapidement réalisé à quel point les gens étaient désireux et enthousiastes d’aider et à quel point il pouvait être bénéfique de travailler en binôme pour résoudre un problème.

Lors de mes stages précédents, je n'avais fait que du développement Android. Ainsi, lorsque l'on m'a confié ma première tâche iOS, j'étais nerveux car je n'avais jamais travaillé sur une application iOS ni eu d'expérience avec le langage de programmation Swift. La tâche était liée à mise à jour en direct — une nouvelle fonctionnalité dans nos applications qui met à jour le contenu de manière dynamique en temps réel. La base de cette fonctionnalité était déjà dans l'application, ce qui en faisait une tâche assez simple qui ne nécessitait pas trop de code, mais je ne savais pas vraiment par où commencer.

Lorsque j'ai demandé de l'aide, j'ai été étonné du soutien que j'ai reçu : je me suis associé à un ingénieur iOS senior à temps plein de mon équipe et nous avons travaillé ensemble sur la solution. En cours de route, nous nous sommes arrêtés et avons discuté des subtilités de Swift et des principes fondamentaux du framework iOS, y compris les meilleures pratiques, les paradigmes communs et les décisions de conception prises dans l'application PagerDuty .

De plus, j’ai reçu de nombreux conseils utiles sur le terrain. Nos applications mobiles exploitent des bibliothèques et des technologies puissantes qui nécessitent une courbe d’apprentissage abrupte. Pourtant, les membres de mon équipe étaient toujours heureux de faire une pause dans leur travail pour me donner un coup de main. Ils prenaient le temps d’expliquer en détail pourquoi quelque chose était comme ça et étaient toujours ouverts à une discussion sur la façon dont quelque chose pourrait être amélioré ou optimisé.

Dans le même ordre d’idées, je ne pensais pas que je serais en mesure de « prendre les décisions » en tant que stagiaire, mais j’avais tort. Après avoir travaillé dans l’entreprise pendant un peu plus d’un mois, je me suis associé à un ingénieur Android à temps plein pour rédiger une proposition sur la manière dont nous devrions réorganiser notre application Android afin d’améliorer sa testabilité et son évolutivité. En équipe, nous avons décidé de l’architecture que nous allions utiliser, mais pas de la manière dont nous allions l’utiliser pour notre application. J’étais chargé de rédiger les détails techniques de la manière dont nous allions intégrer l’architecture dans notre application. C’était une grande 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 norme pour notre application.

Le processus de mise en œuvre complète de la proposition prendra beaucoup de temps. Mais nous avons posé les bases de la nouvelle architecture et de toutes les nouvelles fonctionnalités qui seront implémentées avec elle. C'est génial de savoir que j'ai joué un rôle majeur dans la révolution de l'avenir de l'application Android PagerDuty .

Petite équipe, impact majeur

Relativement parlant, l'équipe Mobile est encore petite par rapport aux autres équipes de PagerDuty. Et en tant que petite équipe, nous avions beaucoup d'autonomie : c'était à nous, par exemple, de déterminer quelque chose d'aussi simple que le format d'une pull request jusqu'à l'architecture de code que notre application devait utiliser. Nous avons décidé quand publier nos applications et à quelle fréquence nous devrions les publier. L'équipe prend ce processus très au sérieux : elle distribue les nouvelles versions des applications en interne aux employés de PagerDuty avant de les rendre publiques afin de garantir que l'application de la plus haute qualité soit fournie aux utilisateurs. Je me suis associé à plusieurs reprises avec un ingénieur senior de l'équipe pour proposer les applications mobiles aux utilisateurs. Cette expérience m'a donné un aperçu du processus de livraison d'une application à une base d'utilisateurs massive et j'ai appris à surveiller une version pour m'assurer que tout se passait bien.

Possibilité de croissance

PagerDuty a beaucoup de projets sympas en préparation et aucun d'entre eux n'est interdit. Lorsque j’ai rejoint l’entreprise, j’avais exprimé le désir de faire du développement iOS et/ou du développement backend. Non seulement j’ai eu l’opportunité de m’initier aux deux, mais j’ai dès le départ pu travailler sur des projets significatifs qui seraient envoyés à nos utilisateurs – un excellent exemple étant la fonctionnalité de mise à jour en direct susmentionnée.

Une autre occasion vraiment utile d'apprendre quelque chose de nouveau a été lors des sessions de travail en collaboration hebdomadaires de l'équipe mobile, où les membres de l'équipe travaillaient sur quelque chose de précieux pour leur développement personnel. C'était une occasion vraiment utile d'explorer quelque chose de nouveau et d'avoir le soutien des développeurs seniors de l'équipe chaque fois que j'avais des questions. J'ai utilisé ce temps pour élargir mes connaissances techniques. J'ai appris davantage sur Swift et j'ai même développé une petite application iOS pour en savoir plus sur le framework iOS.

J'ai également appris les méthodologies Agile, ce qui a vraiment amélioré mon flux de travail. Lorsque j'ai rejoint l'équipe Mobile, ils utilisaient Méthodologie Scrum Agile . Essentiellement, cela signifiait que l'équipe prévoyait de terminer des morceaux de travail par tranches de temps fixes appelées sprints. Pour notre équipe, chaque sprint durait deux semaines. À la fin de chaque sprint, notre équipe se réunissait (dans ce que nous appelions un rétrospective ) pour discuter du sprint : ce qui s'est bien passé, ce qui ne s'est pas bien passé et quelles actions pourraient être entreprises pour améliorer notre processus.

Au cours de ces exercices, j'ai appris à identifier et à résoudre les goulots d'étranglement et à coordonner efficacement le travail avec d'autres développeurs. Par rapport à mes débuts dans l’entreprise, j’ai vraiment remarqué que mon débit avait considérablement augmenté tout en réalisant un travail de haute qualité. Une autre chose : PagerDuty prend très au sérieux le fait que les opinions de chacun comptent, et les rétrospectives ont été l'occasion pour chaque membre de l'équipe de donner son avis sur la façon dont l'équipe pourrait s'améliorer dans son ensemble et les suggestions de chacun ont été prises en compte.

Regarder vers l'avant

Dans l’ensemble, mon expérience de stage chez PagerDuty a été incroyable. C'est doux-amer de savoir que mon stage est terminé et que je suis de retour à l'école. Je me sens chanceux d'avoir rencontré autant de personnes formidables et d'avoir établi autant de relations durables. Je peux affirmer avec confiance que les compétences que j'ai acquises au cours de mon stage me permettront de réussir dans mes futurs projets d'ingénierie. Mon passage chez PagerDuty et dans l'équipe Mobile est une expérience que je n'oublierai jamais.

Si vous êtes intéressé par ce que signifie travailler chez PagerDuty, pensez à postuler sur le page carrières .