Trois choses pour faire de vous un programmeur efficace
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

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Le nouveau gestionnaire de tâches de Windows 11 22H2 est une aubaine pour les utilisateurs expérimentés. Il offre désormais une meilleure expérience d'interface utilisateur avec des données supplémentaires pour garder un œil sur vos processus, tâches, services et composants matériels en cours d'exécution. Si vous utilisez le nouveau Gestionnaire des tâches, vous avez peut-être remarqué le nouveau mode de productivité. qu'est-ce que c'est? Cela contribue-t-il à améliorer les performances des systèmes Windows 11 ? Découvrons-le ! Qu’est-ce que le mode productivité dans Windows 11 ? Le mode productivité est l'une des tâches du Gestionnaire des tâches

L’agent IA de DeepMind est de nouveau au travail ! Attention, ce type nommé BBF a maîtrisé 26 jeux Atari en seulement 2 heures. Son efficacité est équivalente à celle des humains, surpassant tous ses prédécesseurs. Vous savez, les agents d'IA ont toujours été efficaces pour résoudre des problèmes grâce à l'apprentissage par renforcement, mais le plus gros problème est que cette méthode est très inefficace et nécessite beaucoup de temps à explorer. Picture La avancée apportée par BBF se situe en termes d'efficacité. Pas étonnant que son nom complet puisse être appelé Bigger, Better ou Faster. De plus, il peut effectuer une formation sur une seule carte et les besoins en puissance de calcul sont également considérablement réduits. BBF a été proposé conjointement par Google DeepMind et l'Université de Montréal, et les données et le code sont actuellement open source. L'humain le plus élevé possible

PyCharm est un puissant environnement de développement intégré (IDE) Python largement utilisé par les développeurs Python pour l'écriture de code, le débogage et la gestion de projets. Dans le processus de développement réel, la plupart des développeurs seront confrontés à différents problèmes, tels que comment améliorer l'efficacité du développement, comment collaborer avec les membres de l'équipe sur le développement, etc. Cet article présentera un guide pratique du développement à distance de PyCharm pour aider les développeurs à mieux utiliser PyCharm pour le développement à distance et à améliorer l'efficacité du travail. 1. Travail de préparation dans PyCh

StableDiffusion est un modèle d'apprentissage profond open source. Sa fonction principale est de générer des images de haute qualité via des descriptions textuelles et prend en charge des fonctions telles que la génération de graphiques, la fusion de modèles et la formation de modèles. L'interface de fonctionnement du modèle est visible dans la figure ci-dessous. Comment générer une image. Ce qui suit est une introduction au processus de création d'une image d'un cerf buvant de l'eau. Lors de la génération d'une image, elle est divisée en mots d'invite et en mots d'invite négatifs. Lors de la saisie des mots d'invite, vous devez la décrire. clairement et essayez de décrire la scène, l’objet, le style et la couleur que vous souhaitez en détail. Par exemple, au lieu de simplement dire « le cerf boit de l'eau », il est écrit « un ruisseau, à côté d'arbres denses, et il y a des cerfs qui boivent de l'eau à côté du ruisseau ». Les mots d'invite négatifs vont dans la direction opposée. aucun bâtiment, aucune personne, aucun pont, aucune clôture et une description trop vague peuvent conduire à des résultats inexacts.

Avec le développement rapide d’Internet, l’importance des bases de données est devenue de plus en plus importante. En tant que développeur Java, nous impliquons souvent des opérations de base de données. L'efficacité du traitement des transactions de base de données est directement liée aux performances et à la stabilité de l'ensemble du système. Cet article présentera certaines techniques couramment utilisées dans le développement Java pour optimiser l'efficacité du traitement des transactions de base de données afin d'aider les développeurs à améliorer les performances du système et la vitesse de réponse. Opérations d'insertion/mise à jour par lots Normalement, l'efficacité de l'insertion ou de la mise à jour d'un seul enregistrement dans la base de données en une seule fois est bien inférieure à celle des opérations par lots. Par conséquent, lors de l'exécution d'une insertion/mise à jour par lots

Les navigateurs basés sur Chromium comme Edge utilisent beaucoup de ressources, mais vous pouvez activer le mode efficacité dans Microsoft Edge pour améliorer les performances. Le navigateur Web Microsoft Edge a parcouru un long chemin depuis ses humbles débuts. Récemment, Microsoft a ajouté un nouveau mode d'efficacité au navigateur, conçu pour améliorer les performances globales du navigateur sur PC. Le mode Efficacité permet de prolonger la durée de vie de la batterie et de réduire l’utilisation des ressources système. Par exemple, les navigateurs construits avec Chromium, tels que Google Chrome et Microsoft Edge, sont connus pour monopoliser les cycles de RAM et de processeur. Par conséquent, afin

Titre : Python rend la vie plus pratique : maîtrisez ce langage pour améliorer l'efficacité du travail et la qualité de vie. En tant que langage de programmation puissant et facile à apprendre, Python devient de plus en plus populaire à l'ère numérique d'aujourd'hui. Non seulement pour écrire des programmes et effectuer des analyses de données, Python peut également jouer un rôle important dans notre vie quotidienne. La maîtrise de cette langue peut non seulement améliorer l'efficacité du travail, mais également améliorer la qualité de vie. Cet article utilisera des exemples de code spécifiques pour démontrer la large application de Python dans la vie et aider les lecteurs

Le rôle du masque de sous-réseau et son impact sur l'efficacité de la communication réseau Introduction : Avec la popularité d'Internet, la communication réseau est devenue un élément indispensable de la société moderne. Dans le même temps, l'efficacité de la communication en réseau est également devenue l'un des centres d'attention des gens. Dans le processus de création et de gestion d'un réseau, le masque de sous-réseau est une option de configuration importante et basique, qui joue un rôle clé dans la communication réseau. Cet article présentera le rôle du masque de sous-réseau et son impact sur l'efficacité des communications réseau. 1. Définition et fonction du masque de sous-réseau Masque de sous-réseau (subnetmask)