15 mythes courants sur la programmation

Salut habr. Récemment, j'ai discuté avec un collègue des stéréotypes et des mythes courants que l'industrie de la programmation a acquis. Cette idée m'a semblé valoir la peine d'écrire un article ici, malgré les matériaux déjà existants sur ce sujet. Tous les arrivants - bienvenue au chat.







Il semblerait qu'une profession aussi rationnelle et fondée sur la logique soit peu susceptible d'être sujette à toutes sortes de fabrications, mais la communauté du développement rencontre encore des mythes si répandus qu'ils commencent à pénétrer la réalité. Si tous ces mythes étaient vrais, le monde de la programmation serait comme une cohorte de geeks de 20 ans utilisant leurs hautes compétences en mathématiques pour coder à tout moment du jour ou de la nuit. Si vous travaillez dans ce domaine, vous savez probablement que ce n'est pas le cas. Cependant, même les développeurs eux-mêmes ont tendance à croire à certains préjugés. Faisons les choses correctement.



1. Les bons développeurs travaillent 24 heures sur 24



Malgré la réticence à succomber à la pensée stéréotypée, l'image d'un gars apparaît immédiatement dans sa tête avec des yeux endormis et une énergie dans ses mains, comme attribut invariable de tout programmeur. Oui, il y a du vrai là-dedans - parfois, une échéance proche nécessite de sacrifier le sommeil, en particulier lorsqu'il s'agit de startups. Cependant, ce n'est pas toujours le cas.



De plus, tout le monde sait depuis longtemps qu'un manque de sommeil n'augmente pas la productivité, mais ralentit le processus. Peu de gens sont satisfaits de cet état de fait, car de nombreux développeurs ont de la famille, des amis et leurs affaires personnelles, auxquels ils sont plus susceptibles de consacrer leur temps libre. Au lieu de cultiver cette idée, la communauté de programmation devrait chercher d'autres moyens d'améliorer le flux de travail et se concentrer sur l'établissement d'objectifs, en suivant une méthodologie Agile. Peu de gens sont satisfaits de l '«usure» du travail, et cela ne s'applique pas uniquement aux programmeurs.



2. Plus les gens vérifient le code, moins il y a de bogues



Inventé par Eric S. Raymond, l'aphorisme «avec suffisamment d'yeux, tous les bugs sont à la surface» implique que l'open source a un avantage dans la mesure où tout développeur peut l'examiner et corriger les bugs. En réalité, ce n'est pas entièrement vrai, car les programmes open source ont plus d'utilisateurs qui ne sont pas en mesure de corriger les erreurs dans le code que les gens qui sont prêts à contribuer. En termes simples, sept nounous ont un enfant sans œil. La meilleure solution dans cette situation est d'employer une équipe axée sur les problèmes avec un bon logiciel de suivi des bogues.



3. Les compétences en mathématiques déterminent les compétences de développement



Oui et non, car vous ne pouvez pas dire avec certitude quelles capacités deviendront un facteur déterminant de votre croissance professionnelle. Un penchant pour les mathématiques ne garantit pas un succès absolu, tout comme son absence ne conduit pas à l'échec. À l'exception des jeux, la plupart des développeurs n'utilisent que l'algèbre et les statistiques de base pour connaître l'efficacité du code, mais c'est ici que les connaissances fondamentales sont impliquées.



4. Les développeurs sont des génies



Il n'est pas nécessaire d'être un génie pour être programmeur, il suffit d'avoir de la motivation et la capacité d'apprendre. Les erreurs font partie intégrante du développement professionnel, et même les développeurs ingénieux les font. Il est seulement important de pouvoir les transformer en leçons utiles qui vous permettront d'améliorer vos compétences.



5. Il suffit de maîtriser une chose



Le monde de la programmation évolue à la vitesse de la lumière, ce qui signifie que vous aurez toujours quelque chose à apprendre. Une fois que vous maîtrisez une seule langue, vous serez tôt ou tard coincé dans une impasse qui nécessitera des solutions flexibles. Si vous arrêtez d'éduquer, vous stagnerez et cesserez d'être compétitif, alors soyez prêt à vous améliorer tout au long de votre carrière.



6. La langue X est meilleure



La vérité est qu'il n'y a pas de langage omnipotent pour tout le développement. Chaque langue remplit une niche spéciale dans cet environnement et est destinée à des fins spécifiques. Pour le développement de logiciels interactifs, le développeur est plus susceptible d'utiliser JavaScript, et pour quelque chose orienté vers la vitesse de la tâche - C ++. Le débat sur la supériorité d'une langue sur une autre est tout simplement inapproprié, car chacune d'elles est centrée sur des tâches spécifiques qui n'ont rien à voir avec des préjugés personnels.



7. Vous pouvez maîtriser la langue en quelques semaines.



Je déteste tuer l'enthousiasme des débutants, mais quelques semaines ne suffiront pas. Même si vous pouvez apprendre les principes de base de la langue en deux à trois semaines, pour le reste, vous aurez besoin de beaucoup de force, de persévérance et de pratique. En l'absence d'intérêt et de patience, vous ne serez pas suffisant pendant longtemps et il est impossible de maîtriser un large éventail de compétences en peu de temps.



Faites un parallèle entre le travail d'un programmeur et le travail d'un médecin: un chirurgien inexpérimenté ne peut réussir une opération sans une bonne pratique derrière lui, tout comme un programmeur ne peut pas écrire un code complexe sans passer du temps à étudier tous les aspects. En d'autres termes, un bon développeur doit développer la mémoire musculaire aussi mal qu'un chirurgien.



8. Mise en production du produit = fin des travaux sur le projet



En réalité, le développement logiciel est rarement complet. Bien sûr, la direction et les développeurs aimeraient croire que le grand logiciel multi-niveaux qu'ils ont créé fonctionnera pendant de très longues années. Cependant, au fil du temps, de nouveaux problèmes peuvent apparaître qui devront être résolus, et les applications changeront et nécessiteront l'ajout de nouvelles fonctionnalités, de sorte que le processus est sans fin. Vous devez vous rappeler les coûts de support et de maintenance, ainsi qu'investir dans le développement de l'innovation pour maintenir la compétitivité.



9. La programmation consiste simplement à écrire du code



Beaucoup de gens croient à tort que les développeurs transforment simplement les idées en code, sans comprendre l'essence des décisions prises lors du processus de rédaction. C'est une grande idée fausse, car à chaque étape, les développeurs doivent trouver des solutions abstraites au problème et anticiper les éventuels bogues avant même qu'ils ne surviennent, ce qui nécessite une connaissance et une compréhension approfondies du problème. Entre autres choses, ils doivent faire face à de nombreuses exigences non fonctionnelles et à des décisions de conception qui ont échoué, et seuls les bons développeurs peuvent les suivre et les transmettre de manière intelligible à l'équipe, prenant indépendamment des décisions plus petites.



10. La programmation n'est pas une activité créative



Un tel stéréotype est le plus souvent basé sur des représentations superficielles de personnes éloignées de cette sphère, car l'écriture de code, d'algorithmes et d'autres moments du monde de la programmation semblent à l'homme du commun quelque chose d'étranger à l'activité créatrice. Oui, la logique et le domaine scientifique et technique de la connaissance peuvent sans aucun doute être appelés les fondements de la programmation, mais cela ne nie pas son côté créatif. Dans une certaine mesure, cela peut être appelé une forme d'art, car de nombreux développeurs essaient de concevoir le code magnifiquement, de le structurer et de le rendre plus propre. Ce n'est rien d'autre qu'un processus créatif.



11. Les développeurs ont de faibles compétences sociales



Selon beaucoup de gens, les programmeurs sont des solitaires, prêts à passer tout leur temps libre seuls avec leur ordinateur, et dès qu'il s'agit de communication sociale, ils perdent la raison et ont tendance à se fermer du monde extérieur. Ce mythe peut être lié au tout premier point.



Cependant, la position d'un programmeur, comme tout autre, ne fera pas de vous une phobie sociale insociable et il est peu probable qu'elle affecte vos traits de caractère. En succombant à ce stéréotype, de nombreux managers interagissent avec les développeurs de telle sorte que leur apport communicatif est sous-estimé. Chaque développeur est un individu avec ses propres caractéristiques internes, et ce n'est pas parce qu'il aime écrire du code qu'il a peur des gens.



12. Les jeunes développeurs se considèrent comme les meilleurs spécialistes



C'est peut-être une question d'âge, mais au début d'une carrière, de nombreux développeurs ont tendance à penser qu'ils sont meilleurs que leurs collègues expérimentés. Ils maîtrisent les nouvelles technologies qui, selon eux, sont plus productives et, par conséquent, plus utiles que l'utilisation de plates-formes plus anciennes. En fait, de nombreux développeurs apprennent les nouvelles technologies au fur et à mesure qu’ils grandissent (sinon, il est difficile de rivaliser et de rester en demande). Et les diplômés récemment diplômés négligent souvent un facteur important: la profondeur et l'étendue de l'expérience qui ne vient qu'avec le temps.



13. La programmation est ennuyeuse



Voudriez-vous consacrer votre vie à ce qui vous semble ennuyeux? La réponse est évidente, chacun détermine la portée de ses intérêts. La programmation peut être aussi amusante que toute autre activité car c'est un mélange d'architecture, de mathématiques et de langage. Les gens qui trouvent le développement ennuyeux ne comprennent pas toutes les subtilités. Mais les développeurs savent que le développement est une formation continue, la recherche de solutions efficaces et la possibilité de se sentir comme le créateur de quelque chose d'important et d'utile. À quel point cela peut-il être ennuyeux?



14. Après 35 ans, la carrière de développement prend fin



L'âgisme est une partie très réelle du monde de la programmation, mais l'âge n'est pas quelque chose que vous pouvez abandonner dans votre carrière. Les gens qui sont coincés dans la même langue ou qui n'ont pas su maîtriser les nouvelles plateformes et technologies contribuent à la confirmation de ce mythe.



Cela ne veut pas dire que les développeurs abandonnent complètement la programmation après 35 ans. Bon nombre d'entre eux occupent des postes de direction ou créent leur propre entreprise. D'autres continuent d'apprendre et de se développer avec amour pour leur cause tout au long de leur carrière, il ne s'agit que d'une volonté de recevoir des informations pertinentes et de suivre les changements en cours.



15. Les développeurs sont une marchandise



Souvent, les gens pensent que plus un développeur écrit de lignes de code, plus il est productif, mais le développement ne pose pas de problème. Il est insensé d'embaucher des programmeurs moins chers et de s'attendre à ce que le travail soit aussi bien fait. Les développeurs sont avant tout des personnes. Chacun d'eux a ses propres compétences, caractéristiques personnelles et connaissances. Comme pour les langages, les programmeurs peuvent être plus performants dans certains projets que dans d'autres, ce qui à son tour affectera l'efficacité du processus de développement.



Conclusion



Il sera intéressant pour moi d'entendre parler des stéréotypes ridicules que vous avez rencontrés au cours de votre pratique (et je suis sûr qu'il y en avait pas mal). Laissez vos options dans les commentaires.



All Articles