Maison  >  Article  >  Comment les programmeurs peuvent-ils s’améliorer à l’avenir ?

Comment les programmeurs peuvent-ils s’améliorer à l’avenir ?

步履不停
步履不停avant
2019-06-24 13:58:495532parcourir

Comment les programmeurs peuvent-ils s’améliorer à l’avenir ?

Tout récemment, un camarade de classe de Coding Girls a posé cette question :

Le développement quotidien dans l'entreprise actuelle a été séparé du mode difficile, ce qui signifie il n'y a aucune pression pour écrire des affaires tous les jours, la qualité du code est également correcte, mais tout ira bien après avoir écrit les affaires. Comment cela devrait-il être amélioré ?

En fait, j'ai soulevé cette question alors que je travaille depuis plus d'un an. Je ne sais pas si quelqu'un a déjà eu le même problème, c'est-à-dire comment vous améliorer une fois que vous pouvez gérer votre travail actuel ? Ce problème n’a rien à voir avec le genre et peut arriver à n’importe qui. Je veux donc toujours écrire en me basant sur ma propre expérience. S’il y a des similitudes, c’est tout à fait normal.

C'est la communauté PHP, nous parlons basé sur PHP. Je crois que pour beaucoup de personnes qui viennent de commencer à entrer en contact avec PHP, ou même celles qui viennent de commencer à entrer en contact avec le code, 70% d'entre elles entrent en premier en contact avec le framework. Comme moi. Laravel est un framework extrêmement excellent. La meilleure chose à ce sujet est qu'il peut faire tomber amoureuse du codage une étudiante qui ne sait même pas écrire du SQL. De nombreux outils prêts à l'emploi et divers articles de didacticiels techniques nous éliminent le besoin d'écrire nos propres projets de fin d'études basés sur une étude approfondie de leurs principes, d'écrire notre propre confiance et notre sentiment de présence dans le monde du code, et commencez dès maintenant. Entrez dans le monde du code.

Vous commencez donc à travailler avec juste appris à utiliser le cadre et quelques connaissances éparses et compréhensibles apprises à l'école. Après avoir travaillé, vous constatez soudain que votre compréhension du framework n'est pas assez approfondie, vous commencez donc à lire divers documents à partir de zéro :

Quantity Documentation PHP, et à comprendre l'utilisation de chaque fonction .

● Document Composer, commencez à lancer divers packages à la mode. (Recommandations vidéo associées : Tutoriel vidéo PHP Composer)

● La documentation de Laravel, comment utiliser ORM pour écrire du SQL complexe, qu'est-ce que c'est que l'inversion de contrôle ? (Recommandations vidéo associées : Les cinq dernières recommandations de didacticiels vidéo Laravel en 2019)

 Quantity Documentation de Redis , apprenez-le, il est facile de démarrer une optimisation telle que la mise en cache planifiée de la file d'attente des tâches. (Cours recommandé : tutoriel vidéo Redis)

● Documentation de Vue, peut-être avez-vous l'impression qu'il ne suffit pas de maîtriser un peu de connaissances front-end, alors vous recommencez à vous lancer. (Recommandations vidéo associées : Sélection des 5 derniers didacticiels vidéo vue.js en 2019)

Même au fur et à mesure que l'activité de l'entreprise se développe, vous commencerez à suivre votre équipe pour contacter des choses intéressantes sur Il existe encore des technologies très avancées, telles que les microservices, la distribution, la séparation lecture-écriture, la sauvegarde maître-esclave, etc. Vous avez même commencé à essayer d'écrire des projets open source, mais vous étiez réticent à les publier.

Lentement, vous commencez à sentir que vous devenez plus génial, car vous pouvez rapidement répondre aux exigences de vos camarades de classe produit. Même si vos camarades de classe test soulèvent des bugs, c'est parce que vous n'avez pas lu attentivement le document sur les exigences ou. vous l'avez accidentellement mal écrit à cause de symboles. Le travail devient de moins en moins difficile, donc vous commencez à vous sentir insatisfait. À ce moment-là, si l'entreprise ne vous propose pas plus de défis, vous commencerez à penser à changer d'emploi.

Mais généralement, le défi de changer de métier n'est rien d'autre que de changer d'environnement de travail, d'organisation, de cadre ou de s'occuper d'une langue supplémentaire. Lorsque vous vous adapterez à tout cela, vous recommencerez à vous ennuyer. aucun défi et en même temps cela ne vous intéresse pas. Les heures supplémentaires répétitives et fatigantes créent de l'ennui, et finalement vous commencez à ne plus vouloir écrire de code même le week-end. Peut-être que vous pouvez changer des choses pour passer votre temps, comme apprendre un instrument de musique, tomber amoureux, élever un chat ou réaliser des drapeaux ~~

Est-ce vraiment bien ? Vous commencez à vous poser cette question. Même si vous pouvez faire beaucoup de choses, il y a encore beaucoup de choses que vous ne pouvez pas faire. Vous commencez à avoir l’impression d’être plus que vous n’êtes, vous commencez à paniquer, vous commencez à vous sentir confus et perdu. Alors vous commencez à demander aux gens autour de vous : que dois-je faire ? Mais quand quelqu’un vous suggère de changer de carrière et de changer d’emploi, vous ne voulez pas le faire. Est-ce parce que vous l’aimez ou parce que vous ne savez pas quoi faire d’autre ? Quoi qu'il en soit~ J'espère que le contenu suivant pourra apporter des réponses à vous qui avez les mêmes doutes.

Poser une question

Quelle question avez-vous ?

● La qualité de votre code est-elle vraiment correcte ? Comment mesurez-vous la qualité de votre code ? Que peut-on faire pour assurer la robustesse de l’interface ? Savez-vous combien de requêtes et de concurrence l'interface que vous avez écrite peut supporter ? Vous pouvez gérer des millions de données, mais qu’en est-il de dizaines de millions, voire de pétaoctets ?

● L'écriture professionnelle quotidienne est-elle sans stress ? Avez-vous déjà compté le nombre moyen de défauts qui vous sont signalés à chaque fois que vous rédigez un test fonctionnel ? Savez-vous combien de personnes utilisent la fonctionnalité que vous avez écrite ? La fonction que vous avez écrite est-elle facile à utiliser pour les autres ? En production, la fonction que vous avez écrite a-t-elle déjà généré des données sales « impossibles » ?
● Par exemple, un jour, le système s'est soudainement écrasé pendant plus de dix minutes, et le CTO et plusieurs chefs d'équipe technique sont intervenus pour résoudre le problème. Avez-vous déjà essayé de comprendre pourquoi il s'est effondré ? Comment le résoudre ? Dans quelle mesure comprenez-vous ? (Par exemple, si vous avez un SQL lent, comment résoudre le problème de congestion du système causé par un SQL lent ? Comment se produit un SQL lent ? Comment éviter un SQL lent dans la vie quotidienne ? Comment pouvez-vous découvrir qu'il s'agit d'un SQL lent en fonction de le crash ?)
● Regarder le document cadre Est-il suffisant de le connaître ? Pourquoi le framework de Laravel est-il conçu de cette façon ? Pourquoi disons-nous tous que c'est bon ? En quoi est-il différent des autres frameworks ? Avez-vous déjà parcouru le code sous-jacent ?
● Quels types d'algorithmes sont utilisés derrière les fonctions PHP pour garantir leur fonctionnement efficace ? L'avez-vous déjà compris ?

Quand tu sors du mode difficile, est-ce parce que les choses sont faciles ou est-ce parce que tu te mets en mode facile ?

Soyez proactif

Étendez davantage de questions en fonction des questions aléatoires soulevées ci-dessus, et vous pourrez lister de nombreux contenus que vous devez apprendre.

● Savez-vous vraiment comment optimiser MySQL ? Quel est le principe de l'optimisation ? Pourquoi certaines instructions SQL ont-elles la même logique mais de telles différences de performances ? Comment le framework se connecte-t-il à la base de données et comment les transactions sont-elles gérées ? Pourquoi l’ajout d’un index accélère-t-il les requêtes ? Comment mieux utiliser les index ? Comment fonctionne la commande par commande ?

● Savez-vous vraiment comment utiliser Nginx ? En plus d'utiliser des projets de déploiement simples, savez-vous comment mettre en place un proxy inverse pour réaliser un équilibrage de charge ? Comment gérer les problèmes inter-domaines et de mise en cache ?
● Maîtrisez-vous Linux ? Toutes les commandes sont-elles utilisées ? Que dois-je faire s'il existe un grand nombre de processus ininterruptibles et de processus zombies dans le système Linux ? Comment analyser rapidement où se trouve le goulot d’étranglement du processeur du système ? Comment fonctionne la mémoire Linux ? Quel est le processus de changement de processus ? Combien d’idées existe-t-il pour optimiser les performances d’E/S disque ? Comment utiliser tcpdump et Wireshark pour analyser le trafic réseau ? Comment atténuer la dégradation des performances causée par les attaques DDoS ? Le débit du service a considérablement baissé. Comment l’analyser ?

Je ne les énumérerai pas en détail ensuite, comme les compétences professionnelles de base telles que le protocole Web, Redis, etc., les compétences internes telles que les structures de données, les algorithmes, les modèles de conception, etc.~ Si vous ne le faites vraiment pas Je ne sais pas quelles compétences vous manquent. Si vous avez besoin de compléter, jetez un œil au CV de recrutement de votre entreprise préférée pour votre poste préféré ~

Posez des questions et connaissez vos propres lacunes. La prochaine étape consiste à trouver des moyens. pour les remplir vous-même. Connaissez-vous la réponse à la question ci-dessus ? En ce moment, avez-vous envie de copier et coller les réponses de Baidu ? Si oui, alors allez chercher la réponse !

À l'ère du partage des ressources, on peut dire que le coût de l'apprentissage est presque nul. Presque toutes les questions que vous pouvez poser ont été posées et répondues par quelqu'un. Si vous avez besoin d’une compréhension plus systématique et approfondie, il existe de nombreux livres, vidéos, cours et ressources en ligne. Une fois que vous l’avez acheté, allez le vérifier et ne gaspillez pas l’argent que vous avez gagné en faisant des heures supplémentaires. Quoi qu’il en soit, je n’ai jamais vu des gens puissants dire qu’ils ne lisent pas de livres.

● À l'ère du paiement du savoir, les grandes communautés disposent désormais plus ou moins de tutoriels sur les compétences liées au fonctionnement
● Les geeks et les MOOC proposent également de nombreux bons cours qui permettent une compréhension approfondie des principes sous-jacents
● Je pense Pour compléter les connaissances pertinentes, quels livres devriez-vous lire ? Si vous ne trouvez vraiment personne pour vous recommander, allez sur Zhihu

et écrivez quelque chose

Apprendre sans réfléchir ? mènera au gaspillage, et penser sans apprendre mènera au péril. Être sage, c'est appliquer ce que vous avez appris. Si vous lisez un point de connaissance et écrivez votre compréhension, et que vous pouvez le comprendre, les autres peuvent le comprendre, et vous pouvez l'expliquer à ceux qui ne comprennent pas, alors vous êtes vraiment. comprends-le ! Encore une fois, je n’ai jamais vu une personne formidable qui ne partageait pas ses connaissances et ses idées. Donc, après avoir lu le livre et suivi le cours vidéo, assurez-vous de vous forcer à écrire quelque chose. Notes sur les points de connaissance, réflexions après lecture, etc.~

Rejoignez le cercle

Une personne peut aller vite, mais un groupe de personnes peut aller plus loin. D'après mon expérience personnelle, mon évolution technique est indissociable de l'aide des personnes de mon entourage. Grâce à mon idole An Zhengchao, je suis venu à Laravel Chine et j'ai rencontré le webmaster Summer, puis j'ai fait la connaissance de plus de personnes dans la communauté. Grâce à des échanges et des discussions répétés, j'ai découvert mes propres lacunes et j'ai pratiqué avec diligence. Je savais aussi qui pouvait répondre à mes questions, qui était prêt à discuter avec moi et qui travaillerait avec moi pour se superviser et grandir ensemble. En chemin, je suis très reconnaissant envers les personnes qui m'ont accompagné, les personnes qui m'ont patiemment aidé et les personnes qui sont prêtes à consacrer de leur temps à me donner des conseils.

Alors, rejoignez activement le cercle ou créez votre propre cercle. Demandez de l’aide ou aidez les autres. Youdao signifie enseignement et apprentissage, soutien mutuel et croissance. Vous ne pouvez pas apprendre d'une seule personne, mais vous devriez gagner quelque chose en écoutant un groupe de personnes. Passez du temps à construire votre propre cercle de compétences et trouvez des personnes formidables auprès desquelles apprendre.

Digression

Répertorier ici un tas de ressources d'apprentissage ne garantit pas qu'elles vous seront utiles. De plus, l'apprentissage lui-même porte également des étiquettes telles que la persévérance, l'autodiscipline et des méthodes pour nous diviser en trois, six et neuf catégories de manière très réaliste ~ Il y a encore beaucoup de choses à apprendre pour les programmeurs, la vitesse de mise à jour. la connaissance est ce qui nous rend... Toujours inattendus. Comme le dit le proverbe, le chemin est long et long. Peu importe le nombre d’années de travail, penser toujours à la façon de s’améliorer est un cours obligatoire dans la vie. Vous ne pouvez pas le faire si vous ne le souhaitez pas !

Si vous en avez besoin, vous pouvez laisser un message sous la publication, et moi ou les étudiants enthousiastes de la communauté partagerons avec vous les cours et les livres que nous avons appris et qui pourraient vous être utiles. Par exemple, quels livres sur Internet valent la peine d'être lus ? La communauté elle-même est un grand cercle, alors faites-en bon usage !

De plus, la croissance d'un programmeur doit non seulement inclure la technologie, mais aussi le lieu de travail, la gestion, le cercle social, etc. ~ Si vous en avez l'opportunité, écrivez un autre « Chapitre de carrière » ! (Parce que je ne suis pas encore qualifié~)

L'auteur de cet article : JokerLinly, merci !

Articles connexes recommandés :

"En tant qu'excellent ingénieur PHP, maîtrisez-vous toutes ces commandes Linux ? 》

《Vous apprendre étape par étape à écrire du code PHP non maintenable》

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer