8 conseils pour les programmeurs débutants ou une rétrospective de ma carrière



Il y a exactement 15 ans, ce jour-là, les genoux tremblants, j'ai franchi le seuil du bureau d'un petit fournisseur de services Internet provincial. Mon premier vrai travail de programmeur. Presque aucune connaissance. Une voix mince et effrayée, quelque part dans l'estomac, conseille de se retourner et de s'enfuir jusqu'à ce qu'elle soit finalement déshonorée. Une profonde inspiration et expiration, et ici le PDG me conduit déjà dans une petite pièce du sous-sol, montrant un ordinateur à moitié démonté qui a connu des temps meilleurs: «C'est votre lieu de travail. Installez-vous. " C'est ainsi qu'a commencé ma carrière.

Mais passons rapidement au présent. Maintenant, j'écris ces lignes, assis dans le bureau confortable du prestigieux centre d'affaires du centre de Moscou. Derrière le travail avec de grandes marques internationales et le développement d'applications fintech complexes. Des centaines de livres ont été lus et des dizaines d'articles ont été écrits. La manie de la grandeur est depuis longtemps guérie. Les postes de direction sont testés et rejetés. Tranquillité d'esprit retrouvée. L'amour pour la profession est préservé. Cependant, ce n'est pas un article de la série «Quel type je suis. Faites comme vous aussi, vous serez bien fait. » Cet article concerne les erreurs que j'ai commises et ce qui pourrait être mieux fait. Cet article est une rétrospective de ma carrière.

Changer d'entreprise s'il n'y a pas de développement


De temps en temps, je suis resté coincé dans des entreprises qui ont clairement dépassé le niveau. Il semble qu'ils paient beaucoup d'argent, et tout ici est familier et pratique. Vous venez le matin, choisissez le mode habituel sur la machine à café. Vous échangez des blagues avec Katya de la comptabilité. Vous êtes assis sur votre chaise, qui a longtemps pris la forme de votre point faible. Vous ouvrez l'ordinateur portable et plongez dans la routine quotidienne des tâches typiques que vous connaissez bien. Attention! Ceci est un piège!

Le travail ne doit pas devenir une corvée. Il doit y avoir des défis. Pas tous les jours, peut-être pas tous les mois, mais si c'est trop facile pour vous, il est temps de partir. Pas besoin d'avoir peur des difficultés. Si lors de l'entretien, il vous a semblé qu'ici, les gars résolvent des problèmes trop compliqués, et vous êtes sûr de tout gâcher dès le premier jour - cette offre est pour vous. Recherchez les tâches les plus difficiles, la seule façon d'améliorer et de ne pas vous dégrader dans la cuisine de votre entreprise préférée pendant 4 heures par jour

Soyez un programmeur, pas un codeur


Écrivez le code! = Résolvez le problème. Le code n'est qu'un des outils pour résoudre les problèmes. Oh, combien de temps a été le chemin pour réaliser cette simple déclaration. Combien de temps perdu. Nous, les programmeurs, sommes attirés par le code avec une force terrible. En voyant la prochaine tâche dans la Jira, nous courons ses yeux en diagonale et plutôt, écrivons plutôt du code! Dès que le code est écrit, nous nous désintéressons de la tâche et en prenons une nouvelle.

Malheureusement, nous sommes très rarement confrontés à des tâches transparentes et compréhensibles. Avant d'ouvrir l'IDE, je dois être sûr à 100% que je comprends le problème que je vais résoudre. Un bon marqueur ici est la décomposition. Si je peux peindre la solution par étapes et savoir quel résultat chaque étape va produire, alors j'ouvre l'éditeur et j'écris le code.

N'oubliez pas: votre valeur en tant que programmeur n'est pas dans un code élégant avec une bande exotique de quatre modèles. Aucune entreprise n'a encore réussi à cause de la beauté du code (en tout cas, je ne me souviens pas de tels exemples). Gardez toujours à l'esprit le résultat final.

N'ayez pas peur d'expérimenter


Chaque fois que je commençais un nouveau projet pour animaux de compagnie, je l'ai soit lancé sur des technologies bien connues, soit je suis passé à elles après plusieurs semaines. C'est tellement plus rapide. Quel est l'intérêt de tourmenter avec Kafka si vous avez un lapin préféré? Pourquoi intégrer une structure de données dans des documents si elle s'intègre facilement dans un modèle relationnel? À chaque fois, la pensée que je devais aller rapidement à la prod m'empêchait de me développer. En conséquence, la plupart de mes projets sont un poids mort sur le github, ne m'apportant pas seulement une renommée mondiale, mais même de nouvelles connaissances. En essayant de respecter les délais que je me suis fixés, j'ai juste perdu du temps.

Expérience. Rien ne presse. Développez vos horizons. Si vous êtes un expert en technologie, utilisez ces connaissances au travail, mais utilisez des outils que vous ne connaissez pas en dehors de votre travail. C'est psychologiquement difficile, car vous comprendrez qu'en utilisant un langage de programmation bien connu, vous récolteriez déjà les fruits de la renommée de votre projet aux Maldives. Et vous devez comprendre pourquoi la conversion d'un sort en entier donne un code de caractère, pas un nombre.

Lancer des projets pour animaux de compagnie


J'ai compris depuis longtemps: pour être un programmeur performant, il ne suffit pas d'être un bon programmeur. Vous devez comprendre le développement d'un produit bien plus large que sa spécialisation. Mais comment y parvenir? Je peux lire des centaines de livres sur le marketing et ils seront inutiles si je ne mets pas ces connaissances en pratique. Je peux m'abonner aux chaînes de télégrammes des meilleurs experts produits du pays, mais que faire si je n'ai pas de produit à expérimenter?

Depuis que j'ai commencé mon premier projet pour animaux de compagnie, il est devenu beaucoup plus facile pour moi de trouver un langage commun avec les fronts, le qa, les produits, les spécialistes du marketing et tout autre membre de l'équipe. Après tout, j'ai commencé à mieux comprendre leur travail. La programmation moderne est très basée sur l'équipe et l'expérience de travail sur mon propre projet m'aide à trouver un terrain d'entente avec les autres membres de l'équipe.

Apprenez à vous décomposer


J'ai toujours eu des problèmes de pleine conscience. J'ai fait des erreurs très stupides dans le code. Pas parce que je ne comprenais pas quelque chose ou ne savais pas comment le faire. J'étais juste inattentif. J'ai lutté avec ce problème de différentes manières ennuyeuses (par exemple, j'ai regardé l'aiguille des minutes), mais rien n'y fait. Naturellement, après chacune de ces erreurs, mon estime de moi a fortement chuté. De quel type de développement peut-on parler si l'estime de soi est nulle?

La solution est venue sous forme de décomposition. Moins de tâche = moins de code = moins de risque de faire une erreur. J'entends souvent l'expression «cette tâche ne peut pas être décomposée», mais je pense personnellement que toute tâche peut être décomposée indéfiniment. Si vous ne pouvez pas réussir, il est fort probable que vous ne compreniez tout simplement pas la tâche.

Apprenez les outils


Pendant longtemps, j'ai utilisé l'IDE comme un éditeur de code régulier avec une navigation facile. Et j'ai aussi eu un patron qui a programmé exclusivement dans mcedit et a souvent demandé au théâtre: "Qui êtes-vous sans votre IDE?" Ou j'avais un terminal ouvert 24/7, mais je ne savais pas du tout comment travailler avec. Pendant longtemps, j'ai vécu sans analyseurs statiques ni fixateurs de style. Ignoré les raccourcis clavier. Et je n'ai vu aucun problème là-dedans.

Maintenant, je suis abonné à toutes les chaînes YouTube officielles de mes outils. C'est incroyable de voir combien vous pouvez en apprendre. Je regarde attentivement le processus de travail de mes collègues et j'adopte souvent ce qui me semblait intéressant. De plus, certains outils nous montrent des pop-ups où ils vous indiquent comment améliorer le processus d'interaction. Ne négligez pas cela.

Participez Ă  opensource


Opensource - ça fait mal. Chacun de vos RP sera examiné au microscope. Chaque variable, chaque caractère. Chaque test sera remis en cause. Et ce n'est pas votre chef d'équipe, qui: "Oh, eh bien, soyons tellement obsédés." Vous ne serez pas d'accord avec ces gens, vous ne vous plaindrez pas d'eux, vous ne les écraserez pas avec autorité. Et ils ne vous paient même pas. Vers le vingt-cinquième commentaire, je veux vraiment tout envoyer nafig.

Soyez patient! Opensource est une excellente occasion de mettre à niveau vos compétences, en travaillant avec les meilleurs programmeurs du monde (bien que cela dépende du projet). Commencez petit. Choisissez un outil ou une bibliothèque simple. Accédez à la section des problèmes et voyez ce que vous pouvez résoudre. Je dois dire qu'il n'y a généralement pas de toxicité sur le github. Si votre PR est déchiqueté, alors il le fera de manière très constructive. En tout cas, d'après mon expérience.

Crois en toi


De temps en temps, j'ai eu des situations où je voulais tout laisser tomber et aller travailler sur un chantier de construction. Portez des briques. Cette situation pourrait être une tâche qui ne s'est en aucun cas terminée. Ce qui a changé les exigences quotidiennes. Ou une technologie que je ne voulais pas étudier. Ou l'intégration d'un service tiers, qui manquait totalement de documentation. Ou tout simplement la fonctionnalité, pour comprendre ce qui a nécessité l'éducation d'un financier, et tous les experts en produits parlent exclusivement anglais. J'ai paniqué, tergiversé, arrêté et frustré la colère du chat.

Il y a une astuce qui m'aide beaucoup maintenant avec de telles tâches. Je me souviens toujours que finalement je peux le gérer. Toujours fait face. Et le sera toujours. Vous avez juste besoin de vous asseoir, d'étudier, de réfléchir, de trier, de poser les bonnes questions aux bonnes personnes. L'essentiel est de croire en soi et de rester calme. En général, c'est peut-être le conseil le plus important avec lequel je terminerai l'article. Restez calme et croyez en vous. Vous pouvez le gérer.

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


All Articles