Blog

PagerDuty Mobile : Le petit Goliath

par Sébastien Kolosa 19 avril 2018 | 8 min de lecture

Je m'appelle Sebastian Kolosa et je suis un étudiant coopératif à l'Université de Waterloo où j'étudie l'ingénierie de conception de systèmes. J'ai rejoint l'équipe mobile de PagerDuty en janvier en tant que stagiaire en génie logiciel, travaillant au bureau de Toronto dans le cadre de mon quatrième de six stages coop. Dans cet article, j'aimerais partager les enseignements de l'expérience peu commune de travailler au sein d'une petite équipe pour créer de gros produits ; à savoir, Applications iOS et Android de PagerDuty .


Pages d'opportunités

« Avoir un impact important » : c’est une phrase que les demandeurs de stage et les candidats à temps plein ont probablement entendue au moins une fois dans le processus de recherche d’emploi. En tant qu’étudiant en alternance qui passe le processus d’entrevue plusieurs fois par an, je trouve, comme beaucoup d’autres étudiants, que cette affirmation imprègne pratiquement toutes les descriptions de candidatures pour un emploi de développeur de logiciels, sous une forme ou une autre. Mais en réalité, c’est souvent une exagération par rapport à l’expérience réelle.

Cependant, j'aime à penser que, pour la plupart Les entreprises ne cherchent pas délibérément à attirer les candidats avec la promesse creuse d'apporter une grande différence. Une combinaison de ce qu'une entreprise considère comme important de travailler et du fait que les stages coopératifs de Waterloo ne durent que quatre mois peut quelque peu justifier la situation inévitable où ce qui est promis ne correspond pas à la réalité. Ou, c'est ce qui semblait inévitable : d'après mon expérience, après avoir terminé mon troisième mois en tant que stagiaire en génie logiciel dans l'équipe mobile de PagerDuty, je peux affirmer avec confiance qu'un stagiaire peut vraiment « avoir un grand impact » au cours de son stage. Le secret? Une combinaison d'avoir une équipe intelligente, enthousiaste et progressiste, de petite taille mais géante dans ses responsabilités : entrez dans l'équipe mobile de PagerDuty.

L'énorme responsabilité d'une petite équipe

L'équipe mobile de PagerDuty, qui a connu une croissance de 900 % au cours de l'année dernière, est présente dans les bureaux de Toronto et de San Francisco de l'entreprise. Mais son champ d'action virtuel va bien au-delà : l'équipe est entièrement propriétaire des applications Android et iOS de PagerDuty, offrant les services de gestion des incidents en temps réel de l'entreprise à plus de 44 000 utilisateurs actifs chaque semaine. Au départ composée d'un seul développeur et d'un seul responsable technique, l'équipe qui fournit des fonctionnalités à environ 65 % de la base d'utilisateurs hebdomadaires de PagerDuty s'est agrandie pour inclure un responsable produit, un coach agile, quatre développeurs à temps plein supplémentaires, un stagiaire en gestion de produits et deux stagiaires développeurs (dont je fais partie) au moment de la rédaction de cet article. Les utilisateurs d'applications Android et iOS constituent la base de la responsabilité de l'équipe susmentionnée, sur laquelle l'équipe construit des expériences et des fonctionnalités utilisateur exceptionnelles.

Un impact significatif dès le premier jour

Il ne m'a pas fallu longtemps pour commencer à prendre conscience de l'ampleur de ces responsabilités, et il ne m'a pas fallu longtemps non plus pour voir les opportunités correspondantes d'avoir un impact positif important sur l'expérience des utilisateurs avec les applications mobiles de PagerDuty. Alors que mon dernier mois au sein de l'entreprise commence, cette relation responsabilité-impact n'a fait que se renforcer. Permettez-moi de vous donner quelques exemples.

Comme la plupart des débuts de stagiaires en développement logiciel dans les entreprises technologiques, mes premières tâches de développement étaient considérées comme de l'« intégration » : travailler sur quelque chose de petit, comme une correction de bug ou un ajustement, qui sert plus à se familiariser avec la base de code qu'à offrir un impact positif significatif pour les utilisateurs. Et même si j'ai effectivement appris à connaître la base de code de l'application iOS grâce à mes premières tâches d'intégration, j'ai aussi rapidement découvert que, contrairement à ce que je pensais, les premiers morceaux de code que j'écrivais avaient également un impact sur les utilisateurs.

Au lieu de me voir confier une tâche banale, j'ai eu l'opportunité de peaufiner l'expérience de connexion au sein de l'application iOS comme première contribution. Cela impliquait la création d'un composant dynamique réutilisable pour le champ de texte avec lequel les utilisateurs interagissent dans l'un des deux écrans de connexion de l'application. Le composant de champ de texte personnalisé permettait au sous-domaine PagerDuty de l'utilisateur de suivre le curseur de l'utilisateur, au lieu d'être bloqué sur le côté droit de l'écran avec une interface utilisateur non raffinée. Plus important encore, étant donné que tous les utilisateurs doivent se connecter à un moment donné, il s'agissait d'une tâche que pratiquement tous les utilisateurs d'applications iOS pouvaient voir. En d’autres termes, j’ai ressenti de la gratification et un sentiment d’importance au sein de l’équipe Mobile après avoir accompli ma toute première tâche.

