Kako podesiti pametne telefone i računare. 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 da li vam je uopšte potrebno programiranje? Ovo pitanje se ne odnosi na one koji studiraju ili studiraju u specijalnosti bliskoj programiranju. Ako ste bili bolji u matematici nego u humanističkim naukama u školi, ako volite da provodite puno vremena za kompjuterom, ako želite da naučite 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 i ne moraju ići na fakultet. Druga opcija je moderna profesija programera. Nakon škole je trebalo izabrati gdje da studiram, 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 gore navedenog nije dogodilo, onda imate izbor između četiri opcije:

  • Samoobrazovanje... Ova opcija se 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.
  • Univerzitet... Ako završavate srednju školu i želite da budete programer, onda idite na fakultet. Ako ne zbog znanja, onda iza kore. Može poslužiti kao bonus prilikom prijave za posao. Mada ćete takođe dobiti neko znanje. Ali ne zaboravite i na samostalno učenje. Izboru univerziteta treba pristupiti vrlo odgovorno. Pažljivo proučavajte studijske programe i birajte najbolje tehničke univerzitete.
  • Mentor... Bit će jako lijepo ako nađete nekoga ko će pristati da vam pomogne i uputi vas u pravom smjeru. On će predložiti odgovarajuće knjige i resurse, pregledati vaš kod i dati korisne savjete. Inače, 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 online forumima i tako dalje.
  • Specijalizovani praktični kursevi... Pokušajte u svom gradu potražiti kurseve 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 ili dvije bićete slobodni da birate jezik koji želite. Ali pri odabiru prvog programskog jezika, početnik bi trebao uzeti u obzir sljedeće kriterije:

  • Dostupnost na tržištu slobodnih radnih mjesta... Krajnji cilj ovog puta je pronaći posao programera. A to će biti teško ako niko ne traži programere u vašem programskom jeziku na tržištu rada. Provjerite sajtove za zapošljavanje, pogledajte ko traži više, navedite desetak jezika. I prijeđite na sljedeći kriterij.
  • Nizak ulazni nivo... 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 se piše da su laki, ili koji su vam se činili laki. 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. Da li ti treba? Napravite pravi izbor.

Također, morat ćete odlučiti o smjeru programiranja. Mobilni, desktop, igre, web, programiranje niskog nivoa 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 nikako ne odgovara drugom. Odnosno, pri odabiru programskog jezika također vrijedi poći od ovog faktora.

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

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 linije koda nakon drugog poglavlja knjige. Dovršite sve zadatke iz knjiga, prekucajte primjere, razumite ih. Svojim idejama zakomplikujte primjere i zadatke iz knjiga. Kreirajte svoje zadatke za obrađeni materijal. Riješite ove zadatke.

Drugo, morate pronaći svoje prve projekte. Ovo je vjerovatno najteža opcija, ali ispravna. 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 sve druge opcije izgledati kao cinch. Završeni projekti se mogu upisati u iskustvo i pokazati budućem poslodavcu. Pravi projekti su veliki plus u vašem životopisu.

Ako znate engleski, bolje je da se registrujete na berzama koje govore engleski. Tržište je tamo veće. Ako ne znate engleski, naučite ga. U međuvremenu, dostupne su vam berze slobodnih radnika na ruskom jeziku. Potražite male projekte koji odgovaraju ili malo iznad vašeg nivoa stručnosti. Prijavite se za nekoliko desetina 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 greške u projektu ili pogledati u alatu za praćenje grešaka i predložiti metode za njihovo rješavanje. Pronalaženje takvih projekata je jednostavno na GitHubu ili. Slobodno postavljajte pitanja tamo.

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

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

Zašto odabrati Python

Hajde da pričamo malo više o izboru vašeg prvog programskog jezika. Prvi jezik bi trebao biti jednostavan i popularan na tržištu. Ovaj jezik je Python... Toplo preporučujem da ga odaberete kao svoj prvi programski jezik.

Python programski kod je čitljiv. Ne morate čak ni biti programer da biste uopšteno razumeli šta se dešava u programu. Zbog jednostavne sintakse Pythona, trebat će vam manje vremena za pisanje programa nego, na primjer, u Javi. Ogromna baza podataka biblioteka koja će vam uštedjeti mnogo truda, živaca i vremena. Python je jezik visokog nivoa. To znači da ne morate previše razmišljati o memorijskim ćelijama i o tome šta tu staviti. Python je jezik opšte namene. A tako 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 mnogo bolje razvijeni. Treba samo uporediti Eclipse i IDLE. Nakon Jave, bit će vam lakše preći na rad sa programskim jezicima niskog nivoa.

PHP je još jedan veoma popularan jezik. I mislim da je čak i 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 nivoa. 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 # veoma teško za početnika. Ruby- dobar izbor kao drugi jezik, ali ne i prvi. JavaScript- veoma jednostavan jezik, ali vas neće naučiti ničemu dobrom. A zadatak prvog programskog jezika je i dalje da vas nauči nečemu ispravnom, da postavi neku vrstu logike.

Da li je engleski važan

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

Šta treba da znate osim programskog jezika

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

Svako treba da nauči algoritme. Pokušajte pohađati kurs na Courseri ili pronaći knjigu o algoritmima koja vam odgovara. Osim toga, potrebno je poznavati jednu od baza podataka, obrazaca programiranja, strukture podataka. Također je vrijedno upoznati spremišta koda. Sa barem jednim. Poznavanje sistema kontrole verzija je obavezno. Odaberite Git, on je najpopularniji. Morate znati alate sa kojima radite, operativni sistem i razvojno okruženje. A glavna vještina programera je da zna Google. Ne možete živjeti bez toga.

Poslednji koraci

Morate pripremiti životopis. Ne samo životopis, već. Ne treba tu pisati, ali ne treba ni da ćutite o svojim veštinama. Nakon što ste pozvani na intervju, 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 sa novom profesijom programera.

Rekao mi je da će na kursu svakoga naučiti programirati, čak i od nule. Pitao sam ga: "Možeš li izaći na kraj sa humanističkim naukama?" I pitali smo se da li je bilo slučajeva da je „humanista“ naučio programski jezik?

Kao prvo, postoji živi učitelj sa dobrim iskustvom u razvoju. Vitalij Kurennov, piše Ruby već 6 godina i podučava sve ove veštine više od godinu dana, radio je na Ruby projektima za Nokiju i Avaju.
Drugo, postoji grupa istomišljenika, radeći rame uz rame sa kojima ćete uveliko povećati šanse da dođete do gorkog kraja i savladate programiranje do tačke kada počne da donosi profit.

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

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


Pronašao sam prekrasan resurs s gamifikacijom i to odmah iz pretraživača tryruby.org
Za 5 minuta završimo nekoliko zadataka, dobijemo postignuće i prelazimo na sljedeći nivo.


Želite li zombija? railsforZOMBIES.org

O Lisp-u

"Međutim, mislim da ne mogu uvjeriti bilo koga (preko 25) da nauči Lisp." Paul Graham, Pobjeda osrednjosti

učenje Lisp.

;; Dobrodošli u L (λ) THW! (neka ((llthw "(nauci lapsanje na tezi nacin))) (format t" ~ ( [email protected](~ A ~) ~ ^ ~), jer ~ (~ A ~ ^ ~) je lakše! "Llthw (cddr llthw))) ;; Common Lisp: Snažan, ekspresivan, programabilan, opće namjene, višeparadigma.


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

“Tokom mojih godina u Viawebu, pročitao sam mnogo oglasa za posao. Otprilike svakog mjeseca se pojavio novi konkurent. Prva stvar koju sam uradio nakon što sam provjerio da li je dostupan demo njihovog programa na mreži je da pogledam njihove liste poslova. Nakon par godina naučio sam razlikovati opasne konkurente od onih koji nisu opasni. Što je IT mainstream više odstupio od opisivanja traženih kandidata, to je kompanija bila manje opasna. Najsigurniji su bili oni kojima su bili potrebni 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 kompaniju, ili barem njen tehnički dio, vode pravi hakeri. Da sam ikada video oglas za regrutovanje Lisp hakera, ozbiljno bih se zabrinuo." Paul Graham, Pobjeda osrednjosti

  • Pročitajte 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 inspirisati svakoga da počne programirati. Čak i ja. Čak i Lisp.
  • Pronađite istomišljenike
  • Pronađite inspirativan izazov

    na primjer

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

Ponovo vam želim dobrodošlicu na moj blog i danas ću pokušati odgovoriti na pitanje kako da što prije postanete web programer od nule? Moram odmah reći da je to u principu moguće za bilo koju osobu, ne vidim nikakva ograničenja u tom pogledu. Najvažnije 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 kompaniji sa velikom platom i rastom u karijeri? Bez obzira na odgovor, sigurno ćete htjeti početi s besplatnim časovima. A onda ću citirati nekoliko sajtova na kojima možete dobiti obuku gotovo besplatno, ali do određenog nivoa.

Naravno, stvar se neće završiti u teoriji, sva stečena znanja treba primeniti nekoliko desetina puta u praksi - tada će vam se mnogo bolje zabiti u glavu, pa i posle toga ima da se budite noću i pitaj: "Kako @keyframes funkcionira u css-u?"- sve ćeš detaljno ispričati.

Dakle, ovaj prvi korak je da saznate šta vam treba. Da biste to učinili, preporučujem odlazak na vrlo popularni IT portal - Geekbrains. Tamo, skrolujući malo niz stranicu, možete vidjeti u kom smjeru predaju na portalu. Zainteresovani smo za struku Web developer- ovo je u stvari web programer.

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

Namjerno sam malo izrezao ovaj snimak ekrana da vam pokažem koje tehnologije su vam prve potrebne.

Šta web programer treba da zna?

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 prvo trebate naučiti.
  2. PHP je glavno oružje web programera. Uz pomoć ovog jezika stvaraju se društvene mreže, internet trgovine, okviri, motori i još mnogo toga. Zahvaljujući njemu radi većina online servisa, formulara za komentare, registracija na sajtovima itd.
  3. JavaScript je programski jezik posebno za web, uz njegovu pomoć se stranica može programirati tako da se njen dizajn mijenja pod različitim događajima. Na primjer, kada kliknete na prozor, on se širi itd. Postoji mnogo primjera.

Ali ovo je samo najosnovniji nivo, u stvari, ako želite da postanete profesionalac, moraćete da proučite desetine tehnologija na ovaj ili onaj način. Evo djelimične liste:

Gdje mogu sve ovo naučiti?

Koliko ja razumijem, postoje 3 glavna načina da se obučete 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 preći početni nivo!
  2. Kupite plaćene kurseve. Odabrao sam ovu opciju, jer studiram site building ne da bih radio za kompaniju, već za sebe, tako da sam zadovoljan kursevima. 1 razuman kurs u Runetu košta od 3 do 7 hiljada rubalja. Lično sam potrošio samo oko 40-50 hiljada rubalja na kurs i ne žalim, jer Već sam dobio dosta znanja koje bih mogao primijeniti u praksi i početi zarađivati.
  3. Kupite kompletnu obuku na daljinu sa mentorom. Ovo je najskuplja opcija, koja će koštati 40-150 hiljada rubalja. Naravno, što se tiče efikasnosti, to je najbolje. Takvu obuku, na primjer, možete kupiti na Geekbrains online univerzitetu.

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

Pa, najbolja opcija koju vidim je ista Geekbrains- jer se ovdje sve plaća i to na ozbiljnoj osnovi, dovedeni ste do stvarnih rezultata u vidu stranica koje ste kreirali vlastitim rukama, a ne samo date golu zastarjelu teoriju. Osim toga, tamo možete dobiti savjet od pravog mentora.


Kao što vidite, obuka za web programera košta 6-8 hiljada rubalja mjesečno i traje čak 11 mjeseci, nakon čega, ako niste varali, postajete zaista 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 mnogo uštedjeti, a rezultat se može postići i relativno dobar. Jedina negativna je ta što znanje i kurseve 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 da pravite web stranice, ne morate sve ovo znati. Već sam rekao šta je osnova. Ovo je html, css, php, javascript. Ali činjenica je da svake godine zahtjevi za web programerima rastu i ako želite ozbiljne rezultate, na ovaj ili onaj način morat ćete proučavati moderne tehnologije i trendove.

PHP i framework kursevi


Trenutno postoji divan kurs PHP7 i MySQL od nule do gurua kroz koju sam lično prošao i čak napisao posebnu recenziju o tome. Mislim da je ovaj kurs odličan, pruža veliku bazu modernog php-a.

Knjige takođe imaju pravo na život. Da biste proširili svoje znanje u bilo kojoj oblasti, korisno je pročitati ih. 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 sa 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 da li je moguće samostalno postati programer od nule i koje opcije postoje kako biste sami savladali programiranje i počeli zarađivati ​​na tome.
UPD: Oni koji traže gdje da počnu s učenjem programiranja od nule 2018. (ili će tek početi 2019. :)) imaju veliku sreću zahvaljujući knjizi Jakova Kramarenka "Uvod u razvoj softvera". Iskreno preporučujem da ga provjerite - vrijedi ažurirati članak broj 1 na Google-u i recenzije čitatelja za one koji sami uče programiranje.

Trudio sam se da pružim najbolji - po mom mišljenju - način. Upozoravam vas - nije lako! Dalje čitanje vas može koštati sati zanimljivog učenja :)

Odmah ću reći - ako odlučite da naučite programiranje samo sami, bez ulaganja novca, morat ćete potrošiti više vremena. Očekujte da ćete savladati novu specijalnost za najmanje godinu dana ako studirate paralelno s drugim poslom.

Ako nađete kako dopuniti ovaj članak kako biste ga učinili korisnijim za ljude - napišite u komentarima.

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

Knjiga o web programiranju za početnike

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

Bolje je pohađati kurs na engleskom jeziku. I pumpat ćete svoj jezik, a informacije su svježije. Iako se kurs nije mnogo promenio - tek 2017. godine Python je počeo da se koristi umesto PHP-a.

Završetak kursa ć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 mom mišljenju, 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 ranije ispunjavati.

Kako samostalno postati programer od nule

Kada bih krenuo od nule da samostalno proučavam 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 kurs za osnovno razumevanje HTML-a i CSS-a: https://learn.shayhowe.com/html-css/ (engleski) ili https://webref.ru/layout/ learn-html-css (prevod).

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 naredne korake.
Možda biste trebali stati na ovom mjestu i detaljnije istražiti CSS. Ovo će vam dati priliku da radite kao layout dizajner - osoba koja od dizajna pravi statičnu HTML stranicu, nakon čega je programer oživljava, implementirajući logiku projekta.

Na ovome možete i zaraditi novac - i slobodnim radom i radom u IT kompaniji koja je specijalizirana za web razvoj.

Ali pošto smo odlučili da postanemo programer - idemo dalje!

2. Upoznajte se sa jQueryjem

Ako vam se svidelo, možete nastaviti da se bavite frontendom i počnete da učite Javascript.

Ako slijedi https://angularjs.org/ ili http://backbonejs.org/, onda je ovo put do front-end razvoja. Dobar specijalitet, 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 nastavite dalje.

3. Savladajte serverski programski jezik

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

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 konstantno među TOP 5-10 najtraženijih jezika, a dobri stručnjaci za Python su među najbolje plaćenim programerima. Python je istovremeno jednostavan i razumljiv programski jezik za programere početnike, a istovremeno se koristi u mnogim velikim kompanijama i na velikim projektima.

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

Između ostalog, 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 sigurno najbolji okvir za web razvoj

Najbolji alat za sve prilike vrlo je teško pronaći. Django ima potencijal da postane takav alat za web razvoj.

Odakle započeti učenje Djanga:

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

Tango sa Djangom je dobra prilika da poboljšate svoj engleski i istovremeno steknete razumijevanje o tome kako web projekti funkcioniraju i kako sve funkcionira.

Opcija #2 - PHP i WordPress

Drugi način je da počnete sa PHP-om i radite sa popularnim CMS-om. Ako sami učite programiranje i želite da počnete brzo, počnite sa PHP-om.

PHP mnogi smatraju "ne baš" programskim jezikom, i 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 lider po broju pokrenutih web stranica u svijetu. Na njemu se zasnivaju najpopularniji CMS (sistemi za upravljanje sajtovima).

Nakon toga, shvatite kako kreirati teme za WordPress - ovo je vjerovatno najpopularniji CMS na svijetu mjereno brojem pokrenutih web stranica.

Uz dobro razumijevanje ovoga, već možete naći posao. Postoji mnogo sajtova 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 da radite kao programer i tražite način da zaradite novac - dobrodošli u freelance! Freelance burze vam omogućavaju da pronađete jednostavne narudžbe (možda u početku gotovo besplatne) - da dobijete praksu. Generalno, rad za IT kompaniju može biti isplativiji ako samo tražite posao programera.

Nakon koraka 2 – nakon što ste savladali HTML, CSS i jQuery – možete otići na freelance burzu i primati jednostavne narudžbe, stvarajući profil.

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

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

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

Brzi put do web programera

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

Da biste ubrzali proces ulaska u IT – potražite priliku da odete na obuku (možda će vam trebati više od jedne) ili pronađite osobu koja će raditi sa 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 sa obrazovanom osobom koja može samo da priča o teškim stvarima, mnogo je lakše.

Svojevremeno sam odabrao put ulaska kroz obuku. Uprkos činjenici da sam znala dosta o razvoju, to mi je omogućilo da savladam nešto za 2 mjeseca što bi moglo trajati šest mjeseci. Pronađite svoj put.

Imam ljude koji su ozbiljno odlučili da započnu karijeru programera i žele da ubrzaju ovaj proces. Postoji mnogo drugih kurseva. Pronalaženje sebi mentora – nekoga ko će vas voditi za ruku – značajno će vam skratiti put ka razvoju.

Čim budete sigurni da možete nešto stvoriti, potražite kompaniju u kojoj možete dalje da se razvijate 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

AA

Svako bira profesiju "programer" iz svog specifičnog razloga. Jedan je odlučio jednostavno promijeniti svoju specijalnost, drugi je prisiljen savladati drugu profesiju, treći se ne razumije bez šifri, a neko ide u struku jednostavno iz radoznalosti.

Na ovaj ili onaj način - svi počinju od nule. I prije nego što krenete od samog početka - postavite pitanje da li vam je zaista potrebna ova profesija?

Suština rada programera su glavne specijalizacije, prednosti i nedostaci rada

Suština rada programera zavisi od specijalizacije i kompanije.

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

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

  • Primijenjeni specijalisti. Zadaci: razvoj softvera za igre, urednike, bukh / programe, glasnike, itd.; razvoj softvera za audio/video nadzorne sisteme, alarme, itd.; prilagođavanje programa nečijim specifičnim potrebama.
  • Stručnjaci za sistem. Poslovi: razvoj operativnih sistema, kreiranje interfejsa za baze podataka, upravljanje računarskim sistemom, rad sa mrežama, kontrola rada kreiranih sistema itd. Ovi stručnjaci zarađuju više nego bilo ko drugi u svojoj oblasti, zbog retkosti i specifičnosti profesije.
  • Web stručnjaci. Zadaci: rad sa internetom, izrada sajtova i web stranica, razvoj web interfejsa.

Prednosti profesije uključuju sljedeće prednosti:

  1. Veoma pristojna plata.
  2. Velika potražnja za dobrim stručnjacima.
  3. Mogućnost dobijanja prestižnog posla bez obrazovanja.
  4. Mogućnost zarađivanja novca na daljinu dok sedite na kauču kod kuće.
  5. Mogućnost rada na daljinu za strane kompanije.
  6. Kreativna profesija (međutim, kreativnost često zavisi od želja kupca).
  7. Udobni uslovi koje velike kompanije pružaju svojim stručnjacima (besplatna pića / lepinje, posebna mjesta za rekreaciju i sport, itd.).
  8. Mogućnost dobijanja "opcije". Odnosno, paket dionica kompanije. Istina, tek nakon određenog perioda rada u kompaniji.
  9. Proširite svoje horizonte. Kako se razvijate u profesiji, morate se upoznati sa raznim oblastima života i ući u razne sisteme - od kancelarijskog rada i računovodstva do drugih.

minusi:

  • Rad dan i noć je uobičajen u ovoj profesiji.
  • Ovaj će posao za mnoge ljude biti dosadan i monoton.
  • Interesi stručnjaka i kupca se ne poklapaju uvijek, a ono što je programeru očigledno, po pravilu se ne može uopće objasniti klijentu. To dovodi do sukoba i stresa.
  • Režimi rada u hitnim slučajevima nisu neuobičajeni.
  • Potreba za stalnim razvojem, učenjem novih stvari, praćenjem razvoja u svjetlu IT sfere. Za samo nekoliko godina programi zastarevaju i moraju se pisati novi.

Video: Kako postati programer?

Neophodne lične i poslovne kvalitete, profesionalne vještine i sposobnosti za rad kao programer - šta trebate znati i umijeti?

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 veoma vredni, vredni i strpljivi.
  4. Budite spremni za stalni rutinski rad.
  5. Budite sposobni da radite u timu.

Koje znanje je potrebno budućem programeru?

Treba početi sa učenjem...

  • Engleskog jezika.
  • Računarski uređaji i fizika svih procesa.
  • Programski jezici.
  • Tehnike razvoja softvera.
  • Tehnike testiranja softvera.
  • Sistemi kontrole verzija.

Programski jezik - odakle početi?

Takođe ćete morati da proučite...

  • Java. Popularniji od Pythona i nije loš izbor za početnike. Ali složeniji od Pythona.
  • PHP. Izoštreno za "web", ali će biti korisno svakom početniku.
  • C i C#. Veoma složeni jezici, možete ih ostaviti za kasnije.
  • Ruby. 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 JavaScript-a.
  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, kursevi, učenje na daljinu, online obuka?

Ako nemate poznanike koji vas mogu naučiti profesiji programera od nule, onda imate nekoliko opcija za obuku:

  • Samoobrazovanje. Najteži put do programiranja, koji leži kroz proučavanje sajtova, aplikacija, knjiga itd.
  • Univerzitet. Ako ste tek završili srednju školu i sanjate da steknete prestižnu profesiju 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 zaželjenom cilju. Odaberite tehničke univerzitete nakon što unaprijed proučite programe obuke.
  • Lični učitelj ... Ako među programerima nađete mentora, samoučenje će biti brže i efikasnije. Potražite mentore na online forumima, IT druženjima, tematskim konferencijama i još mnogo toga.
  • Kursevi. Oni vas mogu naučiti određenom programskom jeziku na jednostavnim kursevima koji se mogu naći čak i u malim gradovima. Na primjer, " Obrazovni IT-portal GeekBrains", « Specijalista u MSTU Bauman, « STEP Computer Academy", MASPK.

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

  1. MEPhI.
  2. Ruski ekonomski univerzitet Plekhanov.
  3. Moskovski državni univerzitet za građevinarstvo.
  4. Bauman Moskovski državni tehnički univerzitet.
  5. Državni univerzitet za menadžment.

Video: 7 grešaka programera početnika

Korisni onlajn 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, aktuelna pitanja, koristan forum, popunjavanje praznina u znanju, materijali na ruskom).
  • sql.ru (odličan zgodan 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 drajvera). Korisna stranica za početnike.

Resursi za učenje:

  1. ocw.mit.edu/courses (preko 2000 kurseva na različite teme).
  2. coursera.org (preko 200 kurseva, 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 kursevi).
  8. teamtreehouse.com (preko 600 lekcija).
  9. webref.ru/layout/learn-html-css (za savladavanje HTML-a i CSS-a).
  10. getbootstrap.com (istražuje Bootstrap funkcije).
  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 kurseva za C i PHP, JavaScript i Bash).
  • htmlacademy.ru (18 besplatnih kurseva za dizajnere izgleda).
  • codecademy.com (popularni kursevi o jezicima, alatima i još mnogo toga).
  • codeschool.com (preko 60 kurseva (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 igrice, 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 grešaka u kodu).
  • codefights.com (platforma za obuku kroz turnire na kojima možete "grmiti" za intervju sa pristojnom IT kompanijom).
  • bloc.io/ruby-warrior# (učenje Ruby-a kao i umjetnost/inteligencija).
  • theaigames.com (razvoj vještina programiranja - uzbudljiv simulator online igre za programera).
  • codewars.com (zbirka edukativnih 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 kompaniji.

Zbog toga…

  1. Čitajte knjige, istražujte web stranice i obrazujte se, ali počnite pisati svoje prve linije koda sada.
  2. Kreirajte i komplikujte sebi zadatke prema obrađenom materijalu.
  3. Potražite svoje prve projekte, čak i za "smiješne pare", upišite se u "životopis".
  4. Potražite posao na burzama slobodnih zanimanja na ruskom jeziku (ru) i na burzama na engleskom (upwork.com) - ima više šansi da ga dobijete.
  5. Počnite s malim projektima koje možete podnijeti.
  6. Ne propustite opciju otvorenog koda (u takvim projektima uvijek nema dovoljno ljudi).
  7. Pomoć "za prilično peni" (ili čak besplatna, za iskustvo) poznatim programerima. Neka vam daju lake zadatke.

  • Obavezno napišite: Vaše radno iskustvo, listu jezika i tehnologija koje govorite, obrazovanje i kontakte.
  • Ne trpamo čitavu listu naših kvaliteta i talenata u životopis. Čak i ako majstorski svirate harmoniku, ne biste trebali o tome pisati u svom ž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 da napišete šta ste radili ranije, a šta biste sada želeli.
  • Ne pišite o jezicima i tehnologijama koje poznajete samo po imenu. U životopisu napišite samo one u kojima plivate, kao riba u vodi. Za sve ostalo postoji magična fraza – „imao sam malo iskustva“.
  • Ako ste profesionalni Delphi majstor, ne zaboravite da napomenete da znate i C#, jave ili neki drugi jezik, jer samo "dolphi programer" u suštini nikome nije potreban (delphi su osnove sa kojima je svaki diplomac upoznat ).
  • Ne spominjite posao koji nije bio u vašoj specijalnosti. Ovo nikome nije interesantno. Takođe, nikoga nije briga da li imate vozačku dozvolu ili auto. Nećete dobiti posao kao kurir.

Izgledi za karijeru programera i plata programera

Prosječna plata programera u velikim gradovima zemlje je od 50.000 do 200.000 rubalja.

U Rusiji u celini - sa 35 hiljada na 120.000.

Profesija 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 šefa IT odjela nije dug put, a plata na samom vrhu može dostići i 4.000 dolara mjesečno. Pa, onda se možete preseliti u vođe velikog projekta (napomena - za razvoj softvera), a ovdje plata već prelazi 5.000 dolara.

Top srodni članci