Meddelande till den framtida programmeraren

Så du bestämde dig för att bli programmerare.

Kanske är du intresserad av att skapa något nytt.

Kanske lockar stora löner dig.

Kanske vill du bara ändra ditt verksamhetsområde.

Inte poängen.

Det viktiga är att du bestämmer bli programmerare.

Vad ska man göra nu?

Meddelande till den framtida programmeraren

Och det finns flera tillvägagångssätt.

Först: gå på universitet för en IT-specialitet och få specialiserad utbildning. Det mest banala, relativt pålitliga, extremt långa, mest grundläggande sättet. Det fungerar om du fortfarande går ut skolan, eller om du har möjlighet att försörja dig själv från ett och ett halvt (i bästa fall om du hinner med allt i farten och kan börja jobba i det andra året) till fyra (om du kombinerar arbete och studier är inte din starka sida ) år.

Vad är viktigt att veta här?

  • Det är nödvändigt att välja rätt universitet. Se träningsprogram, betyg. En bra indikator är tävlingar från universitetet. Om universitetslag åtminstone periodvis tar plats bland de tio bästa på relativt stora programmerings-olympiader, så kommer kodning på universitetet inte att vara en rudiment (trots att du personligen kanske inte är intresserad av olympiader alls). Tja, i allmänhet reglerar sunt förnuft: det är osannolikt att Bratsk-grenen av Baikal State University kommer att göra dig till en kraftfull full stack.
    Exempel på bra universitet: Moscow State University/St. Petersburg State University (uppenbarligen), Baumanka (Moskva), ITMO (St. Petersburg), NSU (Novosibirsk). Trots all deras framstående är det fullt möjligt att komma in i dem på en budget, om du inte siktar på toppavdelningar.
  • Inte bara ett universitet. Trots att du kommer att bli utförligt utbildad i alla möjliga saker räcker inte detta. På grund av byråkrati kommer utbildningsprogrammet nästan alltid att släpa efter moderna trender. I bästa fall - i ett eller två år. I värsta fall - i 5-10 år. Du måste göra skillnaden själv. Tja, det uppenbara: om du studerar materialet tillsammans med andra studenter, kommer var och en av dem att vara din jämlika konkurrent. Om du valfritt kommer ut före kommer du att se mycket bättre ut på marknaden.
  • Sök jobb så tidigt som möjligt. Jag började jobba på mitt andra år. Vid slutet av universitetet var jag redan en ganska medelstor utvecklare och inte en blygsam junior utan erfarenhet. Jag tror att det är uppenbart att efter examen från college är det trevligare att tjäna 100k än att tjäna 30k. Hur uppnår man detta? För det första, se punkterna A och B. För det andra, gå på möten, festivaler, konferenser, jobbmässor. Bevaka marknaden och försök få ett jobb som deltidsjunior/trainee på vilket företag som helst som du åtminstone är ungefär lämpad för. Var inte rädd för betalda konferenser: de erbjuder ofta mycket fina rabatter för studenter.

Om du följer alla dessa punkter, när du får ditt diplom, kan du bli en extremt bra specialist med arbetslivserfarenhet och en mängd grundläggande kunskaper, som självlärda ofta försummar på grund av sin otillämpade natur. Tja, skorpan kan hjälpa om du ska utomlands: de tittar på det här ganska ofta där.

Om du inte följer... Tja, du kan få poäng genom att följa flödet, kopiera och förbereda dig för provet över en natt. Men hur konkurrenskraftig tror du att du kommer att vara då? Naturligtvis säger jag inte att du behöver få A i allt. Du behöver bara skaffa dig kunskap. Använd sunt förnuft. Studera det som är intressant och användbart, och bry dig inte om betyg.

Meddelande till den framtida programmeraren

Huvudsaken är inte vad de försöker trycka in i dig. Huvudsaken är vad som är intressant och relevant

-

vidare, andra sättet: programmeringskurser. Internet vimlar absolut av erbjudanden för att göra dig junior på bara 3 månaders klasser. Bara med en portfölj, så hjälper de dig till och med att hitta ett jobb. Bara 10k i månaden, ja.
Kanske kommer detta att fungera för vissa, men rent IMHO: det här är fullständigt skitsnack. Slösa inte din tid och pengar. Och det är varför:

En person som är långt ifrån IT kommer inte att kunna förstå yrkets detaljer på 3 månader. Inget sätt alls. Det finns för mycket information att ta till sig, för mycket att förstå, och dessutom för mycket att vänja sig vid.

Vad kommer de att sälja till dig då? De kommer att sälja dig en "mekanisk färdighet". Utan att fördjupa sig mycket i detaljerna kommer de att visa dig vad du behöver skriva för att få exakt detta resultat. Med utförliga instruktioner och hjälp av en lärare kommer du att skriva någon form av ansökan. En, max två. Här är portfolion. Och hjälp med att hitta ett jobb är att skicka lediga jobb till juniorer från stora företag där det är osannolikt att du får en intervju.

Varför är det så? Det är enkelt: det är mycket viktigt för en programmerare att tänka abstrakt. En programmerare löser problem som kan lösas på en miljard möjliga sätt. Och huvuduppgiften är att välja en, den mest korrekta, av miljarder och genomföra den. Att skapa ett eller två projekt enligt instruktioner kommer att ge dig viss kunskap om ett programmeringsspråk, men kommer inte att lära dig hur du löser abstrakta problem. För att dra en liknelse: föreställ dig att de lovar att lära dig orientering, ta dig längs ett par enkla vandringsleder och sedan säga att du är redo att erövra taigan på vintern ensam. Nåväl, du fick lära dig att använda en kompass och tända en eld utan tändstickor.

För att sammanfatta: tro inte på de som lovar att "rulla" dig på kort tid. Om detta var möjligt skulle alla ha blivit programmerare för länge sedan.

Meddelande till den framtida programmeraren

Vänster: Vad du kommer att lära dig. Höger: Vad kommer att krävas av dig på jobbet?

-

tredje vägen - den väg som majoriteten valt. Självutbildning.

Det svåraste, men kanske det ädlaste sättet. Låt oss titta på det mer i detalj.

Så du bestämde dig för att bli programmerare. Var ska man börja?

Först och främst måste du svara på dig själv på frågan: varför vill du ha det här? Om svaret är "ja, det är naturligtvis inte speciellt intressant, men de betalar mycket", då kan du sluta där. Det här är inte platsen för dig. Även om din viljestyrka räcker för att sålla igenom en massa information, skriva tusentals rader kod, utstå hundratals misslyckanden och ändå få ett jobb, som ett resultat, utan kärlek till yrket, kommer detta bara att leda till känslomässig utbrändhet. Programmering kräver en enorm mängd intellektuell ansträngning, och om dessa ansträngningar inte drivs av en känslomässig avkastning i form av tillfredsställelse för ett löst problem, kommer hjärnan förr eller senare att bli galen och beröva dig förmågan att lösa vad som helst . Inte det roligaste scenariot.

Om du är säker på att du är intresserad av detta kan du bestämma dig för detaljerna - vad exakt du vill göra. Om du inte vet hur programmerare kan skilja sig från varandra kan Google hjälpa dig.

Jag kommer att skriva det första rådet direkt så att du inte glömmer: lär dig engelska. Engelska behövs. Du kan inte gå någonstans utan engelska. Aldrig. Utan engelska kan du inte bli en normal programmerare. Det är allt.

Därefter är det tillrådligt att göra en färdplan: en plan enligt vilken du kommer att utveckla. Studera detaljerna, titta på lediga tjänster inom din specialitet, ta reda på ytligt vilken typ av teknik som används där.

Ett exempel på en färdplan för en backend-programmerare (inte för alla, naturligtvis, detta är bara ett av de möjliga alternativen):

  1. Grunderna i html/css.
  2. Pytonorm. Grunderna.
  3. Nätverksprogrammering. Interaktion mellan python och webb.
  4. Ramar för utveckling. Django, kolv. (anmärkning: bara för att förstå vad det är för "django" och "flaska" måste du titta på de lediga jobben och läsa vad som krävs där)
  5. Fördjupad studie av python.
  6. js grunderna.

Den mycket, Jag repeterar, mycket en grov plan, var och en av punkterna är enorma i sig och många ämnen ingår inte (till exempel kodtestning). Men detta är åtminstone någon form av systematisering av kunskap som gör att du inte kan bli förvirrad över vad du vet och vad du inte vet. När vi studerar kommer det att bli tydligare vad som saknas och denna färdplan kommer att kompletteras.

Nästa: hitta det material du kommer att använda för att studera. De viktigaste möjliga alternativen:

  • Onlinekurser. Inte de kurserna som "Juni om 3 dagar", utan de som lär ut en specifik sak. Ofta är dessa kurser gratis. Exempel på sajter med normala kurser: stepik, Coursera.
  • Läroböcker på nätet. Det finns gratis, shareware, betalda. Du kommer själv att ta reda på var du ska betala och var inte. Exempel: htmlakademi, learn.javascript.ru, django bok.
  • Böcker. Det finns många, många av dem. Om du inte kan välja, tre råd: försök ta nya böcker, för... information blir föråldrad mycket snabbt; O'Reilly förlag har en ganska hög kvalitet och normal presentation; Om möjligt, läs på engelska.
  • Möten/konferenser/föreläsningar. Inte så användbart när det gäller informationsrikedom, men oerhört användbart när det gäller möjligheten att kommunicera med kollegor, ställa relevanta frågor och göra nya bekantskaper. Kanske till och med hitta en ledig plats.
  • Google. Många underskattar, men förmågan att helt enkelt hitta svar på vissa frågor är väldigt viktig. Googla gärna saker du inte förstår. Även rutinerade seniorer gör detta. Förmågan att snabbt hitta information om något är i huvudsak detsamma som att veta det.

Okej, vi har bestämt oss för informationskällorna. Hur arbetar man med dem?

  1. Läs/lyssna noga. Läs inte när du är trött. Fördjupa dig i innebörden, hoppa inte över de punkter som verkar uppenbara. Ofta går övergången från det uppenbara till det obegripliga ganska snabbt. Gå gärna tillbaka och läs igen.
  2. Anteckna. För det första blir det lättare för dig att förstå dina anteckningar när det finns mycket information. För det andra, på detta sätt absorberas informationen bättre.
  3. Gör alla uppgifter som källan föreslår för dig. Fast nej, inte så. Do ALL uppgifter som källan erbjuder dig. Även de som verkar enkla. Speciellt de som verkar för komplicerade. Om du fastnar, be om hjälp stackoverflow, åtminstone genom Google translate. Uppgifterna är skrivna av en anledning, de behövs för korrekt assimilering av materialet.
  4. Kom på uppgifter själv och gör dem också. Helst borde det finnas mer praktik än teori. Ju tätare du säkrar materialet, desto mer sannolikt är det att du inte kommer att glömma det om en månad.
  5. Valfritt: gör upp frågesporter för dig själv medan du läser. Skriv ner knepiga frågor i en separat källa, och efter en vecka eller månad, läs och försök att svara. Om det inte fungerar, försök igen.

Och vi upprepar dessa 5 punkter för varje teknik som studeras. Endast på detta sätt (med en grundlig studie av teori och en tät täckning av praktiken) kommer du att utveckla en högkvalitativ kunskapsbas med vilken du kan bli professionell.

Och det verkar som att allt är enkelt: vi lär oss teknologier en efter en, förstår Zen och går till jobbet. Det är så det är, men det är det inte.

De flesta som lär sig programmering går ungefär så här:

Meddelande till den framtida programmeraren

bilden är ärligt talat stulen hence

Och här måste du titta på vart och ett av stegen mer detaljerat:

Старт: Du har noll kunskap. Utgångspunkt. Inget är klart ännu, men det är nog oerhört intressant. Stigen börjar uppför, men lätt. Mycket snart kommer du att klättra

Peak of Folly: ”Hurra, du har gått dina första par kurser! Allt löser sig!" I detta skede förblindar euforin från de första framgångarna ögonen. Det verkar som att framgången redan är nära, trots att du fortfarande är i början av din resa. Och medan du strävar efter denna framgång kanske du inte märker hur ditt snabba fall i gropen kommer att börja. Och namnet på denna grop:

Förtvivlans dal: Så du har slutfört grundkurserna, läst några böcker och bestämmer dig för att börja skriva något eget. Och plötsligt fungerar inte. Det verkar som att allt är känt, men hur man kombinerar det så att det fungerar är inte klart. "Jag vet ingenting", "Jag kommer inte att lyckas". I det här skedet ger många upp. Faktum är att kunskap verkligen existerar, och den har inte avdunstat någonstans. Tydliga krav och stöd försvann helt enkelt. Den riktiga programmeringen började. När du måste manövrera i ett utrymme där det finns ett mål, men det inte finns några mellanstadier, faller många i dvala. Men i verkligheten är detta bara ytterligare ett inlärningsstadium – även om de första tio gångerna allt på något sätt, med enorm ansträngning, blir fult. Det viktigaste är att få saken avslutad om och om igen, åtminstone på något sätt. Elfte gången blir det lättare. Den femtionde kommer en lösning som kommer att verka vacker för dig. På hundradelen blir det inte läskigt längre. Och så kommer det

Upplysningens sluttning: I detta skede framträder tydligt gränserna för din kunskap och din okunnighet. Okunskap är inte längre skrämmande, det finns en förståelse för hur man kan övervinna den. Det blir lättare att manövrera i rymden utan beslut. Detta är redan mållinjen. Redan när du inser vad du saknar som specialist, kommer du att komplettera och konsolidera det som är nödvändigt och gå in på fältet med en lugn själ.

Platå av stabilitet: Grattis. Det här är mållinjen. Du är en expert. Du kan arbeta, du går inte vilse när du ställs inför obekant teknik. Nästan alla problem kan övervinnas om du anstränger dig tillräckligt. Och trots att det här är målgången är det bara början på en ännu större resa.

Programmerarens väg.

Lycka till med detta!

Litteratur för valfri läsning:
Om att bli programmerare och Dunning-Kruger-effekten: peta.
Hardcore sätt att bli programmerare på 9 månader (passar inte för alla): peta.
Lista över projekt som du kan genomföra självständigt under dina studier: peta.
Bara lite extra motivation: peta.

Källa: will.com

Lägg en kommentar