Tout comme pour les utilisateurs, la deuxième tâche d’intégration sur laquelle j’ai travaillé concernait les paramètres utilisateur disponibles pour les utilisateurs d’applications iOS. Lorsque j’ai rejoint l’équipe, il y avait un manque de parité entre les paramètres disponibles sur les clients mobiles et ceux disponibles sur l’application Web en ce qui concerne les règles de notification des utilisateurs, c’est-à-dire les configurations que les utilisateurs définissent pour être alertés des incidents qui les concernent. J’ai été chargé de m’assurer que les utilisateurs pouvaient modifier leurs règles de notification avec le même degré de détail que dans l’application Web, c’est-à-dire de donner aux utilisateurs la possibilité de définir des règles de notification pour les notifications à urgence élevée et faible, ainsi que de maintenir leurs règles cohérentes sur les deux clients. La tâche d’intégration a eu un impact non seulement parce qu’elle était liée à un écran et une fonction communs, mais aussi parce qu’elle était inspirée par les commentaires réels des clients. C’était assez génial de savoir que je faisais une réelle différence pour les clients dès mes premières semaines dans l’entreprise.

Cette tendance à me voir confier la responsabilité d'effectuer un travail important et percutant n'a fait que se poursuivre à mesure que je me suis davantage intégré au sein de l'équipe. De contribuer à apporter vivacité à la vie dans iOS, pour diriger des réunions de priorisation des tâches d'ingénierie, les opportunités d'offrir une valeur exceptionnelle aux clients et aux employés ont été en symbiose avec l'obtention d'un degré élevé de développement personnel des compétences générales et techniques.

L'expérience peu commune du travail mobile

Même si je pense que ces types d'opportunités et d'expériences existent au sein de toutes les équipes de PagerDuty, le fait qu'elles aient été si puissantes pour moi est en fin de compte fonction de l'anatomie de l'équipe mobile de PagerDuty. Nous sommes petits. Dans un terrain de jeu sauvage de plus de 400 collaborateurs, l'équipe Mobile ne compte que 11 personnes. Avec une si petite taille par rapport à l'échelle des applications que l'équipe crée, vous devrez vraiment faire tout votre possible pour travailler sur quelque chose qui semble hors de propos. La micro-taille de l'équipe favorise également un véritable sentiment de famille. Il ne s'agit pas d'un de ces scénarios superficiels dans lesquels vous prétendez être en contact avec votre équipe pendant que vous êtes au travail et les ignorez à d'autres moments. Un véritable sentiment de communauté et de compassion s'est développé aux côtés de l'équipe grâce aux vertus de la transparence et de la volonté extérieure. pour aider ses pairs.

Une petite taille et un produit de grande taille impliquent de nombreuses responsabilités, et même si cela peut sembler écrasant, surtout du point de vue d'un stagiaire, la taille de l'équipe Mobile a permis aux personnalités brillantes et interpersonnelles qui la composent d'apporter leur aide et leur soutien sans être bloquées par la politique et la bureaucratie qui sont souvent associées aux grandes équipes en général. Qu'il s'agisse de s'associer à un développeur à temps plein pour se familiariser avec une nouvelle plateforme, d'obtenir un mentorat grâce à des sessions constructives de révision de code et de partage des connaissances, ou de réunions d'équipe bimensuelles pour discuter de la progression des objectifs de l'équipe pour l'itération de développement donnée, l'équipe Mobile vous offre les échelles pour gravir les échelons du développement personnel et voir l'impact que vous avez sur les clients du monde entier, tout en vous offrant un amortissement pour amortir les chutes que vous pourriez subir en cours de route.

Oh, et ai-je mentionné des séances de coworking ? Pour couronner une semaine de travail acharné, les développeurs de l'équipe Mobile se réunissent pendant une heure et demie tous les vendredis après-midi via des salles de réunion et des Google Hangouts pour travailler sur des sujets liés à leur développement personnel en tant que développeurs. Ces sessions ont fourni une formidable opportunité d'apprendre quelque chose de nouveau et de créer un transfert de connaissances en transmettant les informations aux autres et en instaurant une discussion proactive. J'ai personnellement suivi et terminé un cours d'introduction Udemy sur Model-View-ViewModel (MVVM) - un paradigme de développement logiciel populaire - dans iOS au cours de ces sessions jusqu'à présent et je l'ai recommandé à d'autres membres de mon équipe pour le développement personnel et l'amélioration des prouesses de développement de notre équipe.

Penser petit pour faire grand

Dans l'ensemble, j'ai vécu une expérience assez exceptionnelle chez PagerDuty au cours des trois mois que j'ai passés ici. Bien que l'entreprise dans son ensemble offre un degré de valeur sans précédent d'un point de vue culturel et produit, c'est l'équipe Mobile qui me tiendra le plus à cœur jusqu'à la fin de mon mandat. M'ayant équipé non seulement des outils techniques dont j'ai besoin pour progresser en tant qu'ingénieur logiciel en devenir, mais également des outils empathiques, interpersonnels et culturels que je continuerai à employer et à utiliser comme norme partout où mon parcours de développement me mènera. Moi, l'équipe mobile de PagerDuty m'a convaincu que de grands impacts existent à la fois pour les stagiaires et les employés à temps plein. Si vous vous demandez ce que cela signifie de travailler avec une telle équipe, pensez à postuler en visitant Page carrières de PagerDuty .