Message au futur programmeur

Vous avez donc décidé de devenir programmeur.


Vous pourriez être intéressé à créer quelque chose de nouveau.


Vous êtes peut-être attiré par des salaires élevés.


Vous souhaitez peut-être simplement modifier le champ d'activité.


Pas le point.


Important - vous décidez de devenir programmeur .


Que faire maintenant?


KDPV


Et il existe plusieurs approches.


Premièrement : aller à l'université pour une spécialité informatique et suivre une formation spécialisée. Le moyen le plus courant, relativement fiable, extrêmement long, le plus fondamental. Cela fonctionne si vous êtes toujours diplômé de l'école ou si vous avez les moyens de subvenir à vos besoins à partir du prochain et demi (au mieux, si vous prenez tout à la volée et pouvez commencer à travailler en 2e année) à quatre (si combiner travail et école n'est pas votre truc ) ans.


Qu'est-ce qu'il est important de savoir ici?


  • Vous devez choisir la bonne université. Voir programmes de formation, notes. Un bon indicateur est les olympiades universitaires. Si des équipes universitaires occupent au moins périodiquement une place dans le top dix dans des olympiades de programmation relativement importantes, le codage à l'université ne sera pas un vestige (malgré le fait que vous ne soyez peut-être pas intéressé par les olympiades). Eh bien, en général, les règles de bon sens: il est peu probable que la branche fraternelle de l'Université d'État du Baïkal fasse de vous une pile complète puissante.
    Exemples de bonnes universités: Université d'État de Moscou / Université d'État de Saint-Pétersbourg (évidemment), Baumanka (Moscou), ITMO (Saint-Pétersbourg), NSU (Novossibirsk). Malgré toute leur éminence, il est tout à fait possible d’obtenir le budget en eux, sinon de marquer les meilleurs départements.
  • Pas un univers universel. Malgré le fait que vous serez entièrement formé à toutes sortes de choses, cela ne suffit pas. En raison de la bureaucratie, le programme de formation sera presque toujours à la traîne des tendances modernes. Au mieux, pendant un an ou deux. Au pire - 5-10 ans. Vous devrez faire la différence vous-même. Eh bien, l'évidence: si vous étudiez le matériel sur un pied d'égalité avec le reste des étudiants, chacun d'eux sera votre concurrent égal. Si vous vous présentez éventuellement, vous aurez une bien meilleure apparence sur le marché.
  • Cherchez du travail le plus tôt possible. J'ai commencé à travailler la deuxième année. À la fin de l'université, j'étais déjà un développeur intermédiaire et pas un modeste juin sans expérience. Je pense qu'il est évident qu'après l'obtention du diplôme, gagner 100 000 est plus agréable que 30 000. Comment y parvenir? Tout d'abord, voir les points A et B. Deuxièmement, allez aux réunions, festivals, conférences, salons de l'emploi. Surveillez le marché et essayez de trouver un employé / stagiaire à temps partiel dans toute entreprise où vous êtes au moins à peu près approprié. N'ayez pas peur des conférences payantes: les étudiants y obtiennent souvent de très belles réductions.

Si tous ces points sont observés, au moment où vous recevez un diplôme, vous pouvez devenir un très bon spécialiste avec une expérience de travail et une richesse de connaissances fondamentales, dans lesquelles les autodidactes entrent souvent en raison d'un caractère inapparent. Eh bien, une croûte peut aider si vous prévoyez d'aller à l'étranger: ils la regardent souvent là-bas.


Si vous ne vous conformez pas ... Eh bien, vous pouvez obtenir une croûte en suivant le courant, en annulant et en préparant l'examen de la nuit. Mais comment pensez-vous, à quel point serez-vous compétitif? Bien sûr, je ne dis pas que vous devez tout fermer sur les cinq premiers. Vous avez juste besoin d'acquérir des connaissances. Faites preuve de bon sens. Apprenez ce qui est intéressant et utile, mais ne vous souciez pas des notes.


Éducation et motivation


L'essentiel n'est pas ce qu'ils essaient de vous entasser. L'essentiel est qu'il soit intéressant et pertinent


-


Ensuite, la deuxième voie : programmer des cours . Internet regorge d'offres pour faire de vous un junior en seulement 3 mois de cours. Ici avec le portfolio, et même aider à trouver un emploi. Juste pour 10k par mois, oui.
Peut-être que pour quelqu'un, cela fonctionnera, mais purement à mon humble avis: ce sont des ordures complètes. Ne perdez pas de temps et d'argent. Et voici pourquoi:


Une personne loin de l'informatique ne pourra pas entrer dans les spécificités du métier dans 3 mois. Ce n’est rien du tout. Trop d'informations doivent être apprises, trop à comprendre et, de plus, à se remplir la main.


Alors que vous vendront-ils? Vous serez vendu une "compétence mécanique". Sans grande compréhension des détails, ils vous montreront ce que vous devez écrire afin d'obtenir exactement ce résultat. Avec des instructions détaillées et l'aide d'un enseignant, vous écrirez toujours une sorte d'application. Un, deux maximum. Voici le portfolio. Et aider à trouver un emploi - en publiant les offres d'emploi de juin dans les grandes entreprises, que vous ne passerez probablement pas un entretien.


Pourquoi C'est simple: il est très important pour un programmeur de penser de façon abstraite. Un programmeur résout des problèmes qui peuvent être résolus d'un milliard de façons possibles. Et la tâche principale est de sélectionner l'un des milliards, le plus correct, et de le réaliser. La création d'un ou deux projets selon les instructions vous donnera une certaine connaissance du langage de programmation, mais ne vous apprendra pas à résoudre des problèmes abstraits. Dessinez une analogie: imaginez que l'on vous promet de vous initier à la course d'orientation, que vous serez conduit le long de deux itinéraires touristiques simples, puis ils diront que vous êtes prêt à conquérir la taïga seul en hiver. Eh bien, quoi, ils vous ont appris à utiliser une boussole et à allumer un feu sans allumettes.


En résumé: ne croyez pas ceux qui promettent de vous "conduire" en peu de temps. Si cela avait été possible, tout le monde aurait longtemps été programmeur.


Comment dessiner un hibou


À gauche: ce qui vous sera enseigné. À droite: ce qui vous sera demandé au travail


-


Le troisième chemin est le chemin choisi par la majorité. Auto-étude .


La manière la plus difficile, mais peut-être la plus noble. Arrêtons-nous dessus plus en détail.


Vous avez donc décidé de devenir programmeur. Par où commencer?


Tout d'abord, vous devez répondre à votre question: pourquoi voulez-vous cela? Si la réponse est «eh bien, cela, bien sûr, n'est pas particulièrement intéressant, mais ils paient beaucoup», alors nous pouvons nous arrêter ici. Tu n'es pas ici. Même si votre volonté est suffisante pour pelleter beaucoup d'informations, écrire des milliers de lignes de code, subir des centaines d'échecs et toujours obtenir un emploi, par conséquent, sans amour pour la profession, cela ne conduira qu'à l'épuisement émotionnel. La programmation nécessite un énorme effort intellectuel, et si ces efforts ne sont pas alimentés par des retours émotionnels sous forme de satisfaction pour la tâche, alors le cerveau paniquera tôt ou tard et vous privera de la capacité de décider quoi que ce soit. Pas le scénario le plus agréable.


Si vous êtes sûr d'être intéressé, vous pouvez alors décider des détails - que voulez-vous faire exactement. Si vous ne savez pas en quoi les programmeurs peuvent différer les uns des autres, Google vous aidera.


Immédiatement j'écrirai le premier conseil pour ne pas oublier: apprendre l'anglais. L'anglais est nécessaire. Sans anglais, nulle part. Pas question. Sans l'anglais, vous ne pouvez pas devenir un programmeur normal. Voilà.


Ensuite, il est conseillé de dresser une feuille de route: un plan selon lequel vous évoluerez. Étudiez les spécificités, voyez les postes vacants dans votre spécialité, découvrez superficiellement quelles technologies y sont utilisées.


Un exemple de feuille de route pour un programmeur backend (pas pour quiconque, bien sûr, ce n'est qu'une des options possibles):


  1. Les bases du HTML / CSS.
  2. Python Les bases.
  3. Programmation réseau. Python et interaction Web.
  4. Cadres de développement. Django, flacon. (remarque: juste pour comprendre de quel type de "django" et de "flacon" vous avez besoin pour regarder les postes vacants et lire ce qui y est requis)
  5. Étude approfondie du python.
  6. Les bases de js.

C'est un plan très , je le répète, très approximatif, chacun étant énorme en soi, et de nombreux sujets ne sont pas inclus (par exemple, les tests de code). Mais c'est au moins une sorte de systématisation des connaissances, qui vous permettra de ne pas vous embrouiller dans ce que vous savez et ce que vous ne savez pas. Au cours de l'étude, il sera plus clair ce qui manque et cette feuille de route sera complétée.


Ensuite: trouvez le matériel dont vous apprendrez. Les principales options sont:


  • Cours en ligne. Pas ces cours qui sont "juin en 3 jours", mais qui enseignent une chose spécifique. Ces cours sont souvent gratuits. Exemples de sites avec des cours normaux: stepik , coursera .
  • Tutoriels en ligne. Il existe des shareware gratuits et payants. Où payer et où non, vous le découvrirez par vous-même. Exemples: htmlacademy , learn.javascript.ru , livre django .
  • Livres. Il y en a beaucoup, beaucoup. Si vous ne pouvez pas choisir, trois conseils: essayez de prendre de nouveaux livres, comme l'information devient obsolète très rapidement; L'éditeur O'Reilly a un niveau de qualité assez élevé et une présentation normale; si possible, lisez en anglais.
  • Mitapy / conférences / conférences. Pas très utile en termes de saturation des informations, mais extrêmement utile en termes de capacité à communiquer avec les collègues de la boutique, à poser des questions courantes, à se faire des amis. Peut-être même trouver un emploi.
  • Google. Beaucoup sous-estiment, mais la capacité de trouver simplement des réponses à certaines questions est très importante. N'hésitez pas à google des choses étranges. Même les aînés chevronnés font cela. La capacité de trouver rapidement des informations sur quelque chose équivaut pratiquement au fait que vous le sachiez.

D'accord, nous avons décidé des sources d'information. Comment travailler avec eux?


  1. Lisez / écoutez attentivement. Ne lisez pas fatigué. Plongez dans le sens, ne sautez pas les moments qui semblent évidents. Souvent, le passage de l'évident à l'incompréhensible se fait assez rapidement. N'hésitez pas à revenir et à relire.
  2. Décrivez l'information. Premièrement, il vous sera plus facile de trier vos notes lorsqu'il y a beaucoup d'informations. Deuxièmement, de cette façon, les informations sont mieux absorbées.
  3. Faites toutes les tâches que la source vous propose. Non, pas comme ça. Faites TOUTES les tâches que la source vous propose. Même ceux qui semblent simples. Surtout ceux qui semblent trop compliqués. Si vous êtes bloqué, demandez de l'aide sur stackoverflow , au moins via google translate. Les tâches sont écrites pour une raison, elles sont nécessaires pour une bonne assimilation du matériel.
  4. Pensez aux tâches vous-même et faites-les aussi. Idéalement, la pratique devrait être plus qu'une théorie. Plus vous fixez le matériau plus dense, plus il est probable qu'en un mois vous ne l'oublierez pas.
  5. Facultatif: pendant que vous lisez, composez votre quiz. Écrivez des questions délicates à une source distincte et après une semaine ou un mois, lisez et essayez de répondre. Cela ne fonctionne pas: étudiez à nouveau.

Et nous répétons ces 5 points pour chaque technologie étudiée. Ce n'est que de cette manière (avec une étude approfondie de la théorie et une couverture de pratique dense) que vous aurez une base de connaissances de haute qualité avec laquelle vous pourrez devenir un professionnel.


Et il semblerait que tout soit simple: on apprend la technologie un par un, on comprend le zen et on va travailler. C'est comme ça, mais pas ainsi.


La plupart des gens qui étudient la programmation font quelque chose comme ceci:


Dunning krueger


l'image est honnêtement volée d'ici


Et ici, vous devez vous attarder sur chacune des étapes plus en détail:


Début : vous n'avez aucune connaissance. Point de départ. Jusqu'à présent, rien n'est clair, mais probablement extrêmement intéressant. Le chemin commence en montée, mais léger. Bientôt tu monteras


Peak of Nonsense : "Hourra, vous avez terminé les deux premiers cours! Tout se passe!" A ce stade, l'euphorie des premiers succès éclipse les yeux. Le succès semble proche, même si vous êtes encore au début du voyage. Et en cherchant ce succès, vous ne remarquerez peut-être pas comment une chute rapide dans la fosse commence. Et le nom de cette fosse:


Valley of Despair : Vous avez donc suivi les cours principaux, lu quelques livres et décidé de commencer à écrire quelque chose de votre choix. Et soudain, cela ne fonctionne pas . Tout semble être connu, mais comment combiner cela pour le faire fonctionner n'est pas clair. "Je ne sais rien ", "je ne réussirai pas . " À ce stade, beaucoup abandonnent. En fait, il y a vraiment des connaissances et elles ne se sont évaporées nulle part. Des exigences claires, le support a tout simplement disparu. La vraie programmation a commencé. Lorsque vous devez manœuvrer dans un espace où il y a un objectif, mais sans étapes intermédiaires, beaucoup tombent dans la stupeur. Mais en réalité, ce n'est qu'une étape de plus de la formation - même si pour les dix premières fois tout se passera d'une manière ou d'une autre, avec de grands efforts, laid. L'essentiel est de mener la question à son terme encore et encore, du moins d'une manière ou d'une autre . Pour la onzième fois, les choses iront plus facilement. Dans la cinquantaine, une solution apparaîtra qui vous semblera belle. Au centième ce ne sera pas effrayant. Et puis viens


La pente des Lumières : À ce stade, les limites de votre connaissance et de votre ignorance sont clairement en train d'émerger. L'ignorance n'est plus effrayante, la compréhension apparaît comment la surmonter. La manœuvre dans l'espace sans solutions deviendra plus facile. Ceci est la ligne d'arrivée. Déjà conscient de ce qui vous manque en tant que spécialiste, vous finirez et consoliderez le nécessaire et avec une âme calme entrez


Plateau de stabilité : Félicitations. Ceci est la finition. Vous êtes spécialiste. Vous pouvez travailler, vous ne vous perdrez pas en rencontrant une technologie inconnue. Vous pouvez surmonter presque tous les problèmes si vous faites suffisamment d'efforts. Et malgré le fait qu'il s'agit de la ligne d'arrivée, ce n'est que le début d'un chemin encore plus grand.


Les chemins d'un programmeur.


Bonne chance avec ça!


Littérature pour lecture facultative :
Devenir programmeur et l'effet Dunning-Krueger: tyk .
Hardcore-way pour devenir programmeur en 9 mois (pas pour tout le monde): tyk .
Liste des projets qui peuvent être mis en œuvre de manière indépendante pendant la formation: tyk .
Juste une petite motivation supplémentaire: tyk .

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


All Articles