Boodskap aan die toekomstige programmeerder

So, jy het besluit om 'n programmeerder te word.

Miskien stel jy belang om iets nuuts te skep.

Miskien lok groot salarisse jou.

Miskien wil jy net jou aktiwiteitsveld verander.

Nie die punt nie.

Wat saak maak, is dat jy besluit word 'n programmeerder.

Wat om nou te doen?

Boodskap aan die toekomstige programmeerder

En daar is verskeie benaderings.

Eerste: universiteit toe gaan vir 'n IT spesialiteit en ontvang gespesialiseerde onderwys. Die mees banale, relatief betroubare, uiters lang, mees fundamentele manier. Dit werk as jy nog skool klaarmaak, of jy het die middele om jouself te onderhou van een en 'n half (op sy beste, as jy alles op die vlug slaan en in die 2de jaar kan begin werk) tot vier (as jy werk en studie kombineer is nie jou sterk punt nie ) jare.

Wat is belangrik om hier te weet?

  • Dit is nodig om die regte universiteit te kies. Sien opleidingsprogramme, graderings. 'n Goeie aanwyser is kompetisies van die universiteit. As universiteitspanne ten minste periodiek onder die toptien by relatief groot programmerings-olimpiades plaas vind, sal kodering by die universiteit nie 'n grondslag wees nie (ten spyte daarvan dat jy persoonlik glad nie in olimpiades belangstel nie). Wel, in die algemeen, reël gesonde verstand: dit is onwaarskynlik dat die Bratsk-tak van die Baikal State University jou 'n kragtige volle stapel sal maak.
    Voorbeelde van goeie universiteite: Moskou Staatsuniversiteit/St. Petersburg Staatsuniversiteit (natuurlik), Baumanka (Moskou), ITMO (St. Petersburg), NSU (Novosibirsk). Ten spyte van al hul aansien, is dit heel moontlik om met 'n begroting in hulle te kom, as jy nie na topdepartemente mik nie.
  • Nie net 'n universiteit nie. Ten spyte van die feit dat jy omvattend opgelei sal word in allerhande dinge, is dit nie genoeg nie. As gevolg van burokrasie sal die opleidingsprogram byna altyd agter moderne neigings bly. Op sy beste - vir 'n jaar of twee. Op die ergste - vir 5-10 jaar. Jy sal self die verskil moet maak. Wel, die ooglopende: as jy die materiaal saam met ander studente bestudeer, sal elkeen van hulle jou gelyke mededinger wees. As jy opsioneel vorentoe uitkom, sal jy baie beter op die mark lyk.
  • Soek so vroeg as moontlik werk. Ek het in my tweede jaar begin werk. Teen die einde van universiteit was ek reeds 'n taamlike middelontwikkelaar, en nie 'n beskeie junior met geen ondervinding nie. Ek dink dit is voor die hand liggend dat nadat jy aan die universiteit gegradueer het, 100k meer aangenaam is as om 30k te verdien. Hoe om dit te bereik? Eerstens, sien punte A en B. Tweedens, gaan na ontmoetings, feeste, konferensies, werkskoue. Monitor die mark en probeer werk kry as deeltydse junior/leerling in enige maatskappy waarvoor jy ten minste by benadering geskik is. Moenie bang wees vir betaalde konferensies nie: hulle bied dikwels baie goeie afslag vir studente.

As jy al hierdie punte volg, kan jy teen die tyd dat jy jou diploma ontvang, 'n uiters goeie spesialis word met werkservaring en 'n magdom fundamentele kennis, wat selfopgeleide mense dikwels verwaarloos weens hul ontoegepaste aard. Wel, die kors kan help as jy oorsee gaan: hulle kyk nogal gereeld hierna.

As jy nie daaraan voldoen nie... Wel, jy kan 'n telling kry deur met die vloei te gaan, te kopieer en oornag vir die eksamen voor te berei. Maar hoe mededingend dink jy sal jy dan wees? Ek sê natuurlik nie dat jy A's in alles moet kry nie. Jy moet net kennis opdoen. Gebruik gesonde verstand. Bestudeer wat interessant en nuttig is, en gee nie om oor grade nie.

Boodskap aan die toekomstige programmeerder

Die belangrikste ding is nie wat hulle in jou probeer druk nie. Die belangrikste ding is wat interessant en relevant is

-

verder, tweede manier: programmeringskursusse. Die internet wemel absoluut van aanbiedinge om jou 'n junior te maak in net 3 maande se klasse. Net met 'n portefeulje, en hulle sal jou selfs help om 'n werk te kry. Net 10k per maand, ja.
Miskien sal dit vir sommige werk, maar suiwer IMHO: dit is volledige snert. Moenie jou tyd en geld mors nie. En dit is hoekom:

'n Persoon wat ver van IT is, sal binne 3 maande nie die besonderhede van die beroep kan verstaan ​​nie. Geen manier nie. Daar is te veel inligting om te absorbeer, te veel om te verstaan, en boonop te veel om aan gewoond te raak.

Wat sal hulle jou dan verkoop? Hulle sal vir jou 'n "meganiese vaardigheid" verkoop. Sonder om baie in die besonderhede te delf, sal hulle jou wys wat jy moet skryf om presies hierdie resultaat te kry. Met gedetailleerde instruksies en die hulp van 'n onderwyser, sal jy 'n soort toepassing skryf. Een, maksimum twee. Hier is die portefeulje. En hulp om werk te kry, is om vakatures aan juniors van groot maatskappye te stuur waar dit onwaarskynlik is dat jy 'n onderhoud sal kry.

Hoekom is dit so? Dit is eenvoudig: dit is baie belangrik vir 'n programmeerder om abstrak te dink. 'n Programmeerder los probleme op wat op 'n miljard moontlike maniere opgelos kan word. En die hooftaak is om een, die mees korrekte een, uit miljarde te kies en dit te implementeer. Die skep van een of twee projekte volgens instruksies sal jou 'n mate van kennis van 'n programmeertaal gee, maar sal jou nie leer hoe om abstrakte probleme op te los nie. Om 'n analogie te trek: stel jou voor dat hulle belowe om jou oriëntasie te leer, neem jou langs 'n paar eenvoudige staproetes, en sê dan dat jy gereed is om die taiga alleen in die winter te verower. Wel, wat, jy is geleer om 'n kompas te gebruik en 'n vuur aan te steek sonder vuurhoutjies.

Om op te som: moenie diegene glo wat belowe om jou in 'n kort tydjie te "rol" nie. As dit moontlik was, sou almal lankal programmeerders geword het.

Boodskap aan die toekomstige programmeerder

Links: Wat jy geleer sal word. Regs: Wat sal van jou by die werk vereis word?

-

derde manier - die pad wat die meerderheid gekies het. Selfopvoeding.

Die moeilikste, maar miskien die edelste manier. Kom ons kyk in meer detail daarna.

So jy het besluit om 'n programmeerder te word. Waar om te begin?

Eerstens moet jy jouself die vraag beantwoord: hoekom wil jy dit hê? As die antwoord is "wel, natuurlik, dit is nie besonder interessant nie, maar hulle betaal baie", dan kan jy daar stop. Dit is nie die plek vir jou nie. Selfs al is jou wilskrag genoeg om deur ’n klomp inligting te sif, duisende reëls kode te skryf, honderde mislukkings te verduur en steeds werk te kry, as gevolg daarvan, sonder liefde vir die beroep, sal dit net tot emosionele uitbranding lei. Programmering verg 'n groot hoeveelheid intellektuele inspanning, en as hierdie pogings nie aangevuur word deur 'n emosionele terugkeer in die vorm van bevrediging vir 'n opgeloste probleem nie, dan sal die brein vroeër of later mal raak en jou ontneem van die vermoë om enigiets op te los . Nie die lekkerste scenario nie.

As jy seker is dat jy hierin belangstel, dan kan jy oor die besonderhede besluit - wat presies jy wil doen. As jy nie weet hoe programmeerders van mekaar kan verskil nie, kan Google jou help.

Ek sal dadelik die eerste stukkie raad skryf sodat jy nie vergeet nie: leer Engels. Engels is nodig. Jy kan nêrens heen gaan sonder Engels nie. Glad nie. Sonder Engels kan jy nie 'n normale programmeerder word nie. Dis dit.

Vervolgens is dit raadsaam om 'n padkaart op te stel: 'n plan waarvolgens jy sal ontwikkel. Bestudeer die besonderhede, kyk na vakatures in jou spesialiteit, vind oppervlakkig uit watter soort tegnologie daar gebruik word.

'n Voorbeeldpadkaart vir 'n backend-programmeerder (natuurlik nie vir almal nie, dit is net een van die moontlike opsies):

  1. Basiese beginsels van html/css.
  2. Python. Basiese beginsels.
  3. Netwerk programmering. Interaksie tussen luislang en web.
  4. Raamwerke vir ontwikkeling. Django, fles. (opmerking: net om te verstaan ​​watter soort “django” en “fles” dit is, moet jy na die vakatures kyk en lees wat daar vereis word)
  5. In-diepte studie van luislang.
  6. js basiese beginsels.

Dit baie, Ek herhaal, baie 'n rowwe plan, waarvan elk van die punte op sigself groot is, en baie onderwerpe is nie ingesluit nie (byvoorbeeld kodetoetsing). Maar dit is ten minste 'n soort sistematisering van kennis wat jou sal toelaat om nie verward te raak oor wat jy weet en wat jy nie weet nie. Soos ons studeer, sal dit duideliker word wat ontbreek, en hierdie padkaart sal aangevul word.

Volgende: vind die materiaal wat jy sal gebruik om te bestudeer. Belangrikste moontlike opsies:

  • Aanlyn kursusse. Nie daardie kursusse wat “Junie in 3 dae” is nie, maar dié wat een spesifieke ding leer. Dikwels is hierdie kursusse gratis. Voorbeelde van webwerwe met normale kursusse: stepik, coursera.
  • Aanlyn handboeke. Daar is gratis, deelware, betaal. Jy sal self uitvind waar om te betaal en waar nie. Voorbeelde: htmlakademie, leer.javascript.com, django boek.
  • Boeke. Daar is baie, baie van hulle. As jy nie kan kies nie, drie stukke raad: probeer om nuwe boeke te neem, want... inligting raak baie vinnig verouderd; O'Reilly uitgewery het 'n redelik hoë vlak van kwaliteit en normale aanbieding; Indien moontlik, lees in Engels.
  • Ontmoetings/konferensies/lesings. Nie so nuttig in terme van inligtingsrykheid nie, maar uiters nuttig in terme van die geleentheid om met kollegas te kommunikeer, relevante vrae te vra en nuwe kennisse te maak. Vind dalk selfs 'n vakature.
  • Google. Baie mense onderskat, maar die vermoë om eenvoudig antwoorde op sommige vrae te vind, is baie belangrik. Gaan Google gerus dinge wat jy nie verstaan ​​nie. Selfs ervare seniors doen dit. Die vermoë om vinnig inligting oor iets te vind, is in wese dieselfde as om dit te weet.

Goed, ons het besluit op die bronne van inligting. Hoe om met hulle te werk?

  1. Lees/luister aandagtig. Moenie lees as jy moeg is nie. Delf in die betekenis, moenie die punte oorslaan wat voor die hand liggend lyk nie. Dikwels gebeur die oorgang van die ooglopende na die onverstaanbare redelik vinnig. Gaan gerus terug en lees weer.
  2. Neem notas. Eerstens sal dit vir jou makliker wees om jou notas te verstaan ​​wanneer daar baie inligting is. Tweedens, op hierdie manier word die inligting beter geabsorbeer.
  3. Doen al die take wat die bron vir jou voorstel. Alhoewel nee, nie so nie. Doen ALLE take wat die bron jou bied. Selfs dié wat eenvoudig lyk. Veral dié wat te ingewikkeld lyk. As jy vashaak, vra vir hulp stapel oorloop, ten minste deur Google translate. Die opdragte word vir 'n rede geskryf; dit is nodig vir die korrekte assimilasie van die materiaal.
  4. Kom self met take vorendag en doen dit ook. Ideaal gesproke moet daar meer praktyk as teorie wees. Hoe stewiger jy die materiaal vasmaak, hoe groter is die kans dat jy dit oor 'n maand nie sal vergeet nie.
  5. Opsioneel: maak vasvrae vir jouself terwyl jy lees. Skryf moeilike vrae in 'n aparte bron neer, en lees na 'n week of maand en probeer om te beantwoord. As dit nie werk nie, probeer weer.

En ons herhaal hierdie 5 punte vir elke tegnologie wat bestudeer word. Slegs op hierdie manier (met 'n deeglike studie van teorie en 'n digte dekking van die praktyk) sal jy 'n hoë-gehalte kennisbasis ontwikkel waarmee jy 'n professionele persoon kan word.

En dit wil voorkom asof alles eenvoudig is: ons leer tegnologie een vir een, verstaan ​​Zen en gaan werk toe. Dit is hoe dit is, maar dit is nie.

Die meeste mense wat programmering leer, gaan so iets:

Boodskap aan die toekomstige programmeerder

die foto is eerlikwaar gesteel vandaar

En hier moet jy elkeen van die stappe in meer detail kyk:

Begin: Jy het geen kennis nie. Vertrekpunt. Niks is nog duidelik nie, maar dit is waarskynlik uiters interessant. Die paadjie begin opdraand, maar liggies. Baie gou sal jy klim

Piek van dwaasheid: “Hoe, jy het jou eerste paar kursusse voltooi! Alles werk uit!” Op hierdie stadium verblind die euforie van die eerste suksesse die oë. Dit blyk dat sukses reeds naby is, ten spyte van die feit dat jy nog aan die begin van jou reis is. En terwyl jy na hierdie sukses streef, sal jy dalk nie agterkom hoe jou vinnige val in die put sal begin nie. En die naam van hierdie put:

Vallei van wanhoop: So jy het die basiese kursusse voltooi, 'n paar boeke gelees en besluit om iets van jou eie te begin skryf. En skielik werk nie. Dit blyk dat alles bekend is, maar hoe om dit te kombineer sodat dit werk, is nie duidelik nie. "Ek weet niks nie", "Ek sal nie slaag nie". In hierdie stadium gee baie mense moed op. Trouens, kennis bestaan ​​werklik, en dit het nêrens verdamp nie. Duidelike vereistes en ondersteuning het eenvoudig verdwyn. Die regte programmering het begin. Wanneer jy in ’n ruimte moet maneuver waar daar ’n doelwit is, maar daar is geen tussenstadiums nie, verval baie mense in ’n stoornis. Maar in werklikheid is dit net nog 'n stadium van leer – al word alles die eerste tien keer op een of ander manier, met enorme moeite, lelik. Die belangrikste ding is om die saak oor en oor te voltooi, ten minste op een of ander manier. Die elfde keer sal dinge makliker wees. Op die vyftigste sal 'n oplossing verskyn wat vir jou mooi sal lyk. Op die honderdste sal dit nie meer skrikwekkend wees nie. En dan sal dit kom

Helling van Verligting: Op hierdie stadium kom die grense van jou kennis en jou onkunde duidelik na vore. Onkunde is nie meer skrikwekkend nie; daar is 'n begrip van hoe om dit te oorkom. Dit sal makliker word om sonder besluite in die ruimte te maneuver. Dit is reeds die eindstreep. As u reeds besef wat u as spesialis kortkom, sal u dit wat nodig is voltooi en konsolideer en met 'n rustige siel die veld betree.

Plato van Stabiliteit: Baie geluk. Dit is die eindstreep. Jy is 'n kenner. Jy kan werk, jy sal nie verdwaal as jy met onbekende tegnologie gekonfronteer word nie. Byna enige probleem kan oorkom word as jy genoeg moeite doen. En ten spyte van die feit dat dit die eindstreep is, is dit net die begin van 'n nog groter reis.

Die programmeerder se pad.

Sterkte hiermee!

Literatuur vir opsionele leeswerk:
Oor om 'n programmeerder te word en die Dunning-Kruger-effek: steek.
Hardcore manier om 'n programmeerder in 9 maande te word (nie geskik vir almal nie): steek.
Lys van projekte wat jy onafhanklik tydens jou studies kan implementeer: steek.
Net 'n bietjie ekstra motivering: steek.

Bron: will.com

Voeg 'n opmerking