5 compétences importantes et manquées nécessaires au meilleur développeur

image

Préface


Vous avez vu ces articles mille fois:


  • "10 choses que vous devez créer pour devenir un meilleur développeur."
  • «Les meilleurs cadres pour apprendre en 2019.»
  • "Faites-le pour devenir un développeur Rockstar."
  • "Lisez ces dix livres techniques et vous deviendrez un développeur à succès."

Ce qu'ils disent, c'est que vous devez apprendre reactjs ou node . Créez une application ToDo 1.000.000.000. Lisez le cours accéléré de Python et boom, vous êtes le meilleur développeur.

Ce sont toutes des connaissances techniques (théoriques). Vous en avez besoin, mais pensez-vous qu'un coiffeur qui sait comment tenir des ciseaux techniquement correct est bon? Il y a plus de compétences à évaluer dans chaque profession!

Parlons de ce que je pense être des compétences négligées.

Pensée abstraite


En tant que développeur, vous devez implémenter une fonction que quelqu'un utilisera. Cette personne peut être vous, le client, vos collègues, des gens d'Internet que vous ne rencontrerez jamais.

Sachant cela, votre tâche consiste à penser pour chacun d'eux et à amener la fonction à son essence.
Votre direction souhaite voir à quelle fréquence les internautes cliquent sur quelque chose sur un site Web. Vous devez comprendre que ce sont des gens qui ont une pensée spécifique .

Vos managers réfléchissent dans des listes, des chiffres et des tableaux. Pour le moment, la vue d'ensemble de votre programme complexe ne les concerne pas et ils ne les comprennent pas. Ils ne devraient pas. Ce travail est le vôtre!

Revenons à la tâche «combien de fois l'utilisateur clique sur le site» . Je m'imagine dans les deux rôles. Dans le rôle de l'utilisateur et de celui qui voit les données et essaie de comprendre ce dont l'utilisateur avait besoin.

Pour l'utilisateur final, tout doit être le même. Peut-être un avertissement apparaîtra, qu'il appuie une fois. Et c'est tout. Ces fonctionnalités ne doivent pas être visibles pour l'utilisateur final. Eh bien, c'était facile. Pensez toujours à votre utilisateur final en premier! Toujours!

Maintenant, réfléchissons à qui profite des données. Alors que veut-il voir? Juste un chiffre. Comment va 42 ? Mais que signifie ce nombre? Peut-être que la meilleure façon de mesurer n'est pas la fréquence des clics, mais le but du clic? Vous retournez voir votre équipe de développement ou vos actionnaires et leur dites qu'il vaut peut-être mieux avoir des statistiques sur la fréquence à laquelle nous cliquons et quelles actions suivent le clic? Peut-être avez-vous entendu quelque chose comme: «Oh, pouvez-vous faire ça? Oui, faisons-le . " Vous pouvez continuer à vous plonger dans l'abstraction, mais je pense que vous l'avez compris.

Formuler la bonne question


Je l'ai vu tout le temps, du développeur junior au développeur senior. Vous obtenez la tâche et vous la terminez. J'appelle ces gens Code Monkeys .

Une partie du développement consiste à poser des questions et à aller au fond de ce que nous devons réaliser (cela revient à la question de l'abstraction).
Une déclaration peut être interprétée de 1000 façons.
Vous devez comprendre pourquoi vous implémentez cette fonction. Vous voyez donc mieux les problèmes et les risques futurs.

La question «pourquoi» dans une entreprise est souvent considérée comme un problème de confiance .
Vous entendrez des déclarations comme:

  • Nous devons faire confiance à l'équipe de développement.
  • Faisons-leur confiance, ils savent ce qui est le mieux pour l'entreprise.
  • Tu ne me fais pas confiance?
  • Essayons d'abord et posons donc des questions.

Poser la question et essayer de comprendre pourquoi - n'a rien à voir avec la confiance. En tant que développeur, vous connaissez le fonctionnement interne du système. Vous pouvez voir les problèmes techniques et les points de sortie, ce qui pourrait fonctionner et ce qui pourrait ne pas fonctionner. Si vous avez déjà entendu les paroles ci-dessus, répéter ce qui suit fonctionne toujours:

  • "Je te crois, et je sais que c'est important."

Communication avec des personnes sans connaissances techniques


Combien de fois cela se produit dans des chats comme Slack:
Vous ouvrez un canal pour l'ensemble de l'entreprise et vous voyez plusieurs liens vers un article sur un blog super-technique expliquant pourquoi «forEach» est plus rapide qu'une «carte» en JavaScript.

Ou vous dites: "Non, nous ne pouvons pas faire cela" et commencez à expliquer que ReactJS n'a pas cette fonction et vous devrez charger le paquet npm.

Si votre chef de produit n'est pas issu d'un ancien développeur, il ne comprendra pas un mot de ce dont vous parlez.

Au lieu de cela, vous devriez essayer de trouver une bonne analogie dans un domaine où tout le monde comprend tout. De même, comme je l'ai fait au tout début avec le coiffeur. Une personne sans base technique peut comprendre cela et conclure que vous avez raison.

Patience


Vous avez vu ces guides sur YouTube, où les gens créent quelque chose dans une vidéo en 15 minutes, puis vous essayez de répéter, et cela prend beaucoup, beaucoup, beaucoup plus longtemps!

Vous êtes contrarié de ne pas pouvoir implémenter cette liste de tâches. C'est également la première fois que vous touchez un code. Yutuber a déjà dix ans d'expérience pratique et, en outre, s'est préparé avant de tourner la vidéo et a mis en œuvre cette liste de tâches au moins une fois, et maintenant il répète simplement le script.

Vous savez - d'où vient ce cliché, que les développeurs créent la nuit? Parce qu'on aime ça? Parce que nous sommes antisociaux? Cela ne peut être vrai que pour une petite fraction. La raison principale est que l'écriture de code prend du temps! Beaucoup de temps si vous essayez d'apprendre quelque chose de nouveau!

Opinion ferme


Je suis un gars avec un fort syndrome d’opinion quand il s’agit de développement web, et je dis aux gens mon opinion même si je sais qu’ils n’aiment pas ça. Je ne fais pas cela pour déranger les gens ou les renverser. Comment mon opinion peut-elle être si importante sur le plan émotionnel qu'après avoir entendu vous doutez de votre propre existence? Désolé, mais il y a beaucoup plus de problèmes importants autour, et vous devriez comprendre comment y faire face, car sinon cela ne mène qu'à une seule chose: la stagnation. Vous serez le même à 18, 25 et 50 ans. Je sais que c'est plus facile à écrire qu'à faire, mais il est important pour vous de savoir: "La façon dont vous vous comportez maintenant est la seule chose qui vous a conduit à une telle distance"

La pire chose qui puisse arriver dans une équipe de développement, c'est quand tout le monde a une opinion, mais personne ne l'exprime! Si cela se produit, vous êtes mort. C'est le début de la fin. Si vous n'êtes pas un singe codé, vous vous sentez chaque jour moins motivé et plus bouleversé, et ce ne sera pas seulement avec vous. Un jour, de manière inattendue, des personnes qui ont travaillé pendant plusieurs années pour une entreprise partiront - car elles ne peuvent plus le supporter.

Je ne dis pas que vous devez dire "je n'aime pas ça." Vous devez dire pourquoi et fournir quelques exemples. Ne soyez pas f * ck, mais soyez moins bouleversé chaque jour. Parce que cela n'aide personne. Donc, soit exprimer votre opinion, soit ne pas avoir d'opinion et être un singe de code, soit quitter l'entreprise pour trouver un meilleur emploi ou devenir pigiste. Je ne sais pas lequel est correct, mais ne stagne pas.

Merci d'avoir lu!

De l'auteur de la traduction
Mon opinion peut ne pas coïncider avec l'opinion de l'auteur du texte original.
Je respecte toutes les approches des programmeurs pour résoudre les tâches et n'appellerais personne code singe.
Je respecte également les sentiments des autres et je ne recommanderais à personne d'être moins contrarié.
Et ainsi de suite.
Merci d'avoir lu ce texte, je l'ai essayé et traduit pour vous et j'ai l'intention de lire vos commentaires avec une tasse de thé Strawberry Gourmet (très savoureux) avec plaisir.
N'hésitez pas à: 3.

Source: https://habr.com/ru/post/fr461647/


All Articles