Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Programi
  • Programiranje učimo sami. Gdje se uči programiranje

Programiranje učimo sami. Gdje se uči programiranje

Da biste započeli svoj put do karijere programera, odgovor je na pitanje trebate li programiranje uopće? Ovo pitanje se ne odnosi na one koji studiraju ili studiraju u specijalnosti bliskoj programiranju. Ako ste u školi bili bolji u matematici nego u humanističkim znanostima, ako volite provoditi puno vremena za računalom, ako želite naučiti nešto novo, onda je programiranje za vas.

Gdje početi

Postoji nekoliko opcija za razvoj događaja, zbog čega osoba postaje programer. Prvi su roditelji-programeri koji su svoju djecu svemu naučili. Ova djeca čak ne moraju ići na sveučilište. Druga opcija je modna profesija programera. Nakon škole, trebalo je odabrati gdje ići studirati, i izabrao moderan smjer IT, činilo se da mi se sviđa. I posljednja opcija je hobi koji je prerastao u posao.

Ako vam se ništa od navedenog nije dogodilo, onda imate izbor između četiri opcije:

  • Samoobrazovanje... Ova se opcija može koristiti samostalno iu kombinaciji s drugim metodama. Internet je pun, a aplikacije koje vam pomažu da naučite razne programske jezike i tehnologije. Ali ovo je najteži put za početnike.
  • Sveučilište... Ako završavate srednju školu i želite biti programer, onda idite na sveučilište. Ako ne zbog znanja, onda iza kore. Može poslužiti kao bonus prilikom prijave za posao. Iako ćete i vi dobiti nešto znanja. Ali nemojte zaboraviti i samostalno učiti. Izboru sveučilišta treba pristupiti vrlo odgovorno. Pažljivo proučavajte studijske programe i birajte najbolja tehnička sveučilišta.
  • Mentor... Bit će jako lijepo ako nađete nekoga tko će vam pristati pomoći i uputiti vas u pravom smjeru. On će predložiti prikladne knjige i resurse, pregledati vaš kod i dati korisne savjete. Usput, već smo pisali o tome gdje možete pronaći mentora. Mentora možete tražiti među poznatim programerima, na IT druženjima i konferencijama, na internetskim forumima itd.
  • Specijalizirani praktični tečajevi... Pokušajte u svom gradu potražiti tečajeve koji vas uče programskom jeziku ili tehnologiji. Bio sam ugodno iznenađen brojem takvih tečajeva u Kijevu, uključujući besplatne i s naknadnim zapošljavanjem.

Koji jezik, tehnologiju i smjer odabrati

Kada postanete programer, nakon godinu-dvije moći ćete birati jezik koji vam se sviđa. Ali pri odabiru prvog programskog jezika, početnik bi trebao uzeti u obzir sljedeće kriterije:

  • Dostupnost slobodnih radnih mjesta na tržištu... Konačni cilj ovog puta je pronaći posao programera. A to će biti teško ako nitko ne traži programere u vašem programskom jeziku na tržištu rada. Provjerite web stranice za posao, pogledajte tko traži više, navedite desetak jezika. I prijeđite na sljedeći kriterij.
  • Niska ulazna razina... Ako morate provesti dugo vremena učeći jezik, to vas može obeshrabriti od programiranja općenito. Pročitajte o jezicima koje ste odabrali iznad. Pregledajte literaturu koju trebate pročitati da biste naučili ove jezike. I odaberite one o kojima piše da su lake, ili koje su vam se činile lake. Takvi jezici mogu biti PHP, Ruby, Python.
  • Uzbuđenje procesa... Ako ne volite pisati kod na odabranom jeziku, nećete uživati ​​u procesu, poslu i životu. Trebaš li to? Napravite pravi izbor.

Također, morat ćete odlučiti o smjeru programiranja. Mobilni, desktop, igre, web, programiranje niske razine i tako dalje. Najpopularnije i relativno lake industrije su razvoj za web, mobilne i desktop klijente. Za svaki smjer, jedan jezik može odgovarati, a uopće ne odgovara drugom. Odnosno, pri odabiru programskog jezika također vrijedi poći od ovog čimbenika.

U svakom slučaju naučite web tehnologije. To je označni jezik, stilovi i to će vašu stranicu učiniti dinamičnom. U sljedećem koraku naučite jezik na strani poslužitelja (Python, PHP, Ruby i drugi) i prikladne web okvire za njega. Pregledajte baze podataka: to spominje gotovo svako radno mjesto programera.

Kako steći početno iskustvo

Bez iskustva nećete dobiti posao. Bez posla nećete steći iskustvo. Začarani krug stvarnog života. Ali u redu je, izvući ćemo se iz toga.

Prvo, nemojte čekati da pročitate sve knjige na odabranom programskom jeziku. Počnite pisati svoje prve retke koda nakon drugog poglavlja knjige. Ispunite sve zadatke iz knjiga, pretipkajte primjere, razumite ih. Svojim idejama zakomplicirajte primjere i zadatke iz knjiga. Izradite svoje zadatke za obrađeni materijal. Riješite ove zadatke.

Drugo, morate pronaći svoje prve projekte. Ovo je vjerojatno najteža opcija, ali radna. Morat ćete sami tražiti narudžbe, ispunjavati ih, mučiti se s plaćanjem. Za početnika je ovo zastrašujuće, ali tada će se sve druge opcije činiti kao cinch. Dovršeni projekti mogu se zapisati u iskustvo i pokazati budućem poslodavcu. Pravi projekti su veliki plus u vašem životopisu.

Ako znate engleski, bolje je registrirati se na burzama koje govore engleski. Tržište je tamo veće. Ako ne znaš engleski, nauči ga. U međuvremenu su vam dostupne slobodne burze na ruskom jeziku. Potražite male projekte koji odgovaraju ili malo iznad vaše razine stručnosti. Prijavite se za nekoliko desetaka ovih zadataka. I pripremite se da dobijete more odbijenica. Ali ako se aktivira jedna ili dvije aplikacije, imate priliku steći pravo iskustvo.

Još jedna dobra opcija za stjecanje stvarnog iskustva je open source. Takvi projekti uvijek trebaju nove ljude, čak i početnike. Možete tražiti bugove u projektu ili pogledati u alatu za praćenje bugova i predložiti metode za njihovo rješavanje. Pronalaženje takvih projekata je jednostavno na GitHubu ili. Slobodno tamo postavljajte pitanja.

Četvrti način stjecanja iskustva je pomoć poznatim programerima. Zamolite ih da vam daju male i jednostavne zadatke. Ako nešto ne uspije, uvijek ćete se imati kome obratiti. A istovremeno ćete sudjelovati u pravom projektu.

Posljednji način su vlastiti projekti, razni hackathoni ili rad u coworking prostoru. Teško je pokrenuti vlastite projekte, bolje je tražiti poznanike ili prijatelje.

Zašto odabrati Python

Razgovarajmo još malo o odabiru vašeg prvog programskog jezika. Prvi jezik bi trebao biti jednostavan i popularan na tržištu. Ovaj jezik je Piton... Toplo preporučam da ga odaberete kao svoj prvi programski jezik.

Python programski kod je čitljiv. Ne morate čak ni biti programer da biste općenito razumjeli što se događa u programu. Zbog jednostavne sintakse Pythona, trebat će vam manje vremena za pisanje programa nego, na primjer, u Javi. Ogromna baza knjižnica koja će vam uštedjeti mnogo truda, živaca i vremena. Python je jezik visoke razine. To znači da ne morate previše razmišljati o memorijskim stanicama i što tamo staviti. Python je jezik opće namjene. A toliko je jednostavno da ga čak i djeca mogu naučiti.

Iskrenosti radi, vrijedi spomenuti i druge programske jezike. Java može biti dobar izbor za početnika. Ovaj jezik je popularniji od Pythona, ali i malo složeniji. Ali razvojni alati su puno bolje razvijeni. Treba samo usporediti Eclipse i IDLE. Nakon Jave bit će vam lakše prijeći na rad s programskim jezicima niske razine.

PHP je još jedan vrlo popularan jezik. I mislim da je čak jednostavniji od Pythona. Na forumu je vrlo lako pronaći sebi mentora ili rješenje problema. To je zato što u svijetu postoji ogroman broj PHP-programera različitih razina. PHP nema normalan uvoz, postoji mnogo opcija za rješavanje istog problema. To otežava učenje. A PHP je skrojen isključivo za web.

Jezici C i C # vrlo teško za početnika. Rubin- dobar izbor kao drugi jezik, ali ne i prvi. JavaScript- vrlo jednostavan jezik, ali vas neće naučiti ničemu dobrom. A zadatak prvog programskog jezika je još uvijek naučiti nešto ispravno, postaviti nekakvu logiku.

Je li engleski važan

Važno! Ne znam? Učite. Znaš li? Poboljšati. Naučite čitati, pisati, slušati i govoriti engleski. Usredotočite se na tehničku literaturu. Slušajte podcaste na engleskom jeziku. Pročitajte vodiče za programiranje na engleskom.

Što trebate znati osim programskog jezika

Naravno, osim programskog jezika i engleskog, potrebno je još nešto znati. Ali što ovisi o smjeru koji odaberete. Web programer mora poznavati HTML, CSS, JavaScript. Stolni programer podučava API operativnog sustava i razne okvire. Programer mobilnih aplikacija podučava Android, iOS ili Windows Phone okvire.

Svatko treba naučiti algoritme. Pokušajte pohađati tečaj na Courseri ili pronaći knjigu o algoritmima koja vam odgovara. Osim toga, trebate poznavati jednu od baza podataka, obrazaca programiranja, strukture podataka. Također je vrijedno upoznati repozitorije koda. S barem jednim. Poznavanje sustava kontrole verzija je obavezno. Odaberite Git, on je najpopularniji. Morate poznavati alate s kojima radite, operativni sustav i razvojno okruženje. A glavna vještina programera je znati Google. Ne možete živjeti bez toga.

Posljednji koraci

Morate pripremiti životopis. Ne samo životopis, nego. Ne treba tu pisati, ali ne treba ni šutjeti o svojim vještinama. Nakon što ste pozvani na razgovor, morate se pripremiti za njega. Prođite kroz materijal u svom životopisu. Morate biti sigurni u svoje znanje. Pregledajte projekte na kojima ste radili, zapamtite tehnologije koje ste koristili. I naprijed - u svijetlu budućnost s novom profesijom programera.

Rekao mi je da će na tečaju svakoga naučiti programirati, čak i od nule. Pitao sam ga: "Možeš li se nositi s humanističkim znanostima?" A mi smo se pitali ima li slučajeva da je “humanist” naučio programski jezik?

Prvo, tu je živi učitelj s dobrom pozadinom u razvoju. Vitaly Kurennov, piše Ruby već 6 godina i podučava sve ove vještine više od godinu dana, radio je na Ruby projektima za Nokiju i Avayu.
Drugo, postoji grupa istomišljenika, radeći rame uz rame s kojima ćete uvelike povećati šanse da dođete do gorkog kraja i svladate programiranje do točke u kojoj počinje zarađivati.

- Nikita, zašto baš Ruby?
- Jednostavno, našli smo jako dobrog učitelja.

O Rubyju
Prve korake možete pokušati napraviti već sada, to će trajati samo 5-10 minuta.


Pronašao sam prekrasan resurs s gamifikacijom i to odmah iz preglednika tryruby.org
U 5 minuta izvršavamo nekoliko zadataka, dobivamo postignuće i prelazimo na sljedeću razinu.


Želite li zombija? railsforZOMBIES.org

O Lispu

"Međutim, mislim da ne mogu uvjeriti nikoga (iznad 25 godina) da nauči Lisp." Paul Graham, Pobjeda prosječnosti

učenje Lisp.

;; Dobrodošli u L (λ) THW! (neka ((llthw "(učite šugav na teži način))) (format t" ~ ( [e-mail zaštićen](~ A ~) ~ ^ ~), jer ~ (~ A ~ ^ ~) je lakše! "Llthw (cddr llthw))) ;; Common Lisp: Snažan, izražajan, programibilan, opće namjene, višeparadigma.


Pronašao sam za sebe zgodan vodič za preglednik Learn Lisp The Hard Way

“Tijekom mojih godina u Viawebu, pročitao sam mnogo oglasa za posao. Otprilike svaki mjesec pojavio se novi konkurent. Prvo što sam učinio nakon što sam provjerio je li dostupan demo njihovog programa na internetu bilo je pregledavanje njihovih oglasa za posao. Nakon par godina naučio sam razlikovati opasne natjecatelje od neopasnih. Što je IT mainstream više odustajao od opisivanja traženih kandidata, to je tvrtka bila manje opasna. Najsigurniji su bili oni kojima su trebali Oracle stručnjaci. Nisu bili vrijedni brige. Također, bili smo mirni ako su potrebni programeri u C++ ili Javi.

Ako su bili potrebni Perl ili Python programeri, to je već bilo pomalo zastrašujuće - značilo je da su tvrtku, ili barem njezin tehnički dio, vodili pravi hakeri. Da sam ikada vidio oglas za novačenje Lisp hakera, ozbiljno bih se zabrinuo." Paul Graham, Pobjeda prosječnosti

  • Pročitaj Habr... Na primjer, ovaj članak može biti od velike pomoći onima koji su već započeli svoje putovanje - ili priča o uspjehu -
  • ... On će inspirirati svakoga da počne programirati. Čak ja. Čak i Lisp.
  • Pronađite istomišljenike
  • Pronađite inspirativan izazov

    Na primjer

    Opće vježbe:
    Projekt Euler sadrži preko 500 matematičkih problema (teorija brojeva, brojevni sustavi itd.) koje je potrebno riješiti programiranjem na bilo kojem jeziku.
    Code Abbey pohranjuje preko 200 programskih problema. Njih 125 izdaje potvrdu za svoje odluke, što motivira mnoge studente.
    Rosalind je još jedna stranica kao što je Project Euler koja nudi preko 200 bioinformatičkih problema koje možete izabrati.
    Codingbat.com nudi Java i Python vježbe za početnike i napredne programere.
    codegolf.stackexchange.com je stranica na kojoj se objavljuju programske zagonetke i raspravljaju o njima.
    Ruby Quiz je niz zagonetki u kojima se od vas traži da napišete kratke programe različite težine. Izvorna rješenja su napisana u Rubyju, ali se mogu implementirati na bilo kojem jeziku.

Želim vam ponovno dobrodošlicu na moj blog i danas ću pokušati odgovoriti na pitanje kako postati web programer od nule što je brže moguće? Moram odmah reći da je to u načelu moguće za bilo koju osobu, ne vidim nikakva ograničenja u tom pogledu. Najvažnija je vaša želja i upornost.

Prvi korak

Prvo morate odlučiti koja je svrha vašeg treninga? Za sebe ili za rad u prestižnoj tvrtki s velikom plaćom i rastom u karijeri? Bez obzira na odgovor, sigurno ćete htjeti početi s besplatnim podukama. A onda ću navesti nekoliko stranica na kojima se možete školovati gotovo besplatno, ali do određene razine.

Naravno, stvar neće završiti u teoriji, sva stečena znanja treba primijeniti u praksi nekoliko desetaka puta - tada će vam se puno bolje zabiti u glavu, pa vas i nakon toga budite noću i pitajte : "Kako @keyframes funkcionira u css-u?"- sve ćete potanko ispričati.

Stoga je ovaj prvi korak saznati što vam je potrebno. Da biste to učinili, preporučujem odlazak na vrlo popularni IT portal - Geekbrains. Tamo, skrolujući malo po stranici, možete vidjeti u kojem smjeru predaju na portalu. Zanima nas struka web programer- ovo je zapravo web programer.

Ovdje na samom dnu možete vidjeti što ćete naučiti ako platite školarinu.

Namjerno sam malo izrezao ovu snimku zaslona kako bih vam pokazao koje tehnologije su vam prve potrebne.

Što web programer treba znati?

Dakle, kao što vidite, ovo:

  1. HTML/CSS su osnovni jezici označavanja i dizajna web stranica bez kojih je nemoguće zamisliti izradu web stranica. Ovo su osnove, najjednostavnije tehnologije koje biste prvo trebali naučiti.
  2. PHP je glavno oružje web programera. Uz pomoć ovog jezika stvaraju se društvene mreže, internetske trgovine, okviri, motori i još mnogo toga. Zahvaljujući njemu radi većina internetskih usluga, obrazaca za komentare, registracija na stranicama itd.
  3. JavaScript je programski jezik posebno za web, uz njegovu pomoć se stranica može programirati tako da se njezin dizajn mijenja pod raznim događajima. Na primjer, kada kliknete na prozor, on se širi itd. Postoji mnogo primjera.

Ali ovo je samo najosnovnija razina, zapravo, ako želite postati profesionalac, morat ćete na ovaj ili onaj način proučiti desetke tehnologija. Ovdje je djelomični popis:

Gdje sve to mogu naučiti?

Koliko ja razumijem, postoje 3 glavna načina za obuku za web programera:

  1. Čitajte besplatne članke i materijale na internetu, gledajte besplatne video tutorijale i tečajeve. Na ovaj način možete dobiti bazu, ali nećete prijeći početnu razinu!
  2. Kupite plaćene tečajeve. Odabrao sam ovu opciju, budući da studiram site building ne da bih radio za tvrtku, već za sebe, tako da sam zadovoljan tečajevima. 1 razuman tečaj u Runetu košta od 3 do 7 tisuća rubalja. Osobno sam potrošio samo oko 40-50 tisuća rubalja na tečaj i ne žalim, jer Već sam dobio puno znanja koje bih mogao primijeniti u praksi i početi zarađivati.
  3. Kupite cjeloviti daljinski trening s mentorom. Ovo je najskuplja opcija, koja će koštati 40-150 tisuća rubalja. Naravno, što se tiče učinkovitosti, to je najbolje. Takav se trening, na primjer, može kupiti na internetskom sveučilištu Geekbrains.

Magisters.org, HtmlAcademy.ru i premium odjeljak Web4myself.com(iako se plaća, ali pristup mu je samo 500+ rubalja mjesečno, a ima i puno lekcija).

Pa, najbolja opcija koju vidim je ista Geekbrains- jer se ovdje sve plaća i na ozbiljnoj osnovi, dovedeni ste do stvarnih rezultata u obliku web stranica koje ste izradili vlastitim rukama, a ne samo zastarjele teorije. Osim toga, tamo možete dobiti savjet od pravog mentora.


Kao što vidite, obuka za web programera košta 6-8 tisuća rubalja mjesečno i traje čak 11 mjeseci, nakon čega, ako niste varali, postajete stvarno traženi stručnjak. Razumijem da to može biti skupo za većinu vas, ali ovo je najkraći put da postanete profesionalac u ovoj profesiji.

Kao rezultat toga, možete dobiti tako pristojan životopis:


I ove vještine:

Ako se odlučite za samostalno učenje, možete puno uštedjeti, a rezultat se može postići i relativno dobar. Jedina negativna je ta što znanje i tečajeve o različitim tehnologijama morate skupljati doslovno dio po dio.

Na primjer, za jedanaest mjeseci Geekbrains obećava da će vas naučiti takvim tehnologijama: HTML / CSS, PHP, JS, NodeJS, AngularJS, Yii. S druge strane, da biste pronašli jednostavan posao ili počeli sami izrađivati ​​web stranice, ne morate sve to znati. Već sam rekao što je baza. Ovo je html, css, php, javascript. No činjenica je da svake godine zahtjevi za web developerima rastu i ako želite ozbiljne rezultate, na ovaj ili onaj način morat ćete proučavati moderne tehnologije i trendove.

PHP i framework tečajevi


Trenutno postoji prekrasan tečaj PHP7 i MySQL od nule do gurua koju sam osobno prošao i čak napisao zasebnu recenziju o tome. Mislim da je ovaj tečaj odličan, pruža veliku bazu modernog php-a.

Knjige također imaju pravo na život. Da biste proširili svoje znanje u bilo kojem području, korisno ih je pročitati. I možete puno pročitati o php-u. Na primjer, ovo.

Ne morate znati sve

Ako ste naučili samo javascript (ali ne i php), onda možete raditi kao front-end programer, a ako je naprotiv, okušat ćete se u back-endu. Općenito, čak i s malo znanja, već možete napraviti nešto na gradilištu, ali što više znate, veći je vaš potencijal.

Kako početi učiti programiranje od nule za čajnik?
U ovom članku pokušao sam detaljno analizirati je li moguće samostalno postati programer od nule i koje mogućnosti postoje kako biste sami savladali programiranje i počeli zarađivati ​​na tome.
UPD: Oni koji traže gdje početi učiti programiranje od nule 2018. (ili tek planiraju započeti 2019. :)) imaju veliku sreću zahvaljujući knjizi Yakova Kramarenka "Uvod u razvoj softvera". Iskreno preporučujem da ga provjerite - vrijedi ažurirati članak broj 1 na Googleu i recenzije čitatelja za one koji sami uče programiranje.

Pokušao sam dati najbolji - po mom mišljenju - način. Upozoravam vas – nije lako! Daljnje čitanje može vas koštati sate zanimljivog učenja :)

Odmah ću reći – ako odlučite učiti programiranje samo sami, bez ulaganja novca, morat ćete potrošiti više vremena. Očekujte svladavanje nove specijalnosti za barem godinu dana ako studirate paralelno s drugim poslom.

Ako nađete kako nadopuniti ovaj članak kako bi bio korisniji za ljude - napišite u komentarima.

Ovaj članak sadrži najbolje prakse iz mog iskustva ako želite sami svladati programiranje. Sve je to i dalje aktualno uz par dodataka.

Knjiga o web programiranju za početnike

Verzija iz 2016. je u prijevodu: https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about.

Bolje je pohađati tečaj na engleskom jeziku. I pumpat ćeš svoj jezik, a informacije su svježije. Iako se tečaj nije puno promijenio – tek se 2017. umjesto PHP-a počeo koristiti Python.

Završetak tečaja će potrajati, ali će vam dati prilično potpuno razumijevanje, koje je teško postići sami.

U početku morate odlučiti koji smjer programiranja vas zanima. Ako govorimo o učenju razvoja od nule i želite uskoro početi zarađivati ​​na tome, onda po mom mišljenju postoje dvije opcije: razvoj za mobilne uređaje ili web razvoj.

Najbolji izbor u takvoj situaciji je, po meni, početi učiti web razvoj. Ovdje je ulazni prag za početnike niži i postoji mogućnost da se jednostavne narudžbe počnu prije ispunjavati.

Kako samostalno postati programer od nule

Kad bih sam krenuo ispočetka proučavati web razvoj (shvativši da je to duži put bez ulaganja novca), onda bih sebi preporučio ovaj način:

1. Razumjeti HTML i CSS

Dobar tečaj za osnovno razumijevanje HTML-a i CSS-a: https://learn.shayhowe.com/html-css/ (engleski) ili https://webref.ru/layout/ learn-html-css (prijevod).

Nakon toga, vrijedi pogledati mogućnosti Bootstrapa, koji je postao de facto standard za ubrzani web razvoj: http://getbootstrap.com/

Ovo će biti dovoljno za sljedeće korake.
Možda biste trebali stati na ovom mjestu i detaljnije istražiti CSS. To će vam dati priliku da radite kao layout dizajner – osoba koja od dizajna napravi statičnu HTML stranicu, nakon čega je programer oživi, ​​implementirajući logiku projekta.

Na tome možete i zaraditi – i slobodnim radom i radom u IT tvrtki specijaliziranoj za web razvoj.

Ali pošto smo odlučili postati programer – idemo dalje!

2. Upoznajte se s jQueryjem

Ako vam se svidjelo, možete se nastaviti baviti frontendom i početi učiti Javascript.

Ako slijedi https://angularjs.org/ ili http://backbonejs.org/, onda je ovo put do front-end razvoja. Dobra specijalnost, pogotovo jer će takvo znanje biti korisno svakom programeru koji je odabrao web razvoj.

Moj savjet je da se za sada držite jQueryja i krenete dalje.

3. Savladajte programski jezik poslužitelja

Postoji veliki izbor. Programski jezici koji najviše obećavaju su Ruby, Java, Python, Node.JS (Javascript za poslužitelj).

Najjednostavniji programski jezik za početnike je Python. Ako naučite Python, a zatim i Django framework za web razvoj, imat ćete sve što vam je potrebno da sami implementirate prilično složene projekte.

Dobra opcija je programski jezik Python i Django

Plus - Python i Django vas uče "ispravnom" programiranju. Python je stalno među TOP 5-10 najtraženijih jezika, a dobri stručnjaci za Python među najplaćenijim su programerima. Python je istovremeno jednostavan i razumljiv programski jezik za programere početnike, a istovremeno se koristi u mnogim velikim tvrtkama i na velikim projektima.

Za samostalno učenje pročitajte Python za djecu Jasona Briggsa ili pogledajte:

Među ostalim materijalima, preporučujem Learn Python The Hard Way. knjiga “Jednostavan Python. Moderan stil programiranja". I naravno Vodič za Python 2 i Vodič za Python 3.

Django je vjerojatno najbolji okvir za web razvoj

Najbolji alat za sve prilike vrlo je teško pronaći. Django ima potencijal postati takav alat za razvoj weba.

Odakle početi učiti Django:

Počnite sa službenom dokumentacijom, tu je vrlo dobar vodič: https://docs.djangoproject.com/en/2.1/intro/

Tango s Djangom dobra je prilika da poboljšate svoj engleski i u isto vrijeme steknete razumijevanje o tome kako web projekti rade i kako sve funkcionira.

Opcija # 2 - PHP i WordPress

Drugi način je započeti s PHP-om i raditi s popularnim CMS-om. Ako sami učite programiranje i želite brzo započeti, počnite s PHP-om.

PHP mnogi smatraju "ne baš" programskim jezikom, a za to postoji dobar razlog. PHP se rijetko koristi u velikim web aplikacijama i usmjeren je samo na web - neće raditi u drugim područjima.

S druge strane, PHP je vodeći po broju pokrenutih web stranica u svijetu. Na njemu se temelje najpopularniji CMS (sustavi za upravljanje stranicama).

Nakon toga, shvatite kako stvoriti teme za WordPress - ovo je vjerojatno najpopularniji CMS na svijetu kada se mjeri brojem pokrenutih web stranica.

Uz dobro razumijevanje ovoga, već možete pronaći posao. Mnogo je stranica za PHP i WordPress, tako da će posla biti dovoljno za sve.

Kako početi zarađivati ​​novac kao programer

Mnogi ljudi razmišljaju o radu slobodnog programera ovako:

Zapravo izgleda otprilike ovako:

Ako ste spremni raditi kao programer i tražite način da zaradite novac - dobrodošli u freelance! Freelance burze omogućuju vam pronalaženje jednostavnih narudžbi (možda isprva gotovo besplatno) - za pripravništvo. Općenito, rad za IT tvrtku može biti isplativiji ako samo tražite posao programera.

Nakon 2. koraka – svladavanja HTML-a, CSS-a i jQueryja – možete otići na burzu slobodnjaka i primati jednostavne narudžbe, stvarajući profil.

Znaš li engleski? https://www.upwork.com/

Nikako, čak ni s rječnikom? http://freelance.ru/

Dok budete mogli sami izraditi web stranice, bit će vam lakše pronaći klijente - bit će recenzija i iskustava.

Brzi put do web programera

Na temelju mog iskustva, učenje programiranja od nule trajat će u najboljem slučaju od 6 do 12 mjeseci, dok je 6 mjeseci ako vam netko pomogne.

Kako biste ubrzali proces ulaska u IT – potražite priliku za odlazak na obuku (možda će vam trebati više od jednog) ili pronađite osobu koja će raditi s vama. U stvarnosti, bez osobe koja će vam prenijeti svoje znanje, jako je teško, možete sjediti godinu dana čitajući knjige i nikako ne početi. A s obrazovanom osobom koja može samo pričati o teškim stvarima, puno je lakše.

Svojedobno sam odabrao put ulaska kroz trening. Unatoč činjenici da sam znao puno o razvoju, omogućio mi je da za 2 mjeseca savladam nešto što bi moglo potrajati šest mjeseci. Pronađite svoj put.

Imam ljude koji su ozbiljno odlučili započeti karijeru programera i žele ubrzati taj proces. Postoje mnogi drugi tečajevi. Naći sebi mentora – nekoga tko će vas voditi za ruku – osjetno će vam skratiti put do razvoja.

Čim budete sigurni da možete nešto stvoriti, potražite tvrtku u kojoj se možete dalje razvijati ili klijente.

HTML, CSS, Python i Javascript su samo osnovno znanje, prvi korak. Nadalje, vrlo je važna praksa, proučavanje algoritama i razvojnih alata.

Ako imate pitanja - pitajte u komentarima! Nadamo se da će vam ovaj članak pomoći da napravite prvi korak. Sretno!

Irina Davidova


Vrijeme čitanja: 13 minuta

A A

Svatko bira zanimanje "programer" iz svog specifičnog razloga. Jedan je odlučio jednostavno promijeniti svoju specijalnost, drugi je prisiljen svladati drugu profesiju, treći se ne razumije bez šifri, a netko ide u struku jednostavno iz znatiželje.

Ovako ili onako – svi kreću od nule. I prije nego što krenete od samog početka - postavite pitanje, treba li vam ovo zanimanje doista?

Bit rada programera su glavne specijalizacije, prednosti i nedostaci rada

Bit rada programera ovisi o specijalizaciji i tvrtki.

Međutim, ponekad je programer "Švicarac, žetelac i igrač". Ali to je u pravilu u malim tvrtkama, čiji šefovi štede na stručnjacima.

Glavne kategorije u koje možete uvjetno podijeliti sve programere u skladu s njihovim aktivnostima:

  • Primijenjeni stručnjaci. Zadaci: razvoj softvera za igre, urednike, bukh / programe, glasnike itd .; razvoj softvera za audio/video nadzorne sustave, alarme, itd.; prilagođavanje programa nečijim specifičnim potrebama.
  • Stručnjaci za sustav. Zadaci: razvoj operativnih sustava, izrada sučelja za baze podataka, upravljanje računalnim sustavom, rad s mrežama, kontrola rada stvorenih sustava itd. Ovi stručnjaci zarađuju više od bilo koga drugog u svom području, zbog rijetkosti i specifičnost profesije.
  • Web stručnjaci. Zadaci: rad s internetom, izrada web stranica i web stranica, izrada web sučelja.

Prednosti profesije uključuju sljedeće prednosti:

  1. Vrlo pristojna plaća.
  2. Velika potražnja za dobrim stručnjacima.
  3. Mogućnost dobivanja prestižnog posla bez obrazovanja.
  4. Mogućnost zarađivanja novca na daljinu dok sjedite na kauču kod kuće.
  5. Mogućnost rada na daljinu za strane tvrtke.
  6. Kreativna profesija (međutim, kreativnost često ovisi o željama kupca).
  7. Udobni uvjeti koje velike tvrtke pružaju svojim stručnjacima (besplatna pića / lepinje, posebna mjesta za rekreaciju i sport, itd.).
  8. Mogućnost dobivanja "opcije". Odnosno, paket dionica u društvu. Istina, tek nakon rada određenog razdoblja u tvrtki.
  9. Proširite svoje horizonte. Kako se razvijate u struci, morate se upoznati s raznim životnim područjima i udubljivati ​​se u razne sustave – od uredskog rada i računovodstva do drugih.

minusi:

  • U ovoj profesiji uobičajeno je raditi dan i noć.
  • Ovaj će posao za mnoge ljude biti dosadan i monoton.
  • Interesi stručnjaka i kupca ne poklapaju se uvijek, a ono što je programeru očito, u pravilu se uopće ne može objasniti klijentu. To dovodi do sukoba i stresa.
  • Načini rada u nuždi nisu neuobičajeni.
  • Potreba za stalnim razvojem, učenjem novih stvari, ići ukorak s razvojem u svjetlu IT sfere. U samo nekoliko godina programi postaju zastarjeli, a moraju se pisati novi.

Video: Kako postati programer?

Potrebne osobne i poslovne kvalitete, profesionalne vještine i sposobnosti za rad kao programer – što trebate znati i moći?

Glavne osobine dobrog programera

Dobar programer bi trebao...

  1. Volite svoj posao. I ne samo ljubav – biti bolestan od toga.
  2. Volite učiti i podučavati od nule.
  3. Budite vrlo vrijedni, marljivi i strpljivi.
  4. Budite spremni na stalni rutinski rad.
  5. Biti sposoban raditi u timu.

Koja su znanja potrebna budućem programeru?

Treba početi od učenja...

  • Na engleskom.
  • Računalni uređaji i fizika svih procesa.
  • Programski jezici.
  • Tehnike razvoja softvera.
  • Tehnike testiranja softvera.
  • Sustavi kontrole verzija.

Programski jezik - odakle početi?

Također ćete morati proučiti...

  • Java. Popularniji od Pythona i nije loš izbor za početnika. Ali složeniji od Pythona.
  • PHP. Izoštreno za "web", ali će biti korisno svakom početniku.
  • C i C #. Vrlo složeni jezici, možete ih ostaviti za kasnije.
  • Rubin. Dobra opcija za drugi jezik.
  • Django. On će vas naučiti kako pravilno programirati. Po složenosti je sličan Pythonu.

Mnogo ovisi o odabranom smjeru.

Na primjer…

  1. Web programer će imati koristi od znanja HTML-a, CSS-a i JavaScripta.
  2. Za desktop programera - API i okviri.
  3. Za programere mobilnih aplikacija - Android, iOS ili Windows Phone.

Gdje studirati za programera od nule - obrazovne institucije u Rusiji, tečajevi, učenje na daljinu, online obuka?

Ako nemate poznanike koji bi vas mogli naučiti profesiji programera od nule, tada imate nekoliko mogućnosti obuke:

  • Samoobrazovanje. Najteži put do programiranja, koji leži kroz proučavanje web stranica, aplikacija, knjiga itd.
  • Sveučilište. Ako ste tek završili srednju školu i sanjate o prestižnom zvanju programera, upišite se na odgovarajući fakultet. I dalje ćete kroz samoobrazovanje steći osnovna znanja, ali će vam “kora” pomoći da se brže približite zamišljenom cilju. Odaberite tehnička sveučilišta, nakon što ste unaprijed proučili programe obuke.
  • Osobni učitelj ... Ako među programerima možete pronaći mentora, samoučenje će biti brže i učinkovitije. Potražite mentore na internetskim forumima, IT druženjima, tematskim konferencijama i još mnogo toga.
  • Tečajevi. Oni vas mogu naučiti određenom programskom jeziku na jednostavnim tečajevima koji se mogu naći čak i u malim gradovima. Na primjer, " Obrazovni IT-portal GeekBrains", « Specijalist "u MSTU Bauman, « STEP Computer Academy", MASPK.

Možete steći visoko obrazovanje kao programer u ...

  1. MEPhI.
  2. Rusko ekonomsko sveučilište Plekhanov.
  3. Moskovsko državno sveučilište građevinarstva.
  4. Moskovsko državno tehničko sveučilište Bauman.
  5. Državno sveučilište za menadžment.

Video: 7 pogrešaka programera početnika

Korisni online resursi i knjige koje će vas naučiti kako raditi kao programer

  • habrahabr.ru (članci o IT temama, informacije o raznim temama). Ovaj resurs je poznat svakom programeru.
  • rsdn.org (knjige, aktualna pitanja, koristan forum, popunjavanje praznina u znanju, materijali na ruskom).
  • sql.ru (izvrstan prikladan forum, korisna literatura, pa čak i ponude za posao).
  • theregister.co.uk (IT vijesti).
  • opennet.ru (vijesti, korisni članci, forum, itd.). Resurs za profesionalce.
  • driver.ru (biblioteka vozača). Korisna stranica za početnike.

Resursi za učenje:

  1. ocw.mit.edu/courses (preko 2000 tečajeva različitih tema).
  2. coursera.org (preko 200 tečajeva, besplatno).
  3. thecodeplayer.com (uputstva za početnike).
  4. eloquentjavascript.net (resurs za uvod u Java Script).
  5. rubykoans.com (za sve koji uče Ruby).
  6. learncodethehardway.org (učenje Pythona, Rubyja, C, itd.).
  7. udemy.com (plaćeni i besplatni tečajevi).
  8. teamtreehouse.com (preko 600 lekcija).
  9. webref.ru/layout/learn-html-css (za svladavanje HTML-a i CSS-a).
  10. getbootstrap.com (istražuje značajke Bootstrapa).
  11. learn.javascript.ru (učenje frontenda i Javascripta).
  12. backbonejs.org (za front-end programere).
  13. itman.in/uroki-django (za učenje Djanga).

Besplatne stranice za učenje za pomoć početnicima:

  • ru.hexlet.io (8 besplatnih tečajeva za C i PHP, JavaScript i Bash).
  • htmlacademy.ru (18 besplatnih tečajeva za dizajnere izgleda).
  • codecademy.com (popularni tečajevi o jezicima, alatima i još mnogo toga).
  • codeschool.com (preko 60 tečajeva (13 besplatnih) HTML/CSS i JavaScript, Ruby i Python, iOS i Git, itd.).
  • checkio.org (za učenje Pythona i JavaScripta).
  • codeingame.com (učenje kroz video igre, 23 programska jezika).
  • codecombat.com (učenje JavaScripta, Pythona itd.). Obrazovna igra dostupna za one koji još ne govore engleski.
  • codehunt.com (obuka za pronalaženje pogrešaka u kodu).
  • codefights.com (platforma za obuku kroz turnire na kojoj možete "zagrmiti" za intervju s pristojnom IT tvrtkom).
  • bloc.io/ruby-warrior# (učenje Rubyja kao i umjetnost / inteligencija).
  • theaigames.com (razvoj vještina programiranja - uzbudljiv simulator online igre za programera).
  • codewars.com (zbirka obrazovnih interaktivnih zadataka za one s minimalnim znanjem).

Obično je potrebno od šest mjeseci do 12 mjeseci da sami naučite osnove programiranja.

Kako brzo pronaći posao programera i početi zarađivati ​​- savjeti iskusnih

Naravno, bez radnog iskustva jednostavno ne možete dobiti posao u normalnoj tvrtki.

Tako…

  1. Čitajte knjige, istražujte web stranice i educirajte se, ali počnite pisati svoje prve retke koda sada.
  2. Izradite i zakomplicirajte sebi zadatke prema obrađenom gradivu.
  3. Potražite svoje prve projekte, čak i za „smiješne novce“, upišite se u svoj „životopis“.
  4. Potražite posao na burzama slobodnih zanimanja na ruskom jeziku (ru) i na burzama na engleskom jeziku (upwork.com) - veće su šanse da ga dobijete.
  5. Počnite s malim projektima s kojima se možete nositi.
  6. Ne propustite opciju otvorenog koda (u takvim projektima uvijek nema dovoljno ljudi).
  7. Pomoć "za lijepi peni" (ili čak besplatna, za iskustvo) poznatim programerima. Neka vam daju lake zadatke.

  • Obavezno napišite: svoje radno iskustvo, popis jezika i tehnologija koje govorite, obrazovanje i kontakte.
  • Ne trpamo cijeli popis naših kvaliteta i talenata u životopis. Čak i ako majstorski svirate harmoniku, o tome ne biste trebali pisati u životopisu.
  • Dizajnirajte svoj životopis imajući na umu kreativnost, ali relevantan.
  • Ne biste trebali popunjavati stavke poput "vaši ciljevi i ambicije" ili "koga vidim za 5 godina". Dovoljno je napisati što ste radili prije, a što biste sada željeli.
  • Ne pišite o jezicima i tehnologijama koje poznajete samo po imenu. U životopis napišite samo one u kojima plivate, kao riba u vodi. Za sve ostalo postoji čarobna fraza – „imao sam malo iskustva“.
  • Ako ste profesionalni Delphi majstor, ne zaboravite napomenuti da znate i C#, jave ili neki drugi jezik, jer samo "dolphi programer" u biti nikome nije potreban (delphi je osnova s ​​kojom je svaki maturant upoznat) .
  • Ne spominjite posao koji nije bio u vašoj specijalnosti. Ovo nikome nije zanimljivo. Također, nikoga nije briga imaš li vozačku ili auto. Nećeš se zaposliti kao kurir.

Izgledi za karijeru programera i plaća programera

Prosječna plaća programera u velikim gradovima zemlje je od 50.000 do 200.000 rubalja.

U Rusiji u cjelini - od 35 tisuća do 120 tisuća.

Zanimanje je na listi najtraženijih – i najsolidnije plaćenih. Čak i skromni stručnjak može zaraditi novac za sendvič s kavijarom, ali profesionalcu definitivno neće trebati novac.

Od pripravnika do voditelja IT odjela nije dug put, a plaća na samom vrhu može doseći i 4000 dolara mjesečno. Pa, onda se možete preseliti među voditelje velikog projekta (napomena - za razvoj softvera), a ovdje plaća već prelazi 5000 dolara.

Vrhunski povezani članci