Bericht aan de toekomstige programmeur

Dus besloot je programmeur te worden.

Misschien ben je geïnteresseerd in het creëren van iets nieuws.

Misschien lokken hoge salarissen je.

Misschien wilt u gewoon uw werkterrein veranderen.

Niet het punt.

Het gaat erom dat jij beslist programmeur worden.

Wat nu te doen?

Bericht aan de toekomstige programmeur

En er zijn verschillende benaderingen.

Eerste: naar de universiteit gaan voor een IT-specialiteit en ontvang gespecialiseerd onderwijs. De meest banale, relatief betrouwbare, extreem lange, meest fundamentele manier. Het werkt als je je school nog aan het afmaken bent, of als je de middelen hebt om in je levensonderhoud te voorzien van anderhalf (in het beste geval, als je alles meteen oppakt en in het tweede jaar kunt beginnen met werken) tot vier (als je werk en studie combineert). is niet je sterke punt) jaar.

Wat is hier belangrijk om te weten?

  • Het is noodzakelijk om de juiste universiteit te kiezen. Zie trainingsprogramma's, beoordelingen. Een goede indicator zijn wedstrijden van de universiteit. Als universiteitsteams op zijn minst periodiek een plaats in de top tien bekleden bij relatief grote programmeerolympiaden, dan zal coderen op de universiteit geen rudiment zijn (ondanks het feit dat je persoonlijk misschien helemaal niet geïnteresseerd bent in olympiaden). Over het algemeen geldt het gezond verstand: het is onwaarschijnlijk dat de Bratsk-tak van de Baikal State University je een krachtige full-stack zal maken.
    Voorbeelden van goede universiteiten: Staatsuniversiteit van Moskou/St. Petersburg State University (uiteraard), Baumanka (Moskou), ITMO (St. Petersburg), NSU (Novosibirsk). Ondanks al hun eminentie is het heel goed mogelijk om er met een beperkt budget aan te beginnen, als je niet op topafdelingen mikt.
  • Niet zomaar een universiteit. Ondanks dat je uitgebreid wordt opgeleid in allerlei zaken, is dit niet voldoende. Door de bureaucratie zal het trainingsprogramma vrijwel altijd achterblijven bij de moderne trends. In het beste geval - voor een jaar of twee. In het slechtste geval - gedurende 5-10 jaar. Het verschil zul je zelf moeten bijleggen. Het ligt voor de hand: als je de stof samen met andere studenten bestudeert, zal elk van hen je gelijkwaardige concurrent zijn. Als je desgewenst voorop komt, kom je veel beter voor de dag op de markt.
  • Zoek zo vroeg mogelijk naar een baan. Ik ben in mijn tweede jaar begonnen met werken. Tegen het einde van de universiteit was ik al een behoorlijk middenontwikkelaar, en geen bescheiden junior zonder ervaring. Ik denk dat het duidelijk is dat na je afstuderen 100 euro verdienen leuker is dan 30 euro verdienen. Hoe dit te bereiken? Zie ten eerste punt A en B. Ga ten tweede naar meetups, festivals, conferenties, banenbeurzen. Houd de markt in de gaten en probeer als parttime junior/stagiaire een baan te krijgen bij elk bedrijf waarvoor je in ieder geval bij benadering geschikt bent. Wees niet bang voor betaalde congressen: deze bieden vaak hele mooie kortingen voor studenten.

Als je al deze punten volgt, kun je tegen de tijd dat je je diploma ontvangt een buitengewoon goede specialist worden met werkervaring en een schat aan fundamentele kennis, die autodidacten vaak verwaarlozen vanwege hun niet-toegepaste karakter. Nou, de korst kan helpen als je naar het buitenland gaat: daar kijken ze daar nogal vaak naar.

Als je niet voldoet... Nou, je kunt een score behalen door met de stroom mee te gaan, te kopiëren en je van de ene op de andere dag voor te bereiden op het examen. Maar hoe competitief denk je dan te zijn? Ik zeg natuurlijk niet dat je in alles een tien moet halen. Je hoeft alleen maar kennis op te doen. Gebruik uw gezond verstand. Bestudeer wat interessant en nuttig is, en geef niets om cijfers.

Bericht aan de toekomstige programmeur

Het belangrijkste is niet wat ze je proberen binnen te dringen. Het belangrijkste is wat interessant en relevant is

-

verder, tweede manier: programmeercursussen. Het internet staat vol met aanbiedingen om van jou een junior te maken in slechts 3 maanden les. Gewoon met een portfolio, en ze helpen je zelfs aan een baan. Slechts 10 per maand, ja.
Misschien werkt dit voor sommigen, maar puur IMHO: dit is complete onzin. Verspil uw tijd en geld niet. En dat is waarom:

Iemand die ver van IT verwijderd is, zal de specifieke kenmerken van het beroep binnen drie maanden niet kunnen begrijpen. Helemaal niet. Er is te veel informatie om te absorberen, te veel om te begrijpen en bovendien te veel om aan te wennen.

Wat gaan ze je dan verkopen? Ze zullen je een “mechanische vaardigheid” verkopen. Zonder veel in de details te duiken, zullen ze u laten zien wat u moet schrijven om precies dit resultaat te krijgen. Met gedetailleerde instructies en de hulp van een leraar schrijf je een soort applicatie. Eén, maximaal twee. Hier is de portefeuille. En hulp bij het vinden van een baan is het sturen van vacatures naar junioren van grote bedrijven waar je waarschijnlijk geen sollicitatiegesprek zult krijgen.

Waarom is dit zo? Het is simpel: het is heel belangrijk voor een programmeur om abstract te denken. Een programmeur lost problemen op die op een miljard mogelijke manieren kunnen worden opgelost. En de belangrijkste taak is om er één, de meest correcte, uit miljarden te kiezen en deze te implementeren. Door een of twee projecten volgens de instructies te maken, krijgt u enige kennis van een programmeertaal, maar leert u niet hoe u abstracte problemen oplost. Om een ​​analogie te trekken: stel je voor dat ze beloven je oriëntatieloop te leren, je langs een paar eenvoudige wandelroutes te nemen en dan te zeggen dat je klaar bent om de taiga alleen in de winter te veroveren. Nou ja, je hebt geleerd een kompas te gebruiken en een vuur aan te steken zonder lucifers.

Om samen te vatten: geloof niet degenen die beloven je in korte tijd te zullen 'rollen'. Als dit mogelijk was, zou iedereen al lang programmeur zijn geworden.

Bericht aan de toekomstige programmeur

Links: Wat je gaat leren. Rechts: Wat wordt er van u verwacht op het werk?

-

derde manier - het pad dat door de meerderheid is gekozen. zelfstudie.

De moeilijkste, maar misschien wel de meest nobele manier. Laten we het in meer detail bekijken.

Dus besloot je programmeur te worden. Waar te beginnen?

Allereerst moet je jezelf de vraag beantwoorden: waarom wil je dit? Als het antwoord is “nou ja, het is natuurlijk niet bijzonder interessant, maar ze betalen veel”, dan kun je daar stoppen. Dit is niet de plek voor jou. Zelfs als je wilskracht voldoende is om een ​​hoop informatie te doorzoeken, duizenden regels code te schrijven, honderden mislukkingen te doorstaan ​​en toch een baan te krijgen, zal dit zonder liefde voor het vak alleen maar leiden tot emotionele burn-out. Programmeren vereist een enorme hoeveelheid intellectuele inspanning, en als deze inspanningen niet worden gevoed door een emotioneel rendement in de vorm van voldoening voor een opgelost probleem, zullen de hersenen vroeg of laat gek worden en je de mogelijkheid ontnemen om ook maar iets op te lossen. . Niet het meest aangename scenario.

Als u zeker weet dat u hierin geïnteresseerd bent, kunt u beslissen over de details: wat u precies wilt doen. Als je niet weet hoe programmeurs van elkaar kunnen verschillen, kan Google je helpen.

Ik zal meteen het eerste advies schrijven, zodat je het niet vergeet: leer Engels. Engels is nodig. Zonder Engels kun je nergens heen. Echt niet. Zonder Engels kun je geen normale programmeur worden. Dat is het.

