Maison >titres >Trois choses pour faire de vous un programmeur efficace

Trois choses pour faire de vous un programmeur efficace

小云云
小云云original
2017-11-27 09:07:091723parcourir

Cet article est un article sur le développement de la programmation publié par un programmeur senior très expérimenté. Il utilisera sa propre expérience en tant que programmeur pour nous dire ce qu'un programmeur ayant une grande efficacité de développement doit faire.

Beaucoup d'entre nous commencent à programmer avec un objectif spécifique en tête. Par exemple, lorsque j'ai commencé à programmer, c'était pour me permettre de jouer automatiquement à la version texte du jeu MUD pendant mon sommeil et à l'école. J'étais un enfant de 13 ans, j'écrivais des scripts et je ne savais même pas ce qu'était la programmation. Je pourrais avoir une idée, puis écrire le code et le tester - tout seul.

Cela devient difficile lorsque nous développons des logiciels pour d'autres personnes car nous manquons souvent du même type de motivation et d'enthousiasme qui nous pousse à poursuivre nos propres désirs. Au lieu d'avoir nos propres idées, nous passons des heures en réunion à essayer de comprendre ces idées, puis nous passons la plupart du temps à modifier le code des autres - ou à soumettre le nôtre. Cela crée un niveau de déconnexion qui réduit la productivité.

Pour devenir un développeur 10x plus efficace, vous devez apprendre à exceller dans cet environnement et même créer votre propre entreprise pour diriger l'effort.

N'importe qui peut devenir un développeur 10 fois plus efficace, au moins à un moment donné chaque jour. Je pense qu'il y a trois choses sur lesquelles tous les développeurs devraient se concentrer pour améliorer la productivité et le travail d'équipe.

Trois choses

Pour devenir un développeur 10 fois plus efficace, vous avez besoin de plusieurs années d'expérience professionnelle, quels que soient le langage de programmation et l'ensemble d'outils. Vous devez être doué pour résoudre des problèmes et écrire du code, c'est indispensable.

Il est important que vous compreniez que la façon dont vous écrivez du code ne fait pas de vous un développeur 10 fois plus efficace, un ingénieur 10 fois plus efficace, un programmeur 10 fois plus efficace, ou quel que soit le nom que vous voulez lui donner.

Vous connaissez les 5 W : « Qui, Quoi, Où, Pourquoi, Quand ». Bien que tout cela s'applique au développement de logiciels, je souhaite me concentrer sur trois caractéristiques qui définissent un développeur 10 fois plus efficace. Ces trois éléments séparent les développeurs moyens des développeurs 10 fois plus efficaces :

Quoi (Quoi)

Pourquoi (Pourquoi)

Quand (Quand)

Savoir quoi faire

Dans le monde de l'entreprise, les développeurs travaillent souvent sur des projets qui ne les intéressent pas beaucoup et ne comprennent pas. Pour la plupart des développeurs, ce n'est pas un gros problème, tant qu'ils reçoivent de bonnes instructions et que le résultat est clairement défini.

Le problème est que les développeurs ne reçoivent souvent pas suffisamment d'instructions. Au lieu de cela, nous utilisons ce qu’on appelle le « développement agile ». Nous recevons une note contenant quelques mots et sommes censés savoir exactement ce qui doit être fait.

Le développement de logiciels est avant tout une question de communication. Les développeurs doivent savoir ce que nous faisons, quel problème nous essayons de résoudre et quels sont exactement les résultats souhaités. Plus nous en savons, plus vite nous pouvons le faire. Plus important encore, il est essentiel de connaître le but du travail et ce qui en assurera le succès.

Les mauvais développeurs passeront des heures sur un projet dans la mauvaise direction sans se poser de questions. Ce sont ce que j'appelle des développeurs 10x négatifs car ils n'accomplissent rien et font perdre le temps à tous leurs collègues. Presque tout le monde a rencontré ces développeurs et travailler avec eux peut être frustrant. Il faut faire attention à ne pas tomber dans leur habitude !

Certains développeurs travaillent bien sans beaucoup de détails. Ils ont beaucoup de créativité et posent les bonnes questions. Ces licornes pourraient être des développeurs 10 fois plus efficaces. Ils savent comment résoudre les problèmes et élèvent souvent toute l’équipe.

En fin de compte, les développeurs 10x efficaces sont vraiment doués pour identifier rapidement ce qui doit être fait et les questions à poser.

Comprendre pourquoi

Le plus grand obstacle dans le développement de logiciels est peut-être de comprendre pourquoi. Si vous ne comprenez pas le problème que vous essayez de résoudre, il est difficile de le résoudre.

Pourquoi dois-je rassembler plusieurs scripts de terminal pour jouer à des jeux MUD en dormant et en allant à l'école ? Bien sûr, je veux atteindre le plus haut niveau du jeu. Je sais exactement pourquoi et je fais tout ce qui est en mon pouvoir pour atteindre mes objectifs.

La même approche peut être appliquée à tout projet de développement logiciel. Comprendre le secteur vertical dans lequel ils évoluent et le problème qu'ils tentent de résoudre rendra les développeurs plus efficaces. Savoir pourquoi et comprendre le secteur vertical peut également aider à éviter un travail inutile, libérant ainsi du temps pour se concentrer sur les choses qui rendront le produit ou la fonctionnalité plus précieux pour les utilisateurs.

Le problème est que savoir pourquoi ne suffit pas. Pour être un véritable développeur 10x, vous devez être passionné par le problème et le comprendre de fond en comble. Je crois que la plupart des développeurs 10x efficaces sont également des spécialistes du produit dans l'âme, avec une bonne vision du produit.

Savoir quoi faire quand

Le temps est très important dans les projets de développement logiciel. Déterminer l’ordre dans lequel les tâches du projet doivent être abordées peut sembler facile, mais c’est essentiel. Votre travail pourrait-il aider l’entreprise à acquérir un nouveau client ou à effacer d’anciennes dettes techniques ?

En tant qu'équipe de développement, nous devons constamment choisir ce que nous faisons et quand nous le faisons.

Tous les projets de développement de logiciels appartiennent aux trois catégories suivantes :

Choses que nous devons faire

Choses que nous devons faire

Choses que nous voulons faire faire des choses

Nous devons compléter de nouvelles fonctionnalités pour nos clients. Nous devons corriger les bugs des logiciels. Nous souhaitons réduire une partie de notre dette technique ou développer de nouvelles fonctionnalités intéressantes. Tout cela nécessite des compromis.

Nous devrions travailler simultanément sur des projets dans les trois dimensions. Nous ne pouvons pas consacrer tout notre temps à la dette technique, mais peut-être devrions-nous y consacrer une petite partie de notre temps.

Les développeurs doivent également savoir quand intégrer une architecture complexe dans leur code. Je préfère garder le code aussi simple que possible et n'ajouterai pas de schéma jusqu'à ce qu'il soit temps de mourir sans ajouter de schéma.

Les développeurs doivent également savoir quand éviter de courir après des trucs à la mode. Ils ont tendance à utiliser de nouveaux outils et techniques, mais ces éléments peuvent simplement ralentir un projet au lieu de le terminer plus rapidement.

Les développeurs 10 fois plus efficaces savent établir des priorités et savoir quand investir du temps dans l'architecture plutôt que d'utiliser un désordre de code semblable à un spaghetti pour réaliser quelque chose. N'oubliez pas que vos utilisateurs ne se soucient pas du fonctionnement de votre logiciel ni de la sophistication de son architecture. Ils veulent juste que cela résolve le problème. Les développeurs de 10x Productivity le comprennent.

Maîtrisez le quoi, le pourquoi et le quand pour devenir un développeur 10 fois plus efficace

Parlons maintenant de devenir un développeur 10 fois plus efficace Compétences importantes : Maîtriser quoi (Quoi), pourquoi (Pourquoi) et quand (Quand).

Commencez par Pourquoi

La première étape pour devenir un développeur 10 fois plus efficace est de devenir passionné par les logiciels et les problèmes que vous souhaitez résoudre. Vous devez le comprendre complètement, à l’intérieur comme à l’extérieur. Cela commence par être passionné par l'entreprise pour laquelle vous travaillez et par sa mission.

N'écrivez pas un bouton simplement parce que quelqu'un d'autre vous l'a demandé. Essayez de comprendre pourquoi à un niveau supérieur. Si vous continuez à vous concentrer sur le pourquoi, vous apporterez une plus grande valeur à votre équipe et à votre entreprise.

Soyez un bon développeur et un bon résolveur de problèmes, pas le meilleur programmeur

Je me décrirais comme un développeur hacker. Je suis le genre de personne qui peut rapidement créer du code laid et résoudre presque n'importe quel problème. Mon code est rarement beau, mais il résout un problème. C'est ce qui compte le plus.

Vous n'avez pas besoin d'écrire du code et des tests unitaires parfaits pour devenir un développeur 10 fois plus efficace. Vous devez savoir quand faire ces choses et quand ne pas les faire.

Un développeur 10x efficace excelle dans la résolution de problèmes spécifiques et la satisfaction des besoins de l'entreprise grâce au code. La chose la plus intelligente que vous puissiez faire est de savoir jusqu'où cela ira avant de confier le projet à quelqu'un d'autre (qui est meilleur pour finaliser certaines architectures et autres détails).

Quand c'est dans votre cœur, ou pas

Savoir quand construire une architecture complexe plutôt que de bricoler quelque chose nécessite de l'expérience et vos sens Spider-Man. Soit vous ressentez cela, soit vous ne savez tout simplement pas.

Certains des développeurs les plus intelligents avec lesquels j'ai jamais travaillé étaient incapables de donner la priorité aux modèles et à l'architecture plutôt qu'aux fonctionnalités et à la planification. Ils implémentent ou refactorisent toujours encore et encore, s'efforçant d'obtenir un « code parfait » plutôt qu'un « code livrable ».

Les développeurs 10x efficaces doivent utiliser leur expérience et leur instinct pour savoir quand se concentrer sur l'architecture et la perfection, et quand simplement faire avancer les choses.

Savoir quoi faire et quoi demander

Une grande partie du développement de logiciels se résume à des compétences en communication. Malheureusement, de nombreuses notes et exigences relatives aux projets sur lesquels nous devons travailler ne sont pas très détaillées. Un développeur 10 fois plus efficace sait comment les lire, appliquer ce qu'il sait sur le « pourquoi » de l'entreprise et poser des questions pertinentes.

Les meilleurs développeurs savent combien de temps consacrer à quelque chose avant de demander de l'aide. Ils savent également quelles questions poser pour clarifier les exigences afin de faire avancer le projet.

Conclusion

J'écris du code depuis plus de 15 ans. On pourrait dire que je suis un développeur 10 fois plus efficace, ou du moins je peux. Je sais dans quoi je suis bon, et quand je fais ce pour quoi je suis bon, je peux accomplir beaucoup de travail très rapidement.

Si vous souhaitez prototyper un nouveau produit, je suis votre homme. Si vous avez besoin d'aide avec Angular, React ou un autre frontal, je ne suis certainement pas votre homme. Je serais un développeur moins 10 fois plus efficace sur ces tâches.

Le développeur 10x plus efficace n'est pas un mythe. Ils existent. Il s’agit très probablement d’un responsable du développement, d’un architecte, d’un développeur principal ou d’un fondateur d’entreprise. Si ce n’est pas le cas, ils devraient faire une transition. Plus tard, je suis devenu le fondateur de l’entreprise, à deux reprises maintenant.

Bien sûr, personne ne peut être un développeur 10 fois plus efficace à chaque moment de la journée. Nous n’avons ni l’énergie ni la concentration nécessaires pour travailler à ce rythme tous les jours. Nous ne sommes pas des robots.

Si vous comprenez le « Quoi, Pourquoi, Quand » du développement logiciel, vous pouvez être un membre d'équipe plus efficace et meilleur – même un développeur quotidien 10 fois plus productif en quelques heures. Cela fait une grande différence.

Ce qui précède est ce qu'il a partagé, j'espère que cela sera utile à tout le monde.

Recommandations associées :

Résumé de l'expérience en matière de développement de mini-programmes

Sept choses que les programmeurs en pleine croissance doivent faire

Une brève discussion sur l'avenir des programmeurs PHP

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn