Guide du chef de produit sur le codage – Abhishek Chakravarty
This post first appeared in my weekly newsletter where I talk about Product Management, How to Code & Life Lessons. Not a subscriber yet? Sign up here
Permettez-moi tout d’abord de m’excuser de ne pas avoir pu poster cela plus tôt. Ces dernières semaines ont été assez folles. Comme vous tous, je m’habitue au travail à domicile, et ma discipline d’écriture et mon emploi du temps devaient être ajustés. J’espère que vous êtes tous en bonne santé et en sécurité.
Ok, c’est donc une suite au post précédent sur l’apprentissage du code. Partie 1 était sur le point mon voyage avec code & Partie 2 concerne (a) l’apprentissage du codage et, (b) les technologies populaires largement utilisées que vous souhaiterez peut-être apprendre.
Il y a beaucoup de débats sur la question de savoir si l’on doit ou non apprendre à coder. Naval Ravikant, qui est sans doute l’un des plus grands penseurs de notre temps, croit que tout le monde devrait apprendre à coder ou au moins savoir certains codage. J’ai tendance à être d’accord.
Cela peut signifier beaucoup de choses. Pour moi personnellement, cela signifie que vous pouvez écrire du code informatique pour résoudre un problème que vous avez toujours voulu résoudre.
La solution pourrait être n’importe quoi – une macro VBA Excel, un simple «prototype» ou une application hautement sophistiquée. Cela dépend vraiment du problème.
La bonne nouvelle est que si vous pouvez écrire une macro Excel VBA, vous pouvez presque certainement créer une application Web. Les technologies et les langages de programmation peuvent être différents, mais les compétences de base sont les mêmes.
Donc, vous voyez, la compétence sous-jacente est la résolution de problèmes. Chaque morceau de code que vous écrivez devrait résoudre un problème.
D’après mon expérience, en tant que chef de produit, la capacité de coder vous donne des super pouvoirs. Il permet une meilleure compréhension des produits que vous gérez et permet des conversations informées et impliquées avec votre équipe logicielle. La capacité de coder vous donne les côtelettes nécessaires pour construire des prototypes rapides pour vous aider à vendre votre vision et sécuriser le financement de vos idées ou fonctionnalités de produits.
Par exemple, dans mon dernier emploi «d’entreprise» en tant que chef de produit pour les thermostats Wi-Fi, j’ai piraté ensemble un prototype «LIVE» d’un produit, «fait une démonstration» de ma vision à la direction et finalement obtenu le financement pour installer mon propre logiciel. équipe et lancer un vrai produit.
Donc, si vous êtes un chef de produit lisant ceci et que vous avez toujours voulu apprendre à coder, cet article explique comment vous pouvez commencer.
Si vous n’êtes pas chef de produit, mais que vous voulez simplement apprendre à coder – bien sûr, ce message est aussi pour vous!
En règle générale, les applications Web «Hello World» sont les plus simples de toutes. L’utilisateur saisit une URL sur son navigateur et le serveur renvoie une page qui dit «Bonjour tout le monde».
La plupart des guides de démarrage commencent par un didacticiel Hello World et constituent un bon moyen de se familiariser avec une pile technologique. Bien sûr, les applications Hello World ne sont pas très utiles à des fins pratiques.
Un autre assez simple, mais plus pratique l’application Web peut être une application To-do ou Application de gestion des tâches qui vous aide à être plus productif en vous permettant de enregistrez vos tâches quotidiennes et alors vous montrer ces tâches en cas de besoin. De plus, les applications de gestion des tâches vous permettront également Modifier et supprimer des tâches qui sont complets.
Pour créer une telle application, vous devrez fournir aux utilisateurs un moyen de créer un compte et de se connecter, vous aurez besoin d’une page Web où les utilisateurs peuvent ajouter, récupérer, modifier et supprimer leurs tâches et une base de données qui stockera leurs tâches.
Tout d’abord, choisissez un langage de programmation. Si vous commencez à apprendre à coder, je vous recommande fortement d’apprendre Javascript, car cela vous aidera à couvrir beaucoup de terrain en ce qui concerne la création d’applications Web. Je vous recommande également très fortement de lire cette série de messages pour comprendre comment Javascript fonctionne vraiment sous le capot. C’est fascinant.
Statistiques GitHut: Javascript est la langue la plus populaire et il y a une raison
Il existe plusieurs façons de créer une application Web et il y a plusieurs choix technologiques à faire en fonction de l’utilisateur cible, de votre niveau d’expertise, de la complexité fonctionnelle, etc. Mais au cours des dernières années, il y a eu quelques technologies et les cadres qui sont devenus des choix populaires pour créer une application Web.
Comme vous pouvez le voir, il existe une tonne de façons de créer une application Web. Vous choisirez généralement une technologie frontale, une technologie dorsale, certains cadres et une base de données.
Dans cet article, je vais discuter d’une «pile» technologique assez populaire → La «SIGNIFIER’ Empiler.
Une «pile technologique» est simplement un ensemble de technologies généralement regroupées pour créer une application.
SIGNIFIER est rapide, efficace et très flexible pour construire des choses rapidement. Plus important encore, vous pouvez utiliser Javascript pour créer le front-end ainsi que le back-end d’une application Web.
Étant donné que je suis un programmeur Javascript, la pile MEAN est mon application préférée pour créer des applications et des prototypes simples. Pour notre exemple d’une application Web Task Manager simple, MEAN est parfait.
M →MongoDB, E →Express JS, A →Angular JS, N →Node JS
Ce sont toutes des technologies qui alimentent collectivement un grand nombre des applications Web que nous utilisons quotidiennement. Comme je l’ai dit plus tôt, vous pouvez simplement utiliser Javascript pour créer l’application Web de bout en bout (et vous n’avez pas besoin d’être un expert en la matière).
Examinons brièvement chacune de ces technologies de composants et voyons ce qu’elles nous permettent généralement de faire. Nous allons d’abord regarder Nods JS, puis Express JS, suivi par JS angulaire & enfin MongoDB.
Node JS est un «environnement d’exécution» open source pour le développement d’applications Web. Les applications Node JS sont écrites en JavaScript et peuvent être exécutées dans le runtime Node sous OS X, Windows ou Linux. Il est utilisé pour écrire du côté serveur code de script.
Nœud essentiellement crée un environnement de sorte que votre programme Javascript puisse envoyer des instructions ou des commandes au processeur et accéder à d’autres ressources système telles que la RAM. En d’autres termes, votre programme peut «s’exécuter».
Il est «propulsé par» Google Chrome Moteur Javascript V8. Ce moteur est celui qui convertit votre code Javascript (a.k.a High-Level / Human Readable) en codes que l’ordinateur peut comprendre (Low Level / Machine Readable).
La bonne nouvelle? Vous n’avez pas besoin de connaître les détails techniques les plus approfondis pour commencer à créer des applications Web simples sur Node.
Voici le guide de démarrage officiel de Node que vous pouvez suivre. C’est aussi comme ça que j’ai commencé. Commencez simplement à construire et découvrez les derniers concepts en cours de route. de cette façon, l’apprentissage est beaucoup plus significatif, plus rapide et axé sur les objectifs que de lire toute la journée sur les concepts de l’informatique, en particulier lorsque le domaine évolue si rapidement.
Je n’ai pas mentionné deux choses importantes à propos de Node JS dans la section précédente Première – Node JS vous permet de créer un SERVEUR WEB dans environ 10 lignes de code javascript.
Un serveur Web est un logiciel qui lit votre «demande» lorsque vous saisissez une URL dans le navigateur et renvoie une «réponse» telle qu’une page HTML.
Seconde – Node JS fournit également une riche bibliothèque de modules JavaScript qui simplifie considérablement le développement d’applications Web. Un de ces modules Javascript est ce dont nous discuterons ensuite, Express JS.
Lors de la création d’une véritable application Web telle qu’une application To-Do, vous serez confronté à de nombreuses questions – voici quelques-unes des questions de base qui reviennent à chaque fois
- Acheminement – Effectuez différentes actions en fonction de la méthode HTTP et des «routes» URL demandées par l’utilisateur. par exemple. si l’utilisateur souhaite «ajouter des tâches», rendez-vous sur la page «Ajouter une tâche». Si l’utilisateur souhaite supprimer des tâches, dirigez-les vers la page «Supprimer les tâches».
- Rendu dynamique – comment passer des données utilisateur d’une page HTML dans l’application à une autre?
- Biscuits – Comment s’assurer que l’utilisateur n’a pas à se connecter à chaque fois qu’il souhaite utiliser l’application
C’est là qu’Express JS entre en jeu. Express JS est un cadre d’application Web qui fonctionne avec Node JS pour vous aider à organiser votre application Web et à accélérer considérablement le temps de développement. Express JS fait beaucoup de travail pour vous que vous auriez autrement dû faire vous-même – comme analyser la charge utile, les cookies, la gestion de session, le routage, etc. Sans Express JS, votre temps de développement sera 10X ou plus.
Express permet de gérer très facilement les défis ci-dessus en gardant l’ensemble de l’application Web organisée et facile à déboguer au cas où quelque chose ne fonctionnerait pas correctement (ce qui arrivera souvent, peu importe votre qualité).
Express JS est LE framework le plus populaire pour Node JS. Si vous apprenez le développement Web sur Node JS, il n’y a pas moyen de le contourner et pour une bonne raison!
Angular JS aide les développeurs à créer des données interactives Frontaux / côté client d’applications Web (par rapport à Node JS qui se spécialise dans les applications Web côté serveur), ce qui en fait l’un des frameworks JavaScript frontaux les plus préférés aujourd’hui.
L’apprentissage angulaire peut être très impliqué, car il nécessite une compréhension approfondie de prototypage, portée, et divers autres aspects JavaScript. Mais je recommande quand même d’apprendre ces concepts car cela vous aidera à devenir un meilleur développeur et à créer des applications hautement spécialisées.
Il est cependant facile de démarrer avec Angular. Si vous êtes un débutant ou si vous ne savez pas grand-chose sur Angular JS, voici un excellent tutoriel que vous pouvez suivre pour commencer.
Si vous créez applications en temps réel comme la messagerie instantanée ou les applications de chat, Angular JS est la voie à suivre. Pour une application Task Manager simple, vous n’en aurez peut-être pas besoin, mais si vous le faites, Angular contribuera à rendre l’expérience utilisateur bien meilleure!
Si vous souhaitez créer une application Web, elle va certainement interagir avec certaines données, et si votre application Web a besoin que les données soient stockées pour référence future, elle aura également besoin d’une base de données.
Mongo DB est une base de données où toutes les données dont une application Web peut avoir besoin peuvent être stockées. Les données sont stockées dans le JSON (JavaScript Object Notation) Format que votre application Web peut demander.
C’est bien, car une grande partie du transfert de données entre les applications Web se produit déjà au format JSON. Nous pouvons convertir tout objet JavaScript en JSON et envoyer ce JSON à MongoDB pour le stocker et le récupérer si nécessaire.
MongoDB a été un choix très populaire pour les développeurs Web si les besoins en données sont relativement simples. Il est open-source (il est donc GRATUIT) et bénéficie également d’un grand soutien communautaire. Ce dernier est assez important, au cas où vous seriez coincé avec un problème que vous n’avez aucune idée sur la façon de le résoudre.
Voici une rapide Mongo DB tutoriel de mise en route c’est super simple à comprendre et à suivre
Une fois que vous aurez joué un peu avec chaque technologie, vous commencerez à comprendre. La meilleure façon de les apprendre est de procéder comme suit
- Regardez quelques vidéos de tutoriel. Il existe des tonnes de tutoriels gratuits.
- Créer l’application «Hello World»s. Cela vous aidera à avoir une idée générale de la technologie.
- Ajoutez lentement de la complexité et créez une application que vous avez toujours voulu construire. En d’autres termes, une solution au problème que vous avez toujours voulu résoudre.
- Si vous avez des questions ou avez besoin d’aide, contactez mon Twitter et je vous aiderai à démarrer!