Poruka budućem programeru

Dakle, odlučili ste da postanete programer.

Možda ste zainteresirani za stvaranje nečeg novog.

Možda vas mame velike plate.

Možda samo želite promijeniti polje djelovanja.

Nije poenta.

Bitno je da vi odlučite postati programer.

Šta sada učiniti?

Poruka budućem programeru

I postoji nekoliko pristupa.

Prvi: idi na univerzitet za IT specijalnost i steći specijalizirano obrazovanje. Najbanalniji, relativno pouzdan, izuzetno dug, najosnovniji način. Radi ako još završavaš školu, ili imaš sredstva da se izdržavaš od jedne i po (u najboljem slučaju, ako sve uhvatiš u hodu i možeš početi raditi u 2. godini) do četiri (ako kombiniraš posao i učenje nije tvoja jača strana ) godine.

Šta je ovdje važno znati?

  • Neophodno je izabrati pravi univerzitet. Pogledajte programe obuke, ocjene. Dobar pokazatelj su takmičenja sa univerziteta. Ako univerzitetski timovi barem povremeno zauzmu mjesto među prvih deset na relativno velikim programskim olimpijadama, onda kodiranje na univerzitetu neće biti rudiment (unatoč činjenici da vas lično olimpijade možda uopće ne zanimaju). Pa, generalno, pravila zdravog razuma: malo je vjerovatno da će vam Bratsk ogranak Bajkalskog državnog univerziteta napraviti moćan pun stack.
    Primeri dobrih univerziteta: Moskovski državni univerzitet/Sankt Peterburg državni univerzitet (očigledno), Baumanka (Moskva), ITMO (Sankt Peterburg), NSU (Novosibirsk). Bez obzira na svu njihovu eminentnost, sasvim je moguće ući u njih na budžetu, ako ne ciljate na vrhunske odjele.
  • Ne samo univerzitet. Uprkos činjenici da ćete biti sveobuhvatno obučeni za sve vrste stvari, to nije dovoljno. Zbog birokratije, program obuke će gotovo uvijek zaostajati za modernim trendovima. U najboljem slučaju - godinu ili dvije. U najgorem slučaju - 5-10 godina. Razliku ćete morati sami nadoknaditi. Pa, očigledno: ako učite gradivo zajedno sa drugim učenicima, onda će vam svaki od njih biti ravnopravan konkurent. Ako opciono izađete naprijed, izgledat ćete mnogo bolje na tržištu.
  • Potražite posao što je prije moguće. Počeo sam raditi u drugoj godini. Do kraja fakulteta, već sam bio prilično srednji programer, a ne skroman junior bez iskustva. Mislim da je očigledno da je nakon završetka fakulteta zarađivati ​​100k ugodnije nego zaraditi 30k. Kako to postići? Prvo, pogledajte tačke A i B. Drugo, idite na sastanke, festivale, konferencije, sajmove poslova. Pratite tržište i pokušajte se zaposliti kao honorarni junior/pripravnik u bilo kojoj kompaniji za koju ste barem približno pogodni. Nemojte se plašiti plaćenih konferencija: oni često nude vrlo dobre popuste za studente.

Ako se pridržavate svih ovih tačaka, do trenutka kada dobijete diplomu, možete postati izuzetno dobar stručnjak sa radnim iskustvom i bogatim temeljnim znanjem, koje samouki ljudi često zanemaruju zbog svoje neprimijenjene prirode. Pa, kora može pomoći ako idete u inostranstvo: tamo ovo gledaju prilično često.

Ako se ne pridržavate... Pa, možete dobiti rezultat ako idete u toku, kopirate i pripremate se za ispit preko noći. Ali što mislite koliko ćete tada biti konkurentni? Naravno, ne kažem da u svemu morate dobiti petice. Samo treba da steknete znanje. Koristite zdrav razum. Učite ono što je zanimljivo i korisno i ne obazirite se na ocjene.

Poruka budućem programeru

Glavna stvar nije ono što pokušavaju ugurati u vas. Glavno je ono što je zanimljivo i relevantno

-

Nadalje, drugi način: kursevi programiranja. Internet je apsolutno prepun ponuda da postaneš junior za samo 3 mjeseca nastave. Samo sa portfoliom, a oni će vam čak pomoći da pronađete posao. Samo 10k mjesečno, da.
Možda će ovo nekome uspjeti, ali čisto IMHO: ovo je potpuno sranje. Ne gubite vrijeme i novac. I zato:

Osoba koja je daleko od IT-a neće moći da shvati specifičnosti profesije za 3 mjeseca. Nema šanse. Previše je informacija da se apsorbuje, previše da se razume, i štaviše, previše da se navikne.

Šta će vam onda prodati? Oni će vam prodati "mehaničku vještinu". Bez puno udubljivanja u detalje, oni će vam pokazati šta trebate napisati da biste dobili upravo ovaj rezultat. Uz detaljna uputstva i pomoć nastavnika, napisaćete neku vrstu aplikacije. Jedan, maksimalno dva. Evo portfolia. A pomoć u pronalaženju posla je slanje slobodnih radnih mjesta juniorima iz velikih kompanija gdje je malo vjerovatno da ćete dobiti intervju.

Zašto je to tako? Jednostavno je: za programera je veoma važno da razmišlja apstraktno. Programer rješava probleme koji se mogu riješiti na milijardu mogućih načina. A glavni zadatak je izabrati jedan, najispravniji, od milijardi i implementirati ga. Kreiranje jednog ili dva projekta prema uputstvima će vam dati određeno znanje o programskom jeziku, ali vas neće naučiti kako da rješavate apstraktne probleme. Da povučemo analogiju: zamislite da vam obećavaju da će vas naučiti orijentiringu, povesti vas nekoliko jednostavnih planinarskih ruta, a zatim reći da ste spremni osvojiti tajgu zimi sami. Pa šta, učili su te da koristiš kompas i pališ vatru bez šibica.

Da rezimiramo: ne vjerujte onima koji obećavaju da će vas „uvaljati“ za kratko vrijeme. Da je to moguće, svi bi odavno postali programeri.

Poruka budućem programeru

Lijevo: Ono što ćete naučiti. Desno: Šta će se od vas tražiti na poslu?

-

Treći način - put koji bira većina. Samoobrazovanje.

Najteži, ali možda i najplemenitiji način. Pogledajmo to detaljnije.

Pa ste odlučili da postanete programer. Gdje početi?

Prije svega, morate sebi odgovoriti na pitanje: zašto ovo želite? Ako je odgovor “Pa, naravno, nije posebno zanimljivo, ali puno plaćaju”, onda možete tu stati. Ovo nije mjesto za tebe. Čak i ako je vaša snaga volje dovoljna da procijedite gomilu informacija, napišete hiljade linija koda, pretrpite stotine neuspjeha i još uvijek dobijete posao, kao rezultat toga, bez ljubavi prema profesiji, to će dovesti samo do emocionalnog izgaranja. Programiranje zahtijeva ogroman intelektualni napor, a ako ti napori nisu podstaknuti emocionalnim povratkom u obliku zadovoljstva za riješen problem, tada će prije ili kasnije mozak poludjeti i lišiti vas mogućnosti da bilo šta riješite. . Nije baš najprijatniji scenario.

Ako ste sigurni da vas ovo zanima, onda možete odlučiti o specifičnostima - šta tačno želite da radite. Ako ne znate po čemu se programeri mogu razlikovati jedni od drugih, Google vam može pomoći.

Odmah ću napisati prvi savjet da ne zaboravite: naučite engleski. Engleski je potreban. Ne možete nikuda bez engleskog. Nema šanse. Bez engleskog ne možete postati normalan programer. To je to.

Zatim je preporučljivo sastaviti mapu puta: plan prema kojem ćete se razvijati. Proučite specifičnosti, pogledajte slobodna radna mjesta u vašoj specijalnosti, saznajte površno koje se tehnologije tamo koriste.

Primjer mape puta za backend programera (ne za svakoga, naravno, ovo je samo jedna od mogućih opcija):

  1. Osnove html/css-a.
  2. Python. Osnove.
  3. Mrežno programiranje. Interakcija između pythona i weba.
  4. Okviri za razvoj. Django, pljoska. (napomena: samo da biste shvatili kakav je to "django" i "flash", morate pogledati slobodna radna mjesta i pročitati šta se tamo traži)
  5. Detaljno proučavanje pitona.
  6. js osnove.

ovo vrlo, Ponavljam, vrlo grubi plan, čija je svaka točka sama po sebi ogromna, a mnoge teme nisu uključene (na primjer, testiranje koda). Ali ovo je barem neka vrsta sistematizacije znanja koja će vam omogućiti da se ne zbunite oko toga šta znate, a šta ne. Kako budemo proučavali, biće jasnije šta nedostaje, a ovaj putokaz će biti dopunjen.

Dalje: pronađite materijale koje ćete koristiti za učenje. Glavne moguće opcije:

  • Online kursevi. Ne oni kursevi koji su “juni za 3 dana”, već oni koji uče jednu konkretnu stvar. Često su ovi kursevi besplatni. Primjeri stranica sa normalnim kursevima: stepik, coursera.
  • Online udžbenici. Postoje besplatni, shareware, plaćeni. Sami ćete shvatiti gdje ćete platiti, a gdje ne. primjeri: htmlacademy, learn.javascript.ru, django book.
  • Knjige. Ima ih mnogo, mnogo. Ako ne možete da birate, tri saveta: pokušajte da uzmete nove knjige, jer... informacije vrlo brzo zastarevaju; Izdavačka kuća O'Reilly ima prilično visok nivo kvaliteta i normalne prezentacije; Ako je moguće, čitajte na engleskom.
  • Sastanci/konferencije/predavanja. Ne toliko korisno u smislu bogatstva informacija, ali izuzetno korisno u smislu mogućnosti komunikacije sa kolegama, postavljanja relevantnih pitanja i sklapanja novih poznanstava. Možda čak i naći slobodno mjesto.
  • Google. Mnogi ljudi potcjenjuju, ali sposobnost jednostavnog pronalaženja odgovora na neka pitanja je vrlo važna. Slobodno guglajte stvari koje ne razumijete. Čak i iskusni seniori to rade. Sposobnost brzog pronalaženja informacija o nečemu je u suštini isto što i poznavanje.

U redu, odlučili smo se za izvore informacija. Kako raditi s njima?

  1. Pažljivo čitajte/slušajte. Ne čitajte kada ste umorni. Udubite se u značenje, ne preskačite tačke koje se čine očiglednim. Često se prijelaz iz očiglednog u neshvatljivo događa prilično brzo. Slobodno se vratite i ponovo pročitajte.
  2. Vodite beleške. Prvo, lakše ćete razumjeti svoje bilješke kada bude puno informacija. Drugo, na ovaj način se informacije bolje apsorbuju.
  3. Uradite sve zadatke koje vam izvor predloži. Iako ne, ne tako. Uradi ALL zadatke koje vam izvor nudi. Čak i one koje izgledaju jednostavno. Posebno one koje izgledaju previše komplikovano. Ako zapnete, tražite pomoć stackoverflow, barem preko Google prevodioca. Zadaci su napisani s razlogom, potrebni su za pravilnu asimilaciju gradiva.
  4. Sami smislite zadatke i uradite ih. U idealnom slučaju, trebalo bi da ima više prakse nego teorije. Što čvršće pričvrstite materijal, veća je vjerovatnoća da ga za mjesec dana nećete zaboraviti.
  5. Opciono: izmišljajte za sebe kvizove dok čitate. Zapišite škakljiva pitanja u poseban izvor, a nakon sedmice ili mjeseca pročitajte i pokušajte odgovoriti. Ako ne uspije, pokušajte ponovo.

I ponavljamo ovih 5 tačaka za svaku tehnologiju koja se proučava. Samo na taj način (uz temeljno proučavanje teorije i gustu pokrivenost prakse) ćete razviti kvalitetnu bazu znanja s kojom možete postati profesionalac.

I čini se da je sve jednostavno: učimo tehnologije jednu po jednu, razumijemo zen i idemo na posao. Tako je, ali nije.

Većina ljudi koji uče programiranje ide ovako:

Poruka budućem programeru

slika je iskreno ukradena odavde

I ovdje morate detaljnije pogledati svaki od koraka:

Počni: Nemate znanja. Polazna tačka. Još ništa nije jasno, ali je vjerovatno izuzetno zanimljivo. Staza počinje uzbrdo, ali lagano. Vrlo brzo ćete se popeti

Peak of Folly: “Ura, završili ste prvih nekoliko kurseva! Sve radi!” U ovoj fazi, euforija od prvih uspjeha zasljepljuje oči. Čini se da je uspjeh već blizu, uprkos činjenici da ste još uvijek na početku svog puta. I dok težite ovom uspjehu, možda nećete primijetiti kako će početi vaš brzi pad u jamu. I naziv ove jame:

Dolina očaja: Dakle, završili ste osnovne kurseve, pročitali neke knjige i odlučili da počnete da pišete nešto svoje. I odjednom ne radi. Čini se da je sve poznato, ali kako to kombinirati da funkcionira nije jasno. "Ne znam ništa", “Neću uspjeti”. U ovoj fazi mnogi ljudi odustaju. U stvari, znanje zaista postoji i nigdje nije isparilo. Jasni zahtjevi i podrška jednostavno su nestali. Počelo je pravo programiranje. Kada morate da manevrišete u prostoru gde postoji cilj, ali nema međufaza, mnogi ljudi padaju u stupor. Ali u stvarnosti, ovo je samo još jedna faza učenja - čak i ako prvih deset puta sve ispadne nekako, uz ogroman trud, ružno. Glavna stvar je da se stvar iznova i iznova dovodi do kraja, barem nekako. Jedanaesti put stvari će biti lakše. Pedesete će se pojaviti rješenje koje će vam izgledati lijepo. Na stotom više neće biti strašno. A onda će doći

Nagib prosvjetljenja: U ovoj fazi jasno se pojavljuju granice vašeg znanja i vašeg neznanja. Neznanje više nije zastrašujuće, postoji razumijevanje kako ga prevladati. Postat će lakše manevrirati u svemiru bez odluka. Ovo je već cilj. Već shvativši šta vam nedostaje kao specijalistu, upotpunićete i konsolidovati ono što je potrebno i ući u teren mirne duše.

Plato stabilnosti: Čestitam. Ovo je ciljna linija. Vi ste stručnjak. Možete raditi, nećete se izgubiti kada se suočite s nepoznatom tehnologijom. Gotovo svaki problem se može prevazići ako uložite dovoljno truda. I uprkos činjenici da je ovo cilj, to je samo početak još većeg putovanja.

Put programera.

Sretno s tim!

Literatura za fakultativno čitanje:
O tome kako postati programer i Dunning-Krugerovom efektu: bundeva.
Hardcore način da postanete programer za 9 mjeseci (nije pogodan za svakoga): bundeva.
Spisak projekata koje možete samostalno realizovati tokom studija: bundeva.
Samo malo dodatne motivacije: bundeva.

izvor: www.habr.com

Dodajte komentar