Les entreprises du secteur informatique sont caractérisées comme des entreprises à forte intensité de connaissances. La compétitivité principale de ces entreprises est étroitement liée aux connaissances et aux compétences de leurs employés. Et si vous jouez le rôle d'un ingénieur dans une entreprise, alors votre compétitivité principale réside dans votre réserve de connaissances et de compétences liées à l'informatique. Comme chacun le sait, le secteur informatique est un lieu qui génère une grande quantité de nouvelles connaissances. Prenons l'exemple du front-end Web : en seulement cinq ou six ans, le front-end Web a subi plusieurs transformations, et au vu de son état actuel, la transformation se poursuivra. De la première mise en page en grille div+css à l'essor de JavaScript, puis à la concurrence des différents frameworks JavaScript, à la mise en œuvre de HTML5 et CSS3, au design responsive apporté par l'impact du web mobile, aux concepts et modes d'opération complètement différents des éléments DOM dans jQuery, AngularJs, ReactJs, et au processus de normalisation des composants web... Pourquoi les entreprises embauchent-elles partout des ingénieurs front-end aujourd'hui ? Il semble que tout à coup, les ingénieurs front-end soient devenus une ressource rare. L'une des raisons est que de nombreux ingénieurs front-end ne peuvent pas suivre les changements du secteur et ne peuvent pas répondre aux capacités et aux exigences actuelles du marché envers les ingénieurs front-end. Dans cet environnement, il devient crucial pour les ingénieurs de maîtriser la capacité d'apprendre rapidement.

191403074249ProgrammingLanguages

D'après ma propre expérience personnelle et les observations de mes collègues autour de moi, voici quelques conseils sur la façon de maîtriser rapidement une nouvelle technologie (ici, technologie inclut une nouvelle technologie informatique, un nouveau langage de programmation, ou un nouveau framework logiciel, etc.).

Pour maîtriser rapidement une nouvelle technologie, il y a d'abord deux prérequis.
  1. Premièrement, votre état d'esprit doit rechercher activement le changement, oser sortir de votre zone de confort et conserver une attitude ouverte envers toute technologie.Rechercher le confort est dans la nature humaine. Et cette nature entrave souvent votre développement. La quantité de connaissances qu'une personne peut acquérir dépend de la taille de votre zone de confort. Plus la zone de confort est grande, plus la frontière avec le monde extérieur est large, et plus vous ressentez votre propre ignorance. Les programmeurs devraient au moins faire deux choses :N'ayez pas de préjugés envers les technologies que vous ne comprenez pas, et ne craignez pas les technologies qui vous sont inconnues.。
  2. Transformez l'apprentissage passif en apprentissage actif.Un grand nombre de programmeurs en Chine apprennent passivement chaque jour. Qu'est-ce que l'apprentissage passif ? C'est un apprentissage imposé par des personnes ou des événements. Un nouveau projet démarre aujourd'hui, et lors de la recherche technique, vous ne voulez pas adopter de nouvelles technologies ; vous ne consultez de la documentation que lorsque vous rencontrez des difficultés pendant le développement. Toute la journée, vous copiez et réutilisez du code écrit par d'autres ou par vous-même dans le passé, et lorsque des problèmes surviennent après la copie, il faut beaucoup de temps pour les résoudre. Par exemple, un programmeur qui utilise Spring depuis plusieurs années peut ne pas connaître les concepts fondamentaux de Spring, peut ne pas connaître la structure du framework Spring, peut ne pas connaître les fonctions des composants de Spring, et peut ne pas connaître les nouvelles fonctionnalités des nouvelles versions de Spring. C'est très inquiétant, car si vous ne connaissez pas ces choses, vous ne pouvez pas adopter les bonnes pratiques de Spring ; lorsque des problèmes surviennent, vous ne savez pas comment les localiser rapidement ; et pour certaines exigences de vos projets, vous ne pouvez pas utiliser les fonctions déjà encapsulées par Spring (parce que vous ne savez pas que Spring peut le faire). L'apprentissage actif exige que vous vous prépariez pour l'avenir et que vous ne laissiez pas les choses à la dernière minute. De plus, vous devriez considérer l'apprentissage comme une accumulation et une amélioration pour vous-même, comme un investissement à long terme en vous-même, et vous ne devriez pas être trop utilitariste.

Certaines personnes disent : j'aime juste la zone de confort, je n'aime tout simplement pas l'apprentissage actif. Existe-t-il de bonnes façons ou méthodes pour changer ces deux points ? Pour être honnête, l'aide que je peux vous apporter est très limitée. Comme le dit une réplique de « Le Continent » : « J'ai entendu beaucoup de grandes vérités, mais je ne parviens toujours pas à bien vivre cette vie. » Ces deux points dépendent encore davantage de vous personnellement. Et je crois que les points suivants peuvent vous aider.

  1. Avant d'apprendre une nouvelle technologie, déterminez d'abord pourquoi vous voulez l'apprendre. Comment travaillions-nous avant l'existence de cette technologie ? Comment travaillons-nous après l'avoir adoptée ? Quels changements apporte-t-elle ? Poser ces questions revient en fait à comprendre quels problèmes du domaine concerné la technologie résout ou simplifie, et de quelle manière elle obtient ces effets. Prenons AngularJS comme exemple. AngularJS a été initialement conçu pour compenser les lacunes d'HTML dans la construction d'applications. Auparavant, HTML était conçu pour afficher des informations multimédias. Bien que certaines fonctions dynamiques aient été ajoutées par la suite, dans la tendance à la webisation des applications, les lacunes de la conception d'HTML sont devenues de plus en plus évidentes. Par exemple, la manipulation des éléments DOM est trop fastidieuse, la logique métier est difficile à modulariser, la testabilité est faible, l'efficacité de développement est faible, etc. AngularJS a adopté une conception entièrement nouvelle pour résoudre ce problème. Il a proposé une série de concepts et introduit des fonctionnalités telles que la liaison de données, les directives, le routage et l'injection de dépendances, ce qui a grandement simplifié notre charge de travail en développement web. De cette façon, vous pouvez rapidement acquérir une compréhension macroscopique de la technologie et vous renseigner sur ses scénarios d'application potentiels, ses méthodes d'application et certaines de ses limites.
  2. Ensuite, vous devriez réellement utiliser les fonctionnalités principales de la technologie pour renforcer votre compréhension. La méthode consiste à consulter la section Quick Start du site officiel de la technologie et à la parcourir étape par étape.Les programmeurs d'aujourd'hui chérissent de plus en plus leur temps. La concision, l'exhaustivité et la facilité de prise en main de la documentation sont devenues l'un des critères pour adopter ou non une technologie. En particulier pour les divers composants open source actuels, même la documentation est open source.Tant de documents sont écrits entièrement selon la pensée des programmeurs, et ils se lisent très clairement. Prenons encore Spring : si vous voulez apprendre le composant Spring Boot lancé avec Spring 4.0, vous pouvez visiter sonsite officielLe plus grand bouton de la page est Démarrage rapide. Cliquez et apprenez. La page est un exemple simple ; elle ne vous prendra probablement pas plus de cinq minutes. Si vous n'en avez pas encore assez, à droite, il en liste davantage

Guides de démarrage, qui vous enseignent aussi les fonctionnalités avancées étape par étape. Certaines personnes peuvent demander : et si mon anglais est mauvais ? Veuillez apprendre l'anglais.L'anglais est une compétence essentielle pour un excellent programmeur.Certaines personnes peuvent aussi dire : et s'il y a toutes sortes de bruits parasites lors de la lecture de la documentation ? Par exemple, pour lire le guide de démarrage de Spring Boot, vous devez avoir une certaine compréhension préalable de Spring, savoir à quoi servent Tomcat et Jetty, avoir de l'expérience avec Gradle ou Maven... Ces points de connaissance sont tous nécessaires lorsque vous pratiquez ce petit programme Spring Boot, mais à cause de l'interférence de ce bruit, le processus d'apprentissage sera ralenti. Le seul moyen de se débarrasser de ce bruit est de passer aussi du temps à apprendre ces points de connaissance que vous ne comprenez pas.Donc apprendre est un cercle vertueux : plus vous apprenez, plus vous apprenez vite.

  1. Les deux premières étapes peuvent vous garantir de démarrer avec une technologie. Ensuite, comment progresser ? Cette étape est la lecture. Téléchargez la documentation détaillée depuis le site officiel et lisez-la attentivement. Lire ces documents vous permet d'entrer dans ses détails d'implémentation, ainsi que dans diverses méthodes d'utilisation et scénarios, et même certaines bonnes pratiques. Par exemple, Spring Bootdocumentation officielleDétaillée jusqu'aux dents. Tout ce que vous avez pensé et ce à quoi vous n'avez pas pensé est soigneusement listé dans la documentation. Si vous voulez apprendre Scala, veuillez visiterhttp://www.scala-lang.org/documentation/Toutes sortes de documentations sont disponibles. Après l'avoir lue, vous serez plus qu'à moitié un expert de Scala.La meilleure documentation pour une technologie doit être sa documentation officielle.Si ce n'est pas le cas, alors cette technologie ne peut pas devenir populaire. Notez que pendant le processus de lecture de la documentation, vous devez l'appliquer dans des projets. Si vous n'avez pas d'occasions de pratiquer dans des projets, vous pouvez écrire quelques petites démos pour vous entraîner. Le principe de combiner la pratique avec la théorie lors de l'apprentissage des connaissances est intemporel et universel.
  2. Après avoir terminé les trois premières étapes, votre compréhension de la technologie est déjà plus solide que celle de la plupart des gens. On peut considérer que vous la maîtrisez. Alors, existe-t-il encore un moyen de progresser ? Bien sûr que oui : c'est de dire et d'écrire ce que vous avez appris et pensé, de l'exposer au public, d'accepter les critiques, et ainsi de découvrir vos lacunes et de vous améliorer. Quand vous avez le temps, donnez quelques conférences et écrivez quelques séries d'articles ; alors aux yeux de tous, vous deviendrez un maître de cette technologie. Vous aurez alors toutes sortes d'occasions de résoudre divers problèmes difficiles rencontrés lors de l'utilisation de la technologie, ce qui à son tour approfondit et corrige votre compréhension. Quand vous êtes libre, allez sur StackOverFlow, répondez à quelques questions, ou abonnez-vous à la liste de questions de la technologie et consultez-la souvent.
  3. Vous pouvez aussi aller encore plus loin. Rejoignez des communautés techniques nationales/internationales (et s'il n'existe pas de telle communauté au niveau national ? C'est une opportunité : créez-en rapidement une vous-même) pour exercer davantage votre influence. Traduisez et écrivez des livres liés à la technologie ; si la technologie est open source, alors quand vous avez le temps, soumettez des modifications, et vous deviendrez l'un de ses développeurs. C'est un saut qualitatif : passer de l'utilisation d'outils à la création d'outils.

Après avoir parcouru les 5 étapes, vous n'avez pas seulement maîtrisé la technologie : vous êtes devenu divin, d'accord ! Certains demanderont peut-être encore : atteindre ces cinq étapes doit prendre beaucoup de temps, et ce n'est pas une hauteur que les gens ordinaires peuvent atteindre. Bien sûr, le processus est certainement difficile, mais pas aussi difficile que d'atteindre le ciel. Au moins, il y a beaucoup d'exemples comme celui-ci autour de moi. En fait, tant que vous accomplissez les trois premières étapes, vous êtes meilleur que 50% des programmeurs ; après avoir accompli la quatrième étape, vous devancez 90% des programmeurs.

Enfin, un résumé rapide. Les choses importantes se disent trois fois.

  1. L'apprentissage actif est très important, l'apprentissage actif est très important, l'apprentissage actif est très important.
  2. La documentation officielle est très importante, la documentation officielle est très importante, la documentation officielle est très importante.
  3. La pratique est très importante, la pratique est très importante, la pratique est très importante.

Auteur :Huang Bowen@Wudi Beigua

Source :http://www.cnblogs.com/huang0925