Vervolgens is het raadzaam om een ​​roadmap op te stellen: een plan waarop je gaat ontwikkelen. Bestudeer de details, kijk naar vacatures in jouw specialiteit, ontdek oppervlakkig wat voor soort technologieën daar worden gebruikt.

Een voorbeeld roadmap voor een backend programmeur (niet voor iedereen uiteraard, dit is slechts één van de mogelijke opties):

  1. Basisprincipes van html/css.
  2. Python. Basisprincipes.
  3. Netwerkprogrammering. Interactie tussen Python en internet.
  4. Kaders voor ontwikkeling. Django, fles. (opmerking: om te begrijpen wat voor soort “django” en “fles” het zijn, moet je naar de vacatures kijken en lezen wat daar vereist is)
  5. Diepgaande studie van Python.
  6. js-basisprincipes.

Het zeer, Ik herhaal, zeer een ruw plan, waarvan elk van de punten op zichzelf enorm is, en veel onderwerpen zijn niet opgenomen (bijvoorbeeld het testen van code). Maar dit is op zijn minst een soort systematisering van kennis waardoor je niet in de war raakt over wat je weet en wat je niet weet. Terwijl we studeren, zal duidelijker worden wat er ontbreekt, en zal deze routekaart worden aangevuld.

Vervolgens: zoek de materialen die je gaat gebruiken om te studeren. Belangrijkste mogelijke opties:

  • Online cursussen. Niet die cursussen die “juni in 3 dagen” zijn, maar die die één specifiek ding leren. Vaak zijn deze cursussen gratis. Voorbeelden van sites met normale cursussen: stapik, coursera.
  • Online schoolboeken. Er zijn gratis, shareware, betaalde. U bepaalt zelf waar u wel en waar niet moet betalen. Voorbeelden: htmlacademie, leer.javascript.ru, django-boek.
  • Boeken. Er zijn er veel, heel veel. Als je niet kunt kiezen, drie adviezen: probeer nieuwe boeken te nemen, want... informatie veroudert zeer snel; Uitgeverij O'Reilly heeft een redelijk hoog kwaliteitsniveau en een normale presentatie; Lees indien mogelijk in het Engels.
  • Meetups/conferenties/lezingen. Niet zo nuttig in termen van informatierijkdom, maar uiterst nuttig in termen van de mogelijkheid om met collega's te communiceren, relevante vragen te stellen en nieuwe kennissen te maken. Misschien zelfs een vacature vinden.
  • Googlen. Veel mensen onderschatten het, maar het vermogen om eenvoudig antwoorden op sommige vragen te vinden is erg belangrijk. Google gerust dingen die je niet begrijpt. Zelfs doorgewinterde senioren doen dit. Het vermogen om snel informatie over iets te vinden is in essentie hetzelfde als het weten ervan.

Oké, we hebben de informatiebronnen bepaald. Hoe ermee te werken?

  1. Goed lezen/luisteren. Lees niet als je moe bent. Duik in de betekenis, sla de punten die voor de hand liggen niet over. Vaak gebeurt de overgang van het voor de hand liggende naar het onbegrijpelijke vrij snel. Ga gerust terug en herlees.
  2. Notities maken. Ten eerste zal het gemakkelijker voor u zijn om uw aantekeningen te begrijpen als er veel informatie is. Ten tweede wordt de informatie op deze manier beter opgenomen.
  3. Voer alle taken uit die de bron u voorstelt. Hoewel nee, niet zo. Doen ALL taken die de bron u biedt. Zelfs degenen die eenvoudig lijken. Vooral degenen die te ingewikkeld lijken. Als je vastloopt, vraag dan om hulp stapeloverloop, tenminste via Google Translate. De opdrachten zijn niet voor niets geschreven; ze zijn nodig voor de juiste verwerking van de stof.
  4. Bedenk zelf taken en voer ze ook uit. Idealiter zou er meer praktijk dan theorie moeten zijn. Hoe steviger u het materiaal vastzet, hoe groter de kans dat u het binnen een maand niet zult vergeten.
  5. Optioneel: verzin quizzen voor jezelf terwijl je leest. Schrijf lastige vragen op in een aparte bron en lees deze na een week of maand en probeer ze te beantwoorden. Als het niet werkt, probeer het dan opnieuw.

En we herhalen deze 5 punten voor elke technologie die wordt bestudeerd. Alleen op deze manier (met een grondige studie van de theorie en een dichte dekking van de praktijk) ontwikkel je een hoogwaardige kennisbasis waarmee je een professional kunt worden.

En het lijkt erop dat alles eenvoudig is: we leren technologieën één voor één, begrijpen Zen en gaan aan het werk. Zo is het, maar zo is het niet.

De meeste mensen die leren programmeren gaan ongeveer als volgt:

Bericht aan de toekomstige programmeur

de foto is eerlijk gezegd gestolen vandaar

En hier moet je elk van de stappen in meer detail bekijken:

Beginnen: Je hebt nul kennis. Vertrekpunt. Er is nog niets duidelijk, maar het is waarschijnlijk buitengewoon interessant. Het pad begint bergopwaarts, maar licht. Binnenkort zul je klimmen

Hoogtepunt van dwaasheid: “Hoera, je hebt je eerste paar cursussen afgerond! Alles komt goed!” In dit stadium verblindt de euforie van de eerste successen de ogen. Het lijkt erop dat het succes al dichtbij is, ondanks het feit dat je nog aan het begin van je reis staat. En terwijl je naar dit succes streeft, merk je misschien niet hoe je snelle val in de put zal beginnen. En de naam van deze put:

Vallei van wanhoop: Dus je hebt de basiscursussen afgerond, een aantal boeken gelezen en besloten om zelf iets te gaan schrijven. En opeens werkt niet. Het lijkt erop dat alles bekend is, maar hoe je het moet combineren zodat het werkt, is niet duidelijk. "Ik weet niets", “Het gaat mij niet lukken”. In dit stadium geven veel mensen het op. In feite bestaat kennis echt, en deze is nergens verdampt. Duidelijke eisen en ondersteuning verdwenen simpelweg. Het echte programmeren begon. Wanneer je moet manoeuvreren in een ruimte waar een doel is, maar er geen tussenfasen zijn, vallen veel mensen in een verdoving. Maar in werkelijkheid is dit gewoon een nieuwe leerfase - ook al blijkt de eerste tien keer alles op de een of andere manier, met enorme inspanning, lelijk. Het belangrijkste is om de zaak keer op keer tot een goed einde te brengen, tenminste op de een of andere manier. De elfde keer zal het gemakkelijker zijn. Op de vijftigste zal er een oplossing verschijnen die je mooi zal lijken. Op de honderdste zal het niet meer eng zijn. En dan zal het komen

Helling van de Verlichting: In dit stadium komen de grenzen van je kennis en je onwetendheid duidelijk naar voren. Onwetendheid is niet langer beangstigend; er is inzicht in hoe deze te overwinnen. Het zal gemakkelijker worden om zonder beslissingen in de ruimte te manoeuvreren. Dit is al de finish. Je realiseert je al wat je als specialist mist, vult aan en consolideert wat nodig is en betreedt het veld met een rustige ziel.

Plateau van stabiliteit: Gefeliciteerd. Dit is de finishlijn. Je bent een deskundige. U kunt werken, u zult niet verdwalen als u met onbekende technologie wordt geconfronteerd. Bijna elk probleem kan worden overwonnen als je er voldoende moeite voor doet. En ondanks het feit dat dit de finish is, is dit slechts het begin van een nog grotere reis.

Het pad van de programmeur.

Veel succes hiermee!

Literatuur voor optionele lectuur:
Over programmeur worden en het Dunning-Kruger-effect: por.
Een hardcore manier om in 9 maanden programmeur te worden (niet voor iedereen geschikt): por.
Lijst met projecten die je tijdens je studie zelfstandig kunt uitvoeren: por.
Even een extra motivatie: por.

Bron: www.habr.com

Voeg een reactie