Pas «assez technique»? Trois étapes faciles que vous pouvez prendre aujourd’hui pour changer d’avis et développer vos compétences
Étape # 1: Comprenez comment fonctionne votre produit.
La plus grosse erreur de mes premiers jours de PM a été de tenter cela, mais avec une mauvaise résolution. Je pensais que je devais comprendre le produit au code niveau – ce que je devais savoir, c’est comment cela fonctionne à un systèmes niveau.
À moins que votre organisation ne soit à un stade précoce ou ne soit avare d’embauche d’ingénieurs, ce que fait un morceau de code n’est pas votre problème à résoudre en tant que PM. Faites-moi confiance en tant que personne qui a (avec succès) fouillé dans les dépôts pour trouver des bogues; ce ne sont pas les moments où j’ai ajouté une valeur unique en tant que PM.
Ce qui ajoute de la valeur, c’est la compréhension de votre produit en tant que système: comment toutes les pièces s’assemblent – à la fois la ou les pièces que vous contrôlez, l’application plus large et où les tiers s’intègrent avec lui. Beaucoup de vos partenaires – ingénieurs, concepteurs et autres PM, en particulier ceux plus juniors ou spécialisés – ne seront pas exposés à cela jusqu’à ce que cela devienne un problème.
Comment faire
Ma façon préférée de le faire est de tracer un élément de données se déplaçant à travers le système, en commençant par un utilisateur, quelqu’un interagissant avec une interface. À partir de ce point de vue familier pour les non-ingénieurs, asseyez-vous avec quelques personnes et demandez-leur de vous expliquer ce qui se passe entre le point d’interaction et le moment où l’utilisateur reçoit des commentaires.
Supposons que vous êtes un PM pour un site de commerce électronique, et l’activité la plus courante que les visiteurs effectuent est d’acheter quelque chose dans le magasin avec une carte de crédit pré-enregistrée.
Tout d’abord, tracez une simple liste de points d’interaction que le client a avec votre magasin une fois qu’ils sont sur le site:
- Parcourez le catalogue en appliquant des filtres
- Ajouter des objets au panier
- Accédez à leur panier
- Entrez les informations de facturation et d’expédition
- Check-out
Ensuite, recherchez des ingénieurs, des personnes de support, d’autres PM ou des architectes qui connaissent différentes parties de l’application et demandez-leur de vous les expliquer. Voici quelques questions que vous pourriez vous poser:
- Où et comment sont stockées les données du catalogue?
- Que se passe-t-il sur le back-end lorsque l’utilisateur ajoute / supprime un filtre?
- Comment modifions-nous les résultats affichés à l’écran?
- Qu’utilisons-nous pour que cela fonctionne?
Lorsque vous avez terminé ce processus, dessinez ou écrivez ce que vous avez appris. Référez-vous-y lorsque vous identifiez les fonctionnalités pour déterminer quels systèmes cela touchera et où vous pourriez avoir des dépendances.
Étape # 2: Apprenez à connaître les outils que votre application utilise pour fonctionner.
Au cours de l’étape 1, vous entendrez un tas de noms de choses probablement inconnus; presque toutes les applications auront besoin d’outils qui entrent dans ces quatre catégories – il y en a plus, mais cela devrait vous aider à démarrer.
- Langages de programmation: Python, JavaScript, C ++, Go, etc.
- Cadres (pour les applications et le front-end): React, Angular, Django, Ruby on Rails, Flask, etc.
- Bases de données: MySQL, MongoDB, Postgres, DynamoDB, etc.
- Services de calcul cloud: Amazon Web Services (AWS), Azure, Google Cloud Platform, etc.
Comment faire
Créez un document dans lequel vous répertoriez ces éléments inconnus et utilisez votre moteur de recherche préféré pour obtenir les réponses aux questions suivantes, en vous assurant de tout taper en termes simples et d’inclure des liens vers des documents:
- Dans quelle catégorie la chose tombe / que fait-elle / quel problème résout-elle?
- Quels sont les avantages et les inconvénients de l’utilisation de cet outil?
- Quelles sont 2 ou 3 alternatives populaires et quelles sont leurs forces?
Je suis toujours surpris de l’utilité de cet exercice à petite échelle, de parler de l’expertise dont l’équipe de développement a besoin pour définir la portée du produit et les cas limites avec l’ingénierie, pour expliquer comment l’application fonctionne lorsque vous devenez un expert.
Lors d’une rencontre avec des développeurs il y a quelques années, un ingénieur senior a informé la foule principalement junior qu’il n’avait pas besoin de connaître React ou Angular pour faire preuve de compétence. Au lieu de cela, il devait juste savoir quels étaient leurs mérites relatifs et avoir une opinion sur ce qui pourrait être préférable compte tenu des paramètres d’une spécification spécifique – le reste, il pourrait l’apprendre plus tard. Si cette stratégie fonctionne pour un ingénieur, elle fonctionnera pour un PM.
Le conseil du pro ici n’est pas de dépasser – c’est bien de se joindre à la discussion et d’avoir des questions sur les limites de l’architecture existante ou les mérites d’un nouveau cadre, mais ne commencez pas à choisir des outils – c’est le travail d’ingénierie avec votre contribution sur les exigences.
Étape # 3: Apprenez quelques notions de base en informatique.
Pouvoir coder m’a été utile en tant que PM, car cela m’a permis d’apprendre et d’appliquer certains des concepts de base que les ingénieurs utilisent quotidiennement. Connaître les bases m’aide à comprendre les bogues et les limites de l’application, ainsi qu’à réfléchir aux cas marginaux et aux erreurs. Cela m’a aussi beaucoup aidé dans les entretiens et le raisonnement à travers des problèmes avec une équipe d’ingénieurs.
Comment faire cela
Vous pouvez en apprendre davantage à ce sujet d’une manière plus visuelle et théorique avec des outils comme Rayure, ou en faisant des cours pour débutants en utilisant des exemples de code sur Udacity ou le célèbre Stanford Informatique 101 classe.
Quelle que soit votre approche, vous devez au minimum obtenir une poignée de haut niveau sur:
- Fonctionnement d’Internet (par exemple, que se passe-t-il lorsque vous tapez une URL dans votre navigateur et appuyez sur Entrée)
- Structures de données
- Des algorithmes
- Fonctions et variables
- Logique et boucles
Vous pouvez également vouloir faire des recherches sur des choses spécifiques à votre travail – si vous travaillez dans la fintech, par exemple, apprendre quelque chose sur le cryptage pourrait être très utile.