Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows Phone
  • Kako oni postaju programeri? Neophodne lične i poslovne kvalitete, profesionalne vještine i sposobnosti za rad kao programer - šta trebate znati i umijeti? Resursi za učenje

Kako oni postaju programeri? Neophodne lične i poslovne kvalitete, profesionalne vještine i sposobnosti za rad kao programer - šta trebate znati i umijeti? Resursi za učenje

Iza većine tehničkih pogodnosti, poput internetskog bankarstva ili informativnih ploča na aerodromu, stoje stručnjaci jedne od najtraženijih profesija našeg vremena - programeri. Bez njih ne bi radili ni gadgeti ni društvene mreže. Čak bi i naručivanje novih patika iz online trgovine bilo problematično. Do sada, IT sektor samo ubrzava tempo razvoja, zahtijevajući sve više novih radnika. Kompanije su spremne zaposliti čak i početnike. Prosječna plata programera počinje od 35 hiljada rubalja, a iskusni profesionalci mogu zaraditi ogromne količine novca.

Profesija programera je popularna i tražena

U ovom članku ćemo vam reći kako da uđete u prestižnu profesiju, ko su stariji programeri i zašto ćete ovdje imati poteškoća bez engleskog.

Ko su programeri i čime se bave?

Zahtjevi IT industrije za profesionalcima su u stalnom porastu. Stoga su nam potrebni ljudi koji će ovo razumjeti: kreirati, popravljati, podržavati. Koderi su različiti, a svaki posao ima svoje specifičnosti. Razgovarajmo o glavnim specijalizacijama IT stručnjaka:

Najočiglednija opcija. Ali nije tako jednostavno kao što mislite. Koderi obavljaju različite zadatke u zavisnosti od svog specijalizovanog programskog jezika i projekta.

Na primjer, programer mobilnih aplikacija kreira programe za Android, iOS i druge sisteme. Svaka prva osoba ima pametni telefon i tablet, tako da posao ovdje neće uskoro završiti.

Još jedan obećavajući pravac je Java programiranje. Većina bankarskih sistema je dizajnirana na ovom jeziku. Banke su spremne dobro platiti za kvalitetan proizvod kako svom osoblju tako i trećim firmama. Ali zahtjevi su i ovdje visoki: morat ćete biti odgovorni za ispravan rad aplikacije s tuđim novcem. Naravno, možete programirati na Javi ne samo u banci, a dobri IT stručnjaci s iskustvom primaju oko 200 hiljada rubalja mjesečno.

Tester je stručnjak, bez kojeg nijedan projekat neće biti objavljen. Ovaj IT stručnjak zna sve o zamršenosti koda i mjestima gdje program može pokvariti. Njegova je odgovornost provjeriti otpornost proizvoda na greške i greške i vratiti ga programerima na ispravku. U početku se test radi ručno, ali kada se pronađu sve slabe tačke, tester piše poseban program za automatizaciju rješavanja problema.

Druga slična profesija je qa inženjer, stručnjak za kvalitet proizvoda. Njegova glavna razlika je u tome što ne traži greške u kodu, već ih pokušava spriječiti. Detaljno saznajte zahtjeve kupaca, planirajte razvoj, uspostavite komunikaciju između grupa programera - sve su to odgovornosti qa inženjera. Često čak i ne morate znati programski jezik, važnije je razumjeti faze razvoja i karakteristike upravljanja projektima.

Profesija je privlačna zbog svoje plate: čak i početnik može biti plaćen 50 hiljada mjesečno.

Prema istraživanju StackOverFlow, ovo je najtraženija IT profesija u 2017. godini. Web programeri su podijeljeni u dvije kategorije: front end i back end (oni su također često kodirani kao UX/UI dizajn). Prvi prate sve što se odnosi na korisnički dio: praktičnost aplikacije i web stranice, intuitivno korištenje i jednostavno lijepa slika. Potonji rade na tehničkoj komponenti: logici stranice, njenim funkcijama, interakciji s bazom podataka. Da bi stranica na Internetu izgledala moderno, programeri pohađaju kurseve iz html-a i php-a, te poznaju css, java-script i python programiranje.

Vaša plata će zavisiti od broja alata koje posjedujete. Najmanju platu imaju HTML koderi, primaju od 25 hiljada mesečno.

  • Programer 1C

Posebnost 1C programiranja je njegova bliska povezanost sa privrednom industrijom. Na primjer, da biste ispravno izračunali plate 3.000 ljudi u fabrici, morate negdje pohraniti podatke o njihovom radnom vremenu, platama, bolovanju itd. Ovaj zadatak preuzima program 1C-Enterprise. 1C programator konfiguriše računovodstvene programe i programe za upravljanje dokumentima tako da se dokumenti lako učitavaju i automatski generišu izveštaji.

Moguća rutina rada više je nego nadoknađena strukturom plata. Ako govorimo o fiksnoj stopi, tada će početnik 1C programer odmah pronaći slobodno mjesto sa platom od 45 hiljada mjesečno, a vodeći stručnjak prima od 120. Ali u slučaju slobodnjaka, zarada će ovisiti o vašim vještinama i broj radnih sati sedmično. Profesionalci zarađuju i 200 i 500 hiljada mjesečno.

Debata o pravim programerima traje do danas.

Ovaj IT tip nije baš programer. Njegova posebnost je da je dobro upućen u hardver. Povežite štampač, laptop, projektor, konfigurišite njegov rad, distribuirajte Internet i dizajnirajte pametnu lokalnu mrežu - to je sve za njega. Gurui žica i radnih štampača plaćaju se od 25 hiljada rubalja, a plata programera sistem administratora sa dobrim iskustvom može doseći i do 150 hiljada mesečno.

On je također produkt menadžer, također je vlasnik proizvoda. Menadžer proizvoda djeluje kao prevodilac između kupca, koji ne razumije informacijsku tehnologiju, i programera. Čini se da je ovo posao iz ničega - da kupac i sami programeri to neće moći shvatiti?! Pa neće moći. Menadžer proizvoda je taj koji može objasniti mogućnosti funkcionalnosti kupcu, a zatim formulirati tačan zadatak za IT stručnjake. Vlasnik proizvoda je odgovoran za to da gotova aplikacija, web stranica ili igra donese maksimalnu radost i korist korisniku.

  • Direktor IT proizvoda

Svaki uspješan IT stručnjak može ostvariti najvišu poziciju u IT oblasti - glavni službenik nabavke (skraćeno CPO). Ova osoba ima duboko znanje o proizvodu, razumije sistem kodiranja i poznaje najbolje strategije za kreiranje softvera. CIO prosječne kompanije može imati 30-50 ljudi koji su mu podređeni. Prosječan prihod... daleko iznad prosjeka.

Obuka programiranja na univerzitetu

Najočigledniji način da postanete programer je da se upišete na relevantan smjer na univerzitetu. Život većine stručnjaka više nije moguć bez IT tehnologija. Matematičari, hemičari i biolozi su u određenoj mjeri poučeni kako da koriste kod. Ali kako se ne biste mučili kroz predmete koji su vam nezanimljivi i proučavali samo specijalizirane discipline, odaberite jedno od sljedećih područja:

Svaka opcija ima svoje karakteristike. Na jednom odseku diplomiraju naučnici, na drugom menadžeri, a na trećem pravi antihakeri! Da biste ovo razumjeli detaljnije, pogledajte našu infografiku. Za buduće IT stručnjake bolje je izabrati tehničke fakultete. Ovi profili su dostupni u i drugima.

Obuka programera na fakultetu

Ne morate čekati maturu da biste se posvetili omiljenoj aktivnosti. Možete početi sa školovanjem za programera nakon 9. razreda, samo trebate odabrati pravi fakultet. Ovdje nema mnogo pogodnih specijaliteta:

  • 09.02.03 Programiranje u računarskim sistemima;
  • 02/09/05 Primijenjena informatika;
  • 02/09/07 Informacioni sistemi i programiranje.

Ukupno u zemlji postoji 71 ustanova srednjeg stručnog obrazovanja sa oblastima koje su nam potrebne. Ove profile ćete pronaći u Sankt Peterburg koledž informacionih tehnologija, Petrovski koledž, Novosibirsk koledž elektronike i računarskog inženjerstva, V Uralski tehnološki koledž “MEPhI” i u mnogim drugim.

Kursevi dodatne edukacije

Počeli su da predaju programiranje u Rusiji ne tako davno, pa je pronalaženje visokokvalitetnog stručnog kursa prava avantura. Osim toga, nisu sve opcije besplatne. Kako biste izbjegli bacanje novca, obratite pažnju na recenzije, nastavnike, programe i izglede za posao.

  • Online platforme

Možete sami naučiti programski jezik koji vam se sviđa i pogodnim tempom na jednom od resursa za učenje. Na primjer, lako je pronaći kurs o Java programiranju na INTUIT-u. Nakon uspješno položenog završnog testa, sistem će izdati besplatan certifikat.

  • Online škole

Ako vam se ideja samostalnog učenja ne sviđa, onda bolje pogledajte online škole. Značajan plus je što kurseve ovdje najčešće predaju programeri praktičari, koji ne samo da će podijeliti opća znanja, već i pričati o stvarno zanimljivim slučajevima. Na kraju obuke daju vam diplomu i obećavaju da će vam pomoći da pronađete posao. Obuka je „zvanična“, čak možete dobiti i porezni odbitak. Ali i to dosta košta. Godišnji kurs košta 150 hiljada rubalja. Ovdje možete vidjeti: ovo je veliki trošak ili pametno ulaganje u sebe.

  • Redovni kursevi

Za one koji žele da vide nastavnika ne preko ekrana monitora, već uživo, postoje kursevi licem u lice. Na primjer, MAKSIMALNO izvodi časove izučavanja IT oblasti za školarce Digitalne veštine. Tu je i programiranje, a na uvodni čas možete doći besplatno.


Kako upisati specijalnost Programiranje i šta polagati?

Univerziteti najčešće traže rezultate Jedinstvenog državnog ispita od budućih IT stručnjaka. Ruski jezik, specijalistička matematika i informatika. Neki će možda tražiti više engleski.

Šta učiniti sada da povećate svoje šanse za uspješnu programersku karijeru

Morate shvatiti da se IT sfera razvija ogromnom brzinom. Univerziteti nikada neće fizički imati vremena da prilagode programe kako bi studentima pružili najnovije informacije. Univerzitet će postaviti temelje u obliku osnovnih jezičkih sposobnosti i standardnih algoritama. Zato je rad programera nemoguć bez kontinuiranog samoobrazovanja. Programski jezici se modernizuju, programeri stvaraju nove zgodne alate kako bi sebi i svojim kolegama olakšali rad i smišljaju nove algoritme za rješavanje problema. Zatim ćemo vam reći gdje i šta još naučiti da biste uspjeli u IT polju:

  • Učiti engleski. Mnogi resursi su na engleskom. Da ne biste čekali da vam se neko smiluje i prevede tekst, vodite računa o jeziku unapred. Ovo je toliko važno da neki plaćeni kursevi svojim studentima pružaju časove jezika kao dio glavnog programa.
  • Razgovarajte na forumima. Odgovori na mnoga pitanja mogu se naći na forumima programera, kao što je Habrahabr. Profesionalna zajednica velikodušno dijeli znanje i korisne dijelove koda. Istina, ponekad potraga traje i po nekoliko dana, a pritom morate razumjeti nove alate s kojima prije niste bili upoznati. I da, često će najkorisniji link biti na engleskom.
  • Izgubite se u knjigama. Nemojte žuriti da kupite prvu literaturu na koju naiđete u najbližoj knjižari. Na policama ima puno beskorisnog i beznadežno zastarjelog materijala. Opet, mnoga djela su izvorno napisana na engleskom, a ruska verzija može imati ozbiljne nedostatke u prijevodu. Možete početi s našim preporukama, a onda ćete shvatiti kako izgleda dobar sadržaj.

Jeste li pročitali do kraja? Evo još par zanimljivih činjenica koje će vam pomoći da bolje zamislite profesiju programera.

  • Ako odete na posao, vidjet ćete: potrebni su misteriozni srednji ili stariji programeri. Programeri imaju svoju gradaciju profesionalizma: junior, srednji i stariji. Prvi, početnici, moraju savladati sva sredstva jezika na kojem rade. Drugi su IT stručnjaci sa 3-5 godina iskustva. Drugi ne samo da znaju sve o kodu, već mogu i organizovati rad grupe programera na projektu. Kako se vaš rang povećava, tako se povećava i vaša plata!
  • Popularan portret tipičnog programera je prećutni muškarac u čašama sa litarskom šoljicom kafe. Zapravo, ova slika vrijedi samo za rijetke freelancer. I ne morate biti introvert da biste se bavili profesijom. Kao iu svakoj drugoj stvari, važne su natprofesionalne vještine - objašnjavati, raspravljati, pregovarati, izlaziti iz sukoba.​

Ovaj portret programera je beznadežno zastario. Savremeni IT stručnjaci su društveni, pozitivni momci!

  • Cijela grupa IT stručnjaka radi na velikim projektima. Svako je odgovoran za svoj dio koda, a svi dijelovi se na kraju moraju spojiti u jedan proizvod. Da bi se to dogodilo, timovi stalno održavaju sastanke za planiranje i pomažu kolegama da pronađu i isprave nedostatke. A neke kancelarije imaju čak i TV konzole i društvene igre. Kolektivna promjena aktivnosti pomaže u uspostavljanju kontakta i prebacivanju kada posao zapne.
  • Programeri proslavljaju svoj profesionalni praznik 13. septembra. Datum nije slučajno izabran: to je 256. dan u godini, maksimalna moguća snaga dvojke koja se uklapa u broj 365.

Svoj put do karijere programera trebali biste započeti odgovorom na pitanje da li vam je programiranje uopće potrebno? Ovo pitanje se ne odnosi na one koji studiraju ili su studirali u specijalnosti bliskoj programiranju. Ako ste u školi bili bolji u matematici od humanističkih nauka, 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, morali smo da biramo gde ćemo ići da učimo, i izabrali smo moderan smer IT, koji nam se činilo da nam se dopao. 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 ili u kombinaciji s drugim metodama. Internet je pun aplikacija koje vam pomažu da naučite različite programske jezike i tehnologije. Ali ovo je najteži put za početnike.
  • Univerzitet. Ako završiš školu i želiš da budeš programer, onda idi na fakultet. Ako ne zbog znanja, onda zbog kore. Može poslužiti kao bonus prilikom prijave za posao. Iako ćete steći i neko znanje. Ali ne zaboravite da se obrazujete. Odabiru univerziteta treba pristupiti vrlo odgovorno. Pažljivo proučite programe obuke i odaberite najbolje tehničke univerzitete.
  • Mentor. Bit će jako dobro ako nađete osobu koja će pristati da vam pomogne i uputi vas u pravom smjeru. On će predložiti odgovarajuće knjige i resurse, provjeriti vaš kod i dati korisne savjete. Inače, već smo pisali o tome gdje možete pronaći mentora. Mentora možete potražiti među poznatim programerima, na IT zabavama i konferencijama, na online forumima i tako dalje.
  • Specijalizovani praktični kursevi. Pokušajte potražiti kurseve u svom gradu koji će vas naučiti nekom programskom jeziku ili tehnologiji. Bio sam prijatno iznenađen brojem takvih kurseva u Kijevu, uključujući i besplatne i sa naknadnim zapošljavanjem.

Koji jezik, tehnologiju i smjer odabrati

Kada postanete programer, nakon godinu ili dvije bićete slobodni da birate 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. Krajnji cilj ovog puta je pronaći posao programera. A to će biti teško učiniti ako niko ne traži programere u vašem programskom jeziku na tržištu rada. Provjerite sajtove za zapošljavanje, pogledajte ko je najtraženiji, napišite desetak jezika. I prijeđite na sljedeći kriterij.
  • Nizak ulazni nivo. Ako morate da provedete dugo vremena učeći jezik, to vas može obeshrabriti od programiranja. Pročitajte više o jezicima koje ste odabrali. Pregledajte literaturu koju ćete morati pročitati da naučite ove jezike. I odaberite one koje su opisane kao lake, ili koje vam se čine lakim. Takvi jezici mogu biti PHP, Ruby, Python.
  • Uzbuđenje procesa. Ako ne uživate u pisanju koda na odabranom jeziku, nećete uživati ​​u procesu, svom poslu ili životu. Da li ti treba? Napravite prave izbore.

Također ćete morati odlučiti o smjeru programiranja. Mobilni, desktop, igre, web, programiranje niskog nivoa i tako dalje. Najpopularnije i relativno jednostavne industrije su razvoj za web, mobilne i desktop klijente. Jedan jezik može biti prikladan za svaki smjer, a drugi nikako. Odnosno, pri odabiru programskog jezika također vrijedi poći od ovog faktora.

U svakom slučaju, naučite web tehnologije. Ovo je jezik za označavanje, stilovi i koji će vašu stranicu učiniti dinamičnom. Sljedeći korak je učenje jezika na strani servera (Python, PHP, Ruby i drugi) i web okvira koji su pogodni za to. Proučite 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 svaku knjigu 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. Komplikujte primjere i zadatke iz knjiga vlastitim idejama. Kreirajte vlastite zadatke za materijal koji ste pokrili. Riješite ove probleme.

Drugo, morate pronaći svoje prve projekte. Ovo je vjerovatno najteža opcija, ali funkcionira. Morat ćete sami tražiti narudžbe, ispunjavati ih i mučiti se s plaćanjem. Za početnika je ovo izuzetno teško, ali tada će sve druge opcije izgledati kao komad torte. Završeni projekti se mogu evidentirati kao iskustvo i pokazati budućem poslodavcu. Pravi projekti su veliki plus u vašem životopisu.

Ako znate engleski, bolje je da se registrujete na berzi na engleskom jeziku. 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 su na ili malo iznad vašeg nivoa vještina. Prijavite se za nekoliko desetina ovih poslova. I pripremite se da primite more odbijanja. Ali ako prođe jedna ili dvije aplikacije, imat ćete 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 program za praćenje grešaka i predložiti metode za njihovo rješavanje. Takve projekte možete lako pronaći na GitHubu ili . Slobodno postavljajte pitanja tamo.

Četvrta opcija za sticanje iskustva je pomoć kolegama programerima. Zamolite ih da vam predaju male, jednostavne zadatke. Ako nešto ne uspije, uvijek ćete imati kome da se obratite. A istovremeno ćete učestvovati u pravom projektu.

Posljednji način su vlastiti projekti, razni hackathoni ili rad u coworking prostoru. Teško je samostalno pokrenuti svoje 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. Takav jezik jeste 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 stekli osnovno razumijevanje onoga što se dešava u programu. Zbog Pythonove nekomplikovane sintakse, biće vam potrebno manje vremena za pisanje programa nego, na primjer, u Javi. Ogromna baza 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 ćete tamo staviti. Python je jezik opšte namene. A tako je jednostavno da ga čak i djeca mogu naučiti.

Iskreno rečeno, vrijedno je 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- još jedan veoma popularan jezik. I mislim da je čak i jednostavniji od Pythona. Na forumu je vrlo lako pronaći mentora ili rješenje problema. To je zato što u svijetu postoji ogroman broj PHP programera različitih nivoa. U PHP-u nema normalnog uvoza, postoji mnogo opcija za rješavanje istog problema. A to komplikuje učenje. A PHP je dizajniran 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. Ali zadatak prvog programskog jezika je i dalje da vas nauči nečemu ispravnom, da postavite 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. Čitajte udžbenike programiranja 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-je operativnog sistema i različite okvire. Programer mobilnih aplikacija uči 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, morate znati jednu od baza podataka, programskih obrazaca i struktura podataka. Također je vrijedno provjeriti spremišta kodova. Barem sa jednim. Potrebno je poznavanje sistema kontrole verzija. Odaberite Git, najpopularniji je. Morate znati alate sa kojima radite, operativni sistem i razvojno okruženje. A glavna vještina programera je da zna Google. Nećeš živjeti bez ovoga.

Poslednji koraci

Morate pripremiti životopis. Ne samo životopis, već i . 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 koji je naveden u vašem životopisu. Morate biti sigurni u svoje znanje. Pregledajte projekte na kojima ste radili, razmislite o tehnologijama koje ste koristili. I naprijed - u svijetlu budućnost sa novom profesijom programera.

Svoj put do karijere programera trebali biste započeti odgovorom na pitanje da li vam je programiranje uopće potrebno? Ovo pitanje se ne odnosi na one koji studiraju ili su studirali u specijalnosti bliskoj programiranju. Ako ste u školi bili bolji u matematici od humanističkih nauka, 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, morali smo da biramo gde ćemo ići da učimo, i izabrali smo moderan smer IT, koji nam se činilo da nam se dopao. 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 ili u kombinaciji s drugim metodama. Internet je pun aplikacija koje vam pomažu da naučite različite programske jezike i tehnologije. Ali ovo je najteži put za početnike.
  • Univerzitet. Ako završiš školu i želiš da budeš programer, onda idi na fakultet. Ako ne zbog znanja, onda zbog kore. Može poslužiti kao bonus prilikom prijave za posao. Iako ćete steći i neko znanje. Ali ne zaboravite da se obrazujete. Odabiru univerziteta treba pristupiti vrlo odgovorno. Pažljivo proučite programe obuke i odaberite najbolje tehničke univerzitete.
  • Mentor. Bit će jako dobro ako nađete osobu koja će pristati da vam pomogne i uputi vas u pravom smjeru. On će predložiti odgovarajuće knjige i resurse, provjeriti vaš kod i dati korisne savjete. Inače, već smo pisali o tome gdje možete pronaći mentora. Mentora možete potražiti među poznatim programerima, na IT zabavama i konferencijama, na online forumima i tako dalje.
  • Specijalizovani praktični kursevi. Pokušajte potražiti kurseve u svom gradu koji će vas naučiti nekom programskom jeziku ili tehnologiji. Bio sam prijatno iznenađen brojem takvih kurseva u Kijevu, uključujući i besplatne i sa naknadnim zapošljavanjem.

Koji jezik, tehnologiju i smjer odabrati

Kada postanete programer, nakon godinu ili dvije bićete slobodni da birate 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. Krajnji cilj ovog puta je pronaći posao programera. A to će biti teško učiniti ako niko ne traži programere u vašem programskom jeziku na tržištu rada. Provjerite sajtove za zapošljavanje, pogledajte ko je najtraženiji, napišite desetak jezika. I prijeđite na sljedeći kriterij.
  • Nizak ulazni nivo. Ako morate da provedete dugo vremena učeći jezik, to vas može obeshrabriti od programiranja. Pročitajte više o jezicima koje ste odabrali. Pregledajte literaturu koju ćete morati pročitati da naučite ove jezike. I odaberite one koje su opisane kao lake, ili koje vam se čine lakim. Takvi jezici mogu biti PHP, Ruby, Python.
  • Uzbuđenje procesa. Ako ne uživate u pisanju koda na odabranom jeziku, nećete uživati ​​u procesu, svom poslu ili životu. Da li ti treba? Napravite prave izbore.

Također ćete morati odlučiti o smjeru programiranja. Mobilni, desktop, igre, web, programiranje niskog nivoa i tako dalje. Najpopularnije i relativno jednostavne industrije su razvoj za web, mobilne i desktop klijente. Jedan jezik može biti prikladan za svaki smjer, a drugi nikako. Odnosno, pri odabiru programskog jezika također vrijedi poći od ovog faktora.

U svakom slučaju, naučite web tehnologije. Ovo je jezik za označavanje, stilovi i koji će vašu stranicu učiniti dinamičnom. Sljedeći korak je učenje jezika na strani servera (Python, PHP, Ruby i drugi) i web okvira koji su pogodni za to. Proučite 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 svaku knjigu 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. Komplikujte primjere i zadatke iz knjiga vlastitim idejama. Kreirajte vlastite zadatke za materijal koji ste pokrili. Riješite ove probleme.

Drugo, morate pronaći svoje prve projekte. Ovo je vjerovatno najteža opcija, ali funkcionira. Morat ćete sami tražiti narudžbe, ispunjavati ih i mučiti se s plaćanjem. Za početnika je ovo izuzetno teško, ali tada će sve druge opcije izgledati kao komad torte. Završeni projekti se mogu evidentirati kao iskustvo i pokazati budućem poslodavcu. Pravi projekti su veliki plus u vašem životopisu.

Ako znate engleski, bolje je da se registrujete na berzi na engleskom jeziku. 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 su na ili malo iznad vašeg nivoa vještina. Prijavite se za nekoliko desetina ovih poslova. I pripremite se da primite more odbijanja. Ali ako prođe jedna ili dvije aplikacije, imat ćete 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 program za praćenje grešaka i predložiti metode za njihovo rješavanje. Takve projekte možete lako pronaći na GitHubu ili . Slobodno postavljajte pitanja tamo.

Četvrta opcija za sticanje iskustva je pomoć kolegama programerima. Zamolite ih da vam predaju male, jednostavne zadatke. Ako nešto ne uspije, uvijek ćete imati kome da se obratite. A istovremeno ćete učestvovati u pravom projektu.

Posljednji način su vlastiti projekti, razni hackathoni ili rad u coworking prostoru. Teško je samostalno pokrenuti svoje 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. Takav jezik jeste 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 stekli osnovno razumijevanje onoga što se dešava u programu. Zbog Pythonove nekomplikovane sintakse, biće vam potrebno manje vremena za pisanje programa nego, na primjer, u Javi. Ogromna baza 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 ćete tamo staviti. Python je jezik opšte namene. A tako je jednostavno da ga čak i djeca mogu naučiti.

Iskreno rečeno, vrijedno je 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- još jedan veoma popularan jezik. I mislim da je čak i jednostavniji od Pythona. Na forumu je vrlo lako pronaći mentora ili rješenje problema. To je zato što u svijetu postoji ogroman broj PHP programera različitih nivoa. U PHP-u nema normalnog uvoza, postoji mnogo opcija za rješavanje istog problema. A to komplikuje učenje. A PHP je dizajniran 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. Ali zadatak prvog programskog jezika je i dalje da vas nauči nečemu ispravnom, da postavite 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. Čitajte udžbenike programiranja 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-je operativnog sistema i različite okvire. Programer mobilnih aplikacija uči 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, morate znati jednu od baza podataka, programskih obrazaca i struktura podataka. Također je vrijedno provjeriti spremišta kodova. Barem sa jednim. Potrebno je poznavanje sistema kontrole verzija. Odaberite Git, najpopularniji je. Morate znati alate sa kojima radite, operativni sistem i razvojno okruženje. A glavna vještina programera je da zna Google. Nećeš živjeti bez ovoga.

Poslednji koraci

Morate pripremiti životopis. Ne samo životopis, već i . 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 koji je naveden u vašem životopisu. Morate biti sigurni u svoje znanje. Pregledajte projekte na kojima ste radili, razmislite o tehnologijama koje ste koristili. I naprijed - u svijetlu budućnost sa novom profesijom programera.

1.1 Zašto vam je ovo potrebno

Budi pisar! To [ova pozicija] će vas osloboditi poreza, zaštitit će vas od svih vrsta posla. Ona će te skinuti sa motike i... a ti nećeš nositi korpu. Ona će te odvojiti od veslanja i veslanja, ukloniće te od nevolja. Nećete biti pod mnogim vladarima i mnogim vladarima.
[...]
Postanite pisar! Njegovi članovi su glatki, a vaše će ruke postati mekane. Kad izađete, obučeni ste, uzvišeni ste, ispitani ste od dvorjana. Kada traže nekoga vješta, nađu vas. Oni koji ništa ne znaju traže naučnika. Uzdiže se do te mjere da dobije titulu ser, hvaljen za odlično ponašanje.

Papirus Apastasi II, Stari Egipat

Vrijeme prolazi, ali ništa se ne mijenja. Glavni razlog je taj što su programeri veoma potrebni na tržištu rada. Potražnja je osnovni uzrok svih ostalih faktora. Dobri uslovi rada, visoke plate, lojalan menadžment. Sve ovo izgleda veoma, veoma atraktivno. Zapravo, profesija programera jedini je društveni lift u našem vremenu. Ne trebaju vam bogati roditelji, široke veze sa svim vrstama „pravih ljudi“, prestižno visoko obrazovanje i drugi atributi uspješnih ljudi našeg vremena. Sve što vam treba je sposobnost kreiranja kompjuterskih programa ili web stranica. Možete početi programirati dok živite u najudaljenijoj i najneprestižnijoj provinciji. I postići fantastičan uspjeh u životu.

Otprilike, u najgorem slučaju, vaša bi karijera mogla izgledati ovako. Prvo, šest mjeseci do godinu dana samostalnog studija. One. učiti bez velike pomoći spolja. Maksimalno što možete učiniti je pitati nešto na tematskim forumima. Oni će vam sigurno pomoći. Ali 99% će biti čitanje velikih debelih knjiga i izvođenje vježbi odatle, 3-4 sata svaki dan. Tada možete biti plaćeni za svoje znanje. I biće moguće naći takav posao. Nakon što ovako radim godinu dana, najčešća plata je 300-400 dolara. Imaćete iskustvo koje će vam otvoriti sva vrata u životu. Možete dobiti 1000 dolara ili više na daljinu i/ili se preseliti tamo gdje vam se najviše sviđa. Čak iu drugu zemlju. A živjeti tamo nije ništa lošije od lokalnog stanovništva. Ne podržavam glupi slogan "izlazi iz...", ali ako zaista želiš promijeniti prebivalište. Ovo zanimanje je najkraći i najlakši put.

Jednom kada završite staž, nikada vam neće biti gore. Ovo će biti veoma teško. Čak i čisto psihološki, profesija je opuštajuća. Nećete se plašiti kriza, ratova, prirodnih katastrofa i lošeg upravljanja. Jer u svakom trenutku možete se preseliti bilo gdje i promijeniti posao na drugi. Uvek ćete imati dovoljno novca za „peku i puter“, pa čak i za prevremenu otplatu hipoteke.

1.2 Ko može postati programer?

Sada malo katrana. Programer može postati svako ko može da radi svojom glavom. U stvari, rad glavom je težak kao i težak fizički rad. Kada je mozak pod opterećenjem, troši mnogo nutrijenata i energije. Mora biti prisiljen da radi silom volje. Ljudi koji vole da rade glavom ne mogu se naći češće nego ljudi koji vole fizičku aktivnost. Svi znamo koliko ljudi može dobrovoljno raditi vježbe ujutro i godinama redovno ići u teretanu. Otprilike isti broj želi dobrovoljno opteretiti svoj mozak radom. Biće potrebna volja i strpljenje. Ako ste spremni da rešavate složene probleme, „nerešive“ probleme duže od godinu dana, možete postati programer.

Naravno, u ovom dijelu sam morao navesti kakvo obrazovanje treba da imate. Koje kurseve, diplome i kompetencije trebate imati? Ali sve je to sekundarno. Jer se stiču diplome, kompetencije i kursevi. Ako niste spremni da grizete granit nauke, ništa vam se neće dogoditi. Inače, sva potrebna znanja možete steći za šest mjeseci.

Sasvim je logično da što bolje poznajete računar, to će vam put biti lakši. Morate biti sposobni da koristite računar kao iskusan korisnik. One. znati šta je sistem datoteka, dijelom kako tamo pohraniti svoje datoteke, kako ih otvoriti različitim programima, kako instalirati programe i koristiti bilo koji od njih, ako to ne zahtijeva nikakvo posebno znanje o tome šta ti programi rade. Mislim da za šest mjeseci možete naučiti dovoljno koristiti računar. Čak i ako ga nikada prije niste vidjeli.

Većina onih koji žele da postanu programeri su ljubitelji kompjuterskih igrica, čiji su roditelji isključili internet kako bi ih vratili u stvarnost. Povratak u stvarnost, gde treba da se hranite, a ne virtuelni lik. Zaposleni su kod sistem administratora na najnižem nivou. Odlaze na posao u tehničku podršku jer je kompjuter jedino što mogu dobro da koriste. Takvi ljudi već imaju potrebno znanje.

Ako imate poteškoća u komunikaciji sa računarom, moj savjet vam je da prvo naučite da ga samouvjereno koristite. Makar samo zato što problemi sa kojima ćete se susresti tokom studiranja programiranja zahtijevaju isti pristup i vještine kao kod rješavanja problema običnog korisnika. Stoga, neiskusni korisnici moraju postati iskusni. Postoji ogromna količina besplatne literature, interaktivnih kurseva, video tutorijala i iskusnih korisnika koji će vam pomoći. Barem su zadaci pri učenju programiranja za red veličine teži od zadataka jednostavnog korisnika. Dobro poznavanje rada na računaru je obaveza svakog programera!

Ostala znanja, kao što su strani jezici, pa čak i matematika, mogu se smatrati beznačajnim u početnoj fazi.
Naravno da će biti ljudi koji će pitati: „Čekaj!!! Šta ako sam glup (star, invalid itd.)??? Koliki bi trebao biti moj IQ???

U stvari, ne postoji 100% način da odredite svoje sposobnosti programiranja na osnovu nekih formalnih kriterijuma. Prema jednom popularnom naučniku, neurofiziologu, ljudski mozak je veoma promenljiv. Ako težina, visina i veličina glavnih ljudskih organa variraju, uslovno +\-50% kod većine odraslih osoba, tada se veličine moždanih režnjeva razlikuju desetine puta. Stoga je vrlo teško razumjeti koja je aktivnost najprikladnija za vas. Da bismo to učinili, moramo napraviti novu vrstu već ludo skupog medicinskog uređaja. Zatim unajmite rijetke i skupe stručnjake koji će analizirati očitanja uređaja. A u isto vrijeme, nije činjenica da za vaš novac jednostavno neće pogriješiti. Kao što se dešava u svim složenim i skupim projektima, u početnoj fazi.

Naravno, svi misle da se sve može svesti na nešto poput prijemnog ispita na fakultet, gdje će glavni predmet biti matematika. Ali ne! Žurim da uznemirim sve. Matematika spolja izgleda slično programiranju, ali to je samo na prvi pogled. Sjećam se da sam prije 10 godina pročitao odlomak iz knjige u kojoj je autor, iskusni programer, rekao da je programiranje više nalik lingvistici. Da da! Po njegovom mišljenju, profesionalni lingvisti mogu biti bolji programeri od profesionalnih matematičara! Ne mogu da se složim 100%. Ali u tome postoji racionalno zrno.

Pogledajmo primjer. Potrebno je da napišete upute za vaše dijete da kupuje namirnice u trgovini. Kao: „Ideš u prodavnicu, tražiš šećer od trske, ako ga nemaš, kupi običan šećer. Onda kupite hleb, veknu belog i crnog. Ako nemate crnu, kupite sivu...” Iznenadit ćete se, ali ovakva uputstva su čisto programiranje. Štaviše, možete ih pisati na stranim jezicima. Ili možete, koristeći sintaksu programskog jezika na isti način kao stranog. I drugi programer će moći da razume šta je napisano.

Za one koji ne vjeruju, pogledajmo jednostavnu logiku implementiranu u stotine programa. “Upitajte broj redova dodijeljenih u tabeli. Ako je količina veća od nule, aktivirajte dugme "Primijeni". Inače pasivno...” Ovaj algoritam možete napisati i na prirodnom maternjem ili stranom jeziku ili na nekom programskom jeziku.
Također ćete se iznenaditi, ali prevođenje algoritama s prirodnog jezika u programski jezik je najčešći posao. Kada programer dobije zadatak da implementira jasnu logiku koju su drugi izmislili. I obrnuto, prevođenje programirane logike na prirodni jezik je također neophodno. Kada ovi „drugi“ treba da opišu tačno kako program funkcioniše. Da, tako je, C++, PHP i drugi programski jezici mogu se shvatiti kao posebni strani jezici. Matematika je također potrebna, ali po pravilu pri obavljanju nekih visokospecijaliziranih zadataka s kojima se možda nikada nećete susresti. Možete početi bez ikakve matematičke pripreme.

Programiranje je posebna grana nauke. To je na neki način povezano sa matematikom. Ali može se povezati i sa lingvistikom. Sigurno je da su tehnologije individualnog programiranja povezane sa nečim drugim. Stoga, ne možete samo reći hoćete li uspjeti ili ne.

1.3 Tri etape na putu do profesije

Sada kada ste dovoljno umorni od svih programskih gluposti i nekih iznenađujućih činjenica, vrijeme je da pređete na svoje učenje. Vaš profesionalni razvoj treba da se odvija u tri faze:

1) Probni period. Trebali biste isprobati ovu aktivnost.
Činjenica je da je za savladavanje profesije potrebno šest mjeseci ili čak godinu dana učenja. I morate što prije shvatiti da li možete ili ne. Treba li uložiti svoje vrijeme, pa čak i novac? Ili ćete se razočarati.

U ovom periodu potrebno je savladati 2-3 prave programske tehnologije. Ali ne bi trebalo mnogo vremena da ih savladaju. Ako to možete podnijeti, ima smisla potrošiti obećanih šest mjeseci ili godinu dana na sljedeću fazu.

2) Samostalni studij.
Ako ste prošli prethodnu fazu, možete uložiti svoje vrijeme u savladavanje profesije.

3) Pripravnički staž.
Vaš prvi posao i prvi novac.

2 Probni period

2.1 Šta učiniti?!

Zaista postoji samo jedan način da znate da li možete ili ne. „Da biste započeli programiranje, morate započeti programiranje. A da biste počeli programirati, morate početi programirati!”

Mnogi ljudi programiranje smatraju teškim zadatkom; morate znati mnogo stvari da biste radili kao programer. I to je istina. Da je lako, ne bi dobili tako visoke plate. Ali s druge strane, postoji mnogo knjiga u javnom vlasništvu. I većina ih je visokog kvaliteta. Profesionalci iz velikih kompanija obično pišu ogromne knjige ili članke u kojima drugima opisuju svoje neprocjenjivo iskustvo. Čudni ljudi naravno. Umjesto da za svoj rad primaju ogroman novac, oni se bave pisanjem knjiga, za koje plaćaju manje, ili čak ništa. O ovim "neobičnostima" će biti reči kasnije. A sada moramo jasno shvatiti da u ovoj profesiji ima vrlo malo tajni. Većina pitanja se može riješiti pretraživanjem na internetu. Stoga, uprkos složenosti, programiranje je jedna od najpristupačnijih profesija.

Tokom probnog perioda, morate odlučiti o tehnologijama s kojima ćete početi. Ne bi trebalo da budu previše komplikovane ili da im treba mnogo vremena za učenje. Ali, s druge strane, oni moraju biti traženi na tržištu, kako ni tih par sedmica ili mjesec dana utrošenih na njih ne bi bili uzaludni.

Lično, moje mišljenje je da bi trebalo da bude:

2.1.1 HTML
Veoma jednostavan programski jezik. Da budemo precizniji, ovo čak nije ni programski jezik na koji su svi navikli. Proceduralni i objektno orijentisani, kao što su C++, PHP, Ruby, itd. Nemoguće je na njemu napisati "šta raditi u radnji". Ovo je jezik za označavanje koji ćete naći na bilo kojoj web stranici. Uputstva na ovom jeziku izgledaju otprilike ovako: “Ovaj pasus treba da ima kurziv font”, “Ovdje prikaži sliku slike.png”, “Veličina fonta ovog dijela teksta je 12 poena. Boja je crvena."

To je vrlo koristan jezik za početnike. Čak i ako se ne planirate baviti web razvojem, ovo znanje će vam biti od koristi. Približno vrijeme razvoja: 2-5 dana. Istovremeno, nije potrebno pamtiti opsežne referentne podatke. Dovoljno je naučiti kako koristiti ove iste priručnike. Među programerima, HTML se ne smatra nečim ozbiljnim i složenim. Ali nepoznavanje osnova HTML-a je nešto što možete priznati samo onima koji su vam najbliži. Poslodavci i kolege će vas doživljavati kao mentalno retardirane.

Dok budete učili HTML, stalno ćete se susresti sa referencama na CSS tehnologiju. Studiranje u ovoj fazi nije neophodno. Ali ako se zainteresujete za CSS, ovo znanje vam neće biti suvišno.

2.1.2 JavaScript

Ovo je već "pravi" programski jezik. Njegova studija je usko povezana sa HTML-om. Tu vas očekuju prve prave poteškoće. Iako postoji ogroman broj udžbenika o jeziku, video lekcija i svih vrsta web stranica, gdje je sve sažvakano do najsitnijih detalja. Ovo će biti pravi test.

Sigurno neko jedva čeka da počne učiti C, Python, pa čak i Haskell. Ali čak i ako planirate da postanete sistemski programer. Najvjerovatnije ćete prije ili kasnije naići na HTML i JS.

Jedan od razloga za odabir JS kao prvog programskog jezika je njegova primjenjivost u različitim oblastima. Počevši od logike web stranica na strani klijenta. Završavamo sa QML jezikom nalik JS-u, gdje nas programeri Qt frameworka vuku za uši.

Ako programer početnik ne zna jednostavne stvari, mala je razlika odakle početi. Predložene tehnologije ne zahtijevaju velika i teška okruženja za razvoj i izvršavanje. Postoji mnogo udžbenika i priručnika o njima na ruskom jeziku. Nema potrebe da se zbunite s adresnom aritmetikom i sličnim specifičnostima. Vaš zadatak je naučiti kako napraviti osnovne logičke konstrukcije kao što su petlje, grane itd.

Svaki udžbenik sadrži vježbe. I u početnoj fazi trebate raditi ove vježbe. Što veće, to bolje!

Međutim, postoje dvije male kategorije ljudi koji mogu zamijeniti JS nečim drugim:

1) Oni koji imaju dobre mentore u drugim programskim tehnologijama.
Na primjer, brat/matchmaker koji radi kao sistemski programer S. I on je spreman da vam pomogne. U ovom slučaju, C može biti poželjniji. Ali koliko ja znam, oko 30% programera su WEB programeri. Tako da je velika vjerovatnoća da će JS biti pravi izbor.

2) Ljudi kojima je trenutno potreban neki drugi jezik za posao. Sistemski administratori obično koriste SQL i bash.

U slučaju SQL-a, ne bih se zavaravao. Ovo je takođe „lažni“ jezik. Složenost između HTML-a i JS-a. Najvjerovatnije će to u svakom slučaju morati naučiti svi. Ali s vremenom bih vam savjetovao da ipak pokušate nešto poput JS-a koji podržava proceduralne i OOP paradigme. Još uvijek postoji korist od učenja SQL-a. Ako to ne savladate, nema smisla nastaviti.

Ali sa bash-om je sve drugačije. Čuo sam da JS omogućava zamjenu bash-a kroz modul u node.js. Dakle, ako trebate pisati skripte od nule, JS će biti zanimljiviji. Ako ispravimo ono što je prije tebe napisano, onda nema drugog izbora. Baš kao i kod SQL-a, JS će ostati u vašem redu čekanja.

2.2 Tutorijali

Veoma važno pitanje je koja nastavna sredstva koristiti. Evo opcija u uredu kroz koje moraju proći.
  1. Video lekcije. Ima ih puno na bilo koju temu. Youtube će definitivno obezbijediti playliste za bilo koju popularnu tehnologiju. Čak i na ruskom. Tamo je sve jasno i možete početi klesati svoj prvi „Zdravo, svijete!“ to je neophodno od njih. Postoji samo jedan nedostatak. Možda neće obuhvatiti sve dubine jezika koji se proučava. Ali bez ovoga ćete imati dovoljno problema.
  2. Multimedijalni udžbenici. Najvjerovatnije su to kolekcije video tutorijala plus još nešto. Vrlo često se prodaje za novac.
  3. Knjige. Najteže za razumjeti. Oni samo pokrivaju više suptilnosti različitih tehnologija. Sačuvaj za kasnije. Kada iscrpite mogućnosti prethodnih opcija.
Ali samo molim, ovdje i dalje. Nema potrebe kupovati bilo kakve kurseve ili plaćati čudesne udžbenike. Sva „čuda“ već dugo leže, najviše na torentima. Po mom mišljenju, rutrracker, zabranjen u Rusiji, sadrži najbolju kolekciju multimedijalnih udžbenika i knjiga.

2.3 Rješavanje tehničkih problema

Pokazujući snagu volje i strpljenje, herojski ste počeli proučavati tu temu. I počeli ste da se suočavate sa svim vrstama tehničkih problema. Sve možete učiniti prema uputama. Ali vaši primjeri možda neće raditi. Ako samo zato što su uputstva možda bila napisana za prethodne verzije softverskih alata. Najteži korak može biti kada prvi put pokrenete izvorni kod koji ste jednostavno kopirali iz vodiča.

Najčešće greške se odnose na činjenicu da početnici imaju tendenciju da žure i neke stvari smatraju opcionalnim. Vi, kao i svaka normalna osoba, mislite da u knjigama o programiranju ima sitnica. Vjerovatno želite brzo postići rezultate, u obliku pozicije pripravnika. A onda ćete, okruženi kompetentnim kolegama, sve razumjeti i temeljno proučiti. Dakle, "neki vodič" o JavaScriptu koji vam neće biti ni primarni jezik. Može se shvatiti kao maratonska distanca koju treba brzo preći. Zapravo, svaki udžbenik programiranja treba doživljavati kao polje koje treba preorati. Svako kome nedostaju sitnice završavaju sa nerešivim problemima. I umjesto društva kompetentnih kolega, ponovo se suočavaju sa potpunom usamljenošću u proučavanju gradiva.

Na primjer, da li ste loše zapamtili neki manji termin? I nakon nekoliko dana, interpreter koda ili kompajler će vam dati opširnu poruku o grešci. U kojoj će biti na desetine pojmova, kako onih koji su se ranije susretali u udžbeniku, tako i onih koji se nisu susreli. A greška koju prepoznajete može biti ključna. Nakon što ga popravite, svi ostali će magično nestati. Većina razloga za napuštanje škole u početnoj fazi odnosi se na sortiranje grešaka koje generiše interpretator ili kompajler.

Mislite li da je detaljan opis korištenja navodnika s aritmetičkim operacijama neka luda glupost koju nikada nećete koristiti? Ne možete. Ali autor to smatra jednostavnim. Stoga će se dalje u udžbeniku svuda pojavljivati ​​dodavanje simbola sa i bez navodnika. Ali čak i ako odlučite da je bolje uzeti udžbenik na nekom drugom programskom jeziku u koji polažete velike nade. Takođe će vas mučiti redovima poput „5“ + 3. Štaviše, istim „glupim“ opširnim objašnjenjima.

Nerešivi problemi su deo života svakog programera. I koliko god marljivo sve radili, nećete im pobjeći. Lično, čak i pored 5 godina iskustva, takođe gledam knjige o nečemu nejasnom i složenom. I ponekad pomislim: „Ovo je neka glupost. Kako ću ovo riješiti?!" I apsolutno isto kao i tvoje. Za mene mnogo zavisi od rješavanja problema koji se čine potpuno slijepim.

Ako imate problema koje možete riješiti na forumu ili tematskoj grupi na društvenoj mreži, onda je s mojim problemima beskorisno.

Zapravo, postoji poseban algoritam za njihovo rješavanje:

1) Morate vrlo pažljivo razmisliti o razlozima. Analizirajte poruke kompajlera, runtimea ili interpretera (JavaScript) povezane s greškom. Morate vrlo dobro razumjeti šta vam računar govori o problemu. Ako ne razumijete, pretražite internet po tekstu ili kodu greške. Vrlo često postoje objašnjenja, ali na engleskom. Čak i nakon prijevoda, malo toga se može razumjeti. Ali morate se jako potruditi. Ne radi se zapravo samo o situaciji u kojoj rješavate konkretan problem. Ovo je situacija u kojoj stičete nova iskustva. Ništa manje važno od znanja iz udžbenika. Uz to se analizira potencijalno problematičan kod. Ako ste odnekud prepisali ili kopirali kod, morate ga temeljito razumjeti.
Ako vam se za sat i po do dva čini da ste sve istražili i razumjeli. Ali nisu našli rješenje. Dakle, moramo ostaviti problem za sutra. Čak i ako ima više ideja.

2) Uradite nešto drugo što ne zavisi od vašeg problema i funkcioniše. Možete čak i nastaviti proučavati svoj trenutni vodič za učenje. Iznenadit ćete se, ali s vremenom će doći ideje kako riješiti problem. Ako nisu sasvim jasni. Nije preporučljivo žuriti s rješenjem odmah. Bolje je to zapisati i ostaviti za sutra.

3) Sutradan ili bilo koji drugi dan. Pokušavamo s novim idejama da riješimo problem. Ponavljamo prvu fazu.

4) Ako je i dalje sve loše, pripremamo pitanje za mentora ili za forum. Morate jasno razumjeti šta želite da uradite. A koja je tvoja šifra? Zamoliti ljude da shvate kod za vas koji se niste ni potrudili da temeljno proučite pokazuje potpuno nepoštovanje.

U pravilu, to je sasvim dovoljno za rješavanje bilo kakvih problema.

2.4 Rad sa mentorima

Mali skup pravila za rad sa raznim iskusnim stručnjacima, trenerima, mentorima itd.
  • Prije nego što pitate, pokušajte sami pronaći rješenje.
  • Pokušajte pitati samo ono što nije opisano u knjigama, dokumentaciji i internetu. U suprotnom ćete biti poslani tamo.
  • Ako vas negdje pošalju, morate otići tamo. U suprotnom, mentor će sam otići tamo i pronaći rješenje. Ovo će uveliko pokvariti njegovo mišljenje o vama.
  • Kako vaš mentor ne bi satima stajao za vašim stolom i pratio svaki vaš pokret, morate grupirati pitanja. Pitajte ih "na veliko", mnogo se nakupilo u jednom trenutku. A ne onako kako se pojavi.
  • Bolje je postavljati pitanja kada je vaše kretanje naprijed blokirano. Ako treba još nešto da uradite, uradite to. To također može pokrenuti pitanja. Koje je najbolje pitati zajedno.

3 Samostalna studija

Zauzmite svoje mjesto! Knjige su već pred vašim drugovima. Uzmi svoju haljinu i pobrini se za svoje sandale. Čitajte knjigu marljivo. Ne provodite dan besposleno, inače teško vašem tijelu! Pišite rukom, čitajte ustima, tražite savjet od nekoga ko zna više od vas.

Ne provodite dane besposleni, inače će vas tući, jer dječaku je uvo na leđima, a on sluša kad ga tuku.

Ne budi osoba bez razuma i obrazovanja! I noću te podučavaju, a danju se obrazuju, ali ne slušaš nikakva uputstva i radiš ono što namjeravaš. I lavovi su dresirani, i konji pripitomljeni - i samo vi! Ne postoji niko kao ti u celoj zemlji. Zabilježite ovo sebi!

Kažu mi da napuštaš studije, prepuštaš se užicima, lutaš od ulice do ulice gdje miriše na pivo. A pivo zavodi ljude, uznemiruje ti dušu. Vi ste kao kapela bez svog boga, kao kuća bez hleba. Uče te da pevaš uz flautu. Sjediš pred djevojkom i namazan si tamjanom. Tvoj venac od cveća visi ti oko vrata.

Vezaću ti noge ako lutaš ulicama i bičeš batina nilskim konjem!
Uputstva za pisara. Drevni Egipat

Nakon savladavanja osnova JavaScripta. Već imate dobru ideju o tome šta znači pisati programski kod.

I spremni ste da provedete šest mjeseci do godinu dana savladavajući profesiju. I što je važno, za vas je to pitanje vremena.

3.1 Šta studirati?

Svi ljudi koji žele savladati bilo koju profesiju mogu se podijeliti u dvije kategorije: amateri i profesionalci.

Lovers, ljudi koji vole ovu aktivnost. I spremni su to učiniti čak i besplatno. Žrtvovanje vremena koje bi se moglo potrošiti na zabavu, relaksaciju itd. Pošto ste to isprobali, savršeno dobro razumijete volite li programiranje ili ne. Amateri imaju jedan veoma dobar kvalitet. Ne moraju biti motivisani. Radit će vrijedno, savjesno i uživati ​​u sticanju novih znanja. Tada će isto tako rado podijeliti ovo znanje sa kolegama i prijateljima. Ali većina amatera piše članke, pa čak i cijele knjige o svojim iskustvima.

Profesionalci oni su spremni da to urade samo za novac. Ili zbog mogućnosti da ih primite. Profesionalci moraju biti motivisani. I gotovo uvijek prestaju u svom razvoju čim dobiju dobar posao. Čak i povećanje plate dva puta možda nije dovoljan razlog da nastave studije. Po pravilu, samo amateri su pogodni za napredni trening.

Naravno, rijetki su čisti profesionalci i amateri. Neki ljudi vole da rade pola ili četvrtinu. Neki ljudi, isprobavši različite tehnologije, pronađu nešto što im se sviđa.

Recimo da je programer radio za novac. Jednom je imao priliku otići do kupca i razjasniti zahtjeve sa direktnim korisnicima. I programer je razumio. Posjeta računovođama je mnogo zanimljivija od pisanja koda. Kao rezultat toga, programer će putovati za cijeli tim. Čak i nakon radnog vremena. Postepeno se prekvalificira za sistemskog analitičara ili projektnog menadžera.

Ali u osnovi, oni pokušavaju različite tehnologije. Neki od njih očaravaju, a neki ne. Čak i ista tehnologija vas može očarati u početku, ali nakon godinu dana postane dosadna.

Veoma je važno da svaka osoba shvati koja aktivnost najviše voli. Jer o tome uveliko zavisi životna udobnost. Uobičajena je zabluda da je rad samo za zarađivanje novca. Iako je ovo ogroman i najbolji dio života. Na poslu možete biti kreativni, komunicirati i još mnogo toga. Ako zbog novca idete na posao koji vam se ne sviđa, to ćete morati nekako nadoknaditi zabavom i opuštanjem. Kao rezultat toga, možda neće biti dovoljno novca ni za kompenzaciju.

Najplaćeniji stručnjaci su amateri sa iskustvom. Oni najviše uživaju u poslu i životu. Stoga, u ovoj fazi morate odlučiti šta vam se najviše sviđa.

Tehnologija (programski jezik koji ćete naučiti) mora biti komercijalno tražena. Od TOP 10 popularnih jezika. U suprotnom nećete moći dobiti novac za svoj rad. To znači da nećete postati programer. Morat ćete zaraditi odvojeno, posebno programirati. Što je, naravno, nemoguće.

Pred vama je još stažiranje. I rado primaju praksu samo u specijalnostima kojih nema dovoljno. Pogotovo na daljinu. Zato razmislite/odlučite čemu želite da posvetite svoj život. Šta ćete studirati u ovoj fazi? Možete nastaviti s JavaScriptom. Možete probati nešto drugo. Niko ti ne smeta da se predomisliš na pola puta. Već ste se testirali i postoji određeno polje za eksperimentisanje.

Jedini izuzetak koji bih napravio je za C++. To je složen jezik. Vjerovatno je potrebno duplo duže da se savlada. Nego samo C ili JS. U tom slučaju, plata će biti uvećana za najviše 20%. C++ je jezik ljubitelja C++-a.

Ako vam se ne sviđa JS, a osjećate se kao “profesionalac” koji je gore opisan, Java je vjerovatno vaš najbolji izbor. Jednom nisam mogao ni pokrenuti program napisan na ovom jeziku (jar arhiva). Ali, s druge strane, Java programeri u sprezi sa Oracleom (PL\SQL) iz velikih korporacija su možda najplaćeniji programeri u IT-u. Unatoč činjenici da se radi o tehnologijama prosječne složenosti. (Pretpostavljam da u Java svijetu plaćaju samo za mogućnost pokretanja jar datoteka.)

Postoji i divan jezik koji se zove Python. Biće veoma korisno za sve vrste matematičara i statističara, jer... otvara im vrata u svijet nauke o podacima. S druge strane, to je jezik za web razvoj za sve ostale.

Studiranje u ovoj fazi ima za cilj maksimalno poboljšanje vaših kvalifikacija. U stvari, vi ćete povećati tržišnu cijenu svog rada. Budite sigurni, sve što izgubite zbog programiranja u ovoj fazi bit će vraćeno višestruko.

Samostalni studij ima prednost u odnosu na praksu. Možete steći fundamentalnija znanja. U stvari, većina programera su profesionalci. Naučili su malo. Moramo na posao. I koriste svoje malo znanja. Većina onoga što čitaju su kratki članci o tome kako brzo nešto napraviti. Ili začepi bilo kakav problem. Zaista im nedostaje osnovno znanje. Iznenadićete se, ali nije sve moguće
"Pretraži to." Nešto što morate znati i moći od početka. Makar samo zato što ćete morati da se nosite sa onim što ste „guglali“. Kod koji nađete mogao bi napisati vrlo dobar stručnjak. Ako vam nedostaje osnovno znanje, jednostavno ga nećete razumjeti.

Trebali biste za sebe odabrati veliku, fundamentalnu knjigu o bilo kojem programskom jeziku. I proučite ga do kraja. Uz sve studijske zadatke.

Izvršavanje obrazovnih zadataka u ovoj fazi je težak, turobni zadatak! Biće vam dosadno, nezainteresovani i poželećete da napustite sve. Većina ljudi upravo to radi. Motivirajte se, smislite zanimljive zadatke, nastavite sa učenjem. I nećete biti ovakva većina.

Pored osnovnog programskog jezika kao što je C, Java, JS, itd., potrebno je da naučite sledeće:

engleski jezik
Kao što znate, programeri su ljudi koji mogu čitati engleski, ali ne govore. Ovo je jezik na kojem ćete tražiti rješenja za svoje probleme i komunicirati s kupcima. Govorni engleski uvelike proširuje spektar traženja posla. Ovo veoma dobro utiče na plate. Mada, moram priznati, na njega možete potrošiti koliko i na programski jezik.

Tehnički engleski je lakši za naučiti. Jednostavno prevedite materijale koji su vam potrebni koristeći različite prevodioce. Zapamtite nepoznate riječi.

SQL
U većini slučajeva, ova tehnologija će vam trebati prije ili kasnije. Nije potrebno učiti dodatke poput PL\SQL (osim za učenje Jave). Ali ovladavanje kreiranjem tablica, spojeva i spojeva je vrlo poželjno. Najkorisnije će, možda, biti proučavanje koristeći PostgreSQL kao primjer.

SQL ima još jedan aspekt. Ovaj jezik je možda najteža stvar koja se traži kada se konkuriše za posao testera. Stoga, ako samo to naučite, postoji šansa da dobijete posao vrlo blizak programiranju. U takvom poslu bit će malo lakše naučiti samo programiranje. I vrlo lako ćete biti prebačeni sa testera na programere. Čim pokažete da možete napisati dobar kod.

Savladajte "slijepo" metodu kucanja s deset prstiju na tastaturi
Ima dosta toga za štampanje. Stoga ga svakako savladajte. Na webu postoji mnogo besplatnih online trenera. Možete pokušati da ga savladate prije prve, “testne” faze. Ako nemate strpljenja ni za to, nema smisla ići dalje.

Sistemi kontrole verzija
Naravno da će to biti Git. Obavezno naučite osnove i isprobajte ih u vlastitim obrazovnim projektima. Ali na kraju, ali ne i najmanje važno. U početku će biti teško razumjeti šta je to i koje prednosti pruža.

Ovi predmeti su dobri jer vam omogućavaju da održite tempo učenja. Čak i kada zapnete u učenju glavnog jezika. Najvjerovatnije ćete imati opisane “nerješive” probleme. Prebacite se ovdje i polako tražite rješenje.

3.2 Uobičajene metode sticanja znanja

Univerzitet
Mogu vam reći mnogo o visokom obrazovanju. Ali ovo nema praktičnog značaja. Ukratko. Bolje je biti pripravnik nakon godinu dana samostalnog studija nego nakon četiri godine studiranja na fakultetu. Oni koji sada počnu da studiraju po mojim preporukama, za 4 godine će vršiti tehničke testove prilikom zapošljavanja onih koji sada upisuju fakultete.

Plaćeni kursevi obuke programera
Ovde je sve veoma teško. Potražnja stvara ponudu. Ali ova ponuda je često vrlo lošeg kvaliteta. Možete probati bilo koji od njih. Ali, molim vas, nemojte se nadati. Pokušajte da pohađate prve časove besplatno. I bježi odatle ako ništa ne razumiješ na času. Nijedan od brendova pod kojima su ovi kursevi napravljeni neće doprinijeti vašem razumijevanju teme. „Garancija posla“ je obično prevara.

Kurseve i škole koje provode velike kompanije za svoje buduće zaposlene
Najpoznatiji slučaj je možda Yandex škola za analizu podataka.

Ovdje će vas podučavati zaista skupi stručnjaci. I to će učiniti za svoje unutrašnje potrebe. Takvi kursevi po pravilu imaju određene uslove za kandidate. Yandexu je bila potrebna matematička obuka. EPAM je zahtijevao poznavanje osnova programiranja. Jednostavno ne možete stići tamo. Ali ako imate priliku da pohađate ove kurseve, svakako se isplati otići tamo! Čak i ako ostanete u "ropstvu" ovih kompanija za nekih 400-500 dolara mjesečno cijelu godinu. Veliki plus ovakvih kurseva. Ne zahtevaju nikakvo obrazovanje.

3.3 Strategija učenja

Većina studenata očekuje da će naučiti programiranje jednostavnim učenjem. Kao da sam seo za udžbenik ne znajući predmet, ali sam ga završio sa učenjem i počeo sve da razumem. Početnicima se cijeli proces čini linearnim. Prelazeći od poglavlja do poglavlja, prolazeći kroz obrazovne zadatke, čovjek stiče znanje. Ljudi ne mogu zamisliti druge modele. Jer nikada nismo radili složene i dugotrajne projekte. Ali u stvarnosti, sve nije tako jednostavno. Svaki programer zna da se tokom implementacije projekta neizbježno otkrivaju novi detalji koji ometaju ili, naprotiv, pomažu u njegovoj implementaciji. Po pravilu, što je veći projekat, to manje liči na ono što je prvobitno zamišljeno.

Jednostavan primjer. Naručili ste odijelo od krojača. Razgovarano je o svim detaljima. Nedelju dana kasnije zove se majstor sa vestima da dogovoreni oblik šavova jako loše stoji na odelu i da ga treba promeniti. Tada se ispostavi da je potrebno promijeniti dio materijala. Nema potrebe. Vi se mijenjate i mijenjate. Na kraju dobijete oko 2/3 onoga što ste prvobitno planirali. U slučaju razvoja softvera. Projekt poslovnog odijela može rezultirati kupaćim kostimom. I to po cijeni odijela. Ako mislite da je ovo nevjerovatno, onda pitajte pametne projekt menadžere. U međuvremenu, morate naučiti jednu stvar, bit će mnogo neočekivanih stvari u vašem studijskom projektu. I sa ovim iznenađenjima morate biti u stanju raditi.

Bez udubljivanja u džunglu upravljanja projektima, ne biste se trebali razvijati u IT linearno, kao što je opisano na početku. I "u spiralu". Izgleda otprilike ovako. Ako ne poznajete dobro kompjuter. Nema potrebe da zamišljate da ćete za godinu dana biti C++ ili PHP programer. Prvo naučite računar. Otvaraju vam se nove mogućnosti i prepreke. Na primjer, počeli ste shvaćati više o tome šta na kraju želite učiniti, web stranice ili desktop aplikacije. Zatim, tokom probnog perioda, pokušat ćete programirati za web (html, js). Naučit ćete još više o programiranju. Nakon probnog perioda, već možete praviti planove za svoj glavni pravac. Koji jezik ćeš učiti? Neko na samom početku svog puta možda nije sumnjao u sistemsko programiranje. Da postoji poseban pravac u kojem programeri pišu programe koji su nevidljivi prosječnom korisniku. A možda će vam ovo biti zanimljivije od onoga o čemu ste u početku sanjali.

Proces učenja će svakako uključivati ​​čitanje udžbenika i rješavanje problema iz njih. Ali sam redoslijed i redoslijed polaganja udžbenika mora se povinovati „spiralnom“ ciklusu. Tako da svaka faza predstavlja dobru osnovu za sljedeću.

Morate biti sami svoj menadžer i plan ostvarivo ciljevi, faze. Trenutno mnogi mladi ljudi sanjaju da budu kreatori vrhunske web stranice ili operativnog sistema. A neko sanja da napiše kalkulator i da ga koristi da dobije poziciju pripravnika. Nadam se da možete pogoditi ko će biti uspješan programer za godinu dana. Veoma je važno da vaši projekti i ideje imaju svoju uspješnu implementaciju. Ptica u ruci vredi dva u grmu.

Osim toga, “menadžerske” kvalitete su vrlo korisne za one koji sebe smatraju “glupama”. U IT-u je vrlo lako biti pametan, a jako je teško biti suprotno. Pametna osoba može lako uzeti udžbenik, pročitati ga i odmah učiniti nešto korisno. Glupi ljudi će uzeti isti udžbenik, pročitati ga i ništa ne razumjeti. Dakle, morate razbiti materijal za učenje na dijelove i vježbati više (pisati kod) na osnovu ovih dijelova. Materijal možete rastaviti na dijelove tako da ga svako može razumjeti. Za one koji znaju planirati svoj obrazovni proces i rješavati „nerješive probleme“ (2.3), ne postoje nepremostive prepreke. Savladaćete apsolutno sve, bez obzira na vašu inteligenciju. Neka potraje znatno duže. Ali mnogo vam je važnije da imate holističko i provjereno znanje/iskustvo od brzine njegovog sticanja.

Naravno, biće vam vrlo teško razumjeti i, što je najvažnije, takav model primijeniti u praksi. Ali oni koji uspiju dobiće ugodan bonus u vidu mogućnosti da postanu „menadžer projekta“. Ako sada samo želite da budete plaćeni kao programer, onda ćete toliko htjeti platu projekt menadžera da nećete moći spavati. Ovdje je samo jedan minus. Ipak, prvo morate postati dobar programer.

3.4 Kada tražiti posao

Veoma je teško reći kada tražiti svoj prvi posao u ovoj specijalnosti. U stvari, možete započeti traženje posla odmah nakon prve faze. Pretpostavljam da će mnogi to učiniti. Ako imate ispod 23 - 25 godina i živite tamo gdje je industrija razvoja softvera dobro razvijena, uspjet ćete. Možda nećete postati dobar specijalista. Ali sigurno ćete zaraditi za život.

Na drugoj strani. Ima ljudi koji žive tamo gde se niko ne bavi razvojem softvera. A ima ljudi koji imaju i preko 25 godina. Ti ljudi moraju duže da uče. Da se transformiše iz nisko kvalifikovanog u visoko kvalifikovanog. Kako bi u svoje redove zaposlili visokokvalifikovane programere, poslodavci su spremni učiniti mnogo. Možda će vam biti ponuđena pomoć oko preseljenja. Ili čak i rad na daljinu. Starost preko 30 ili 40 godina neće napraviti veliku razliku. Glavna stvar je da pokažete svoj visok nivo iskustva.

Pokretanje traženja posla što je prije moguće ima smisla ako već radite posao velikog obima. Gdje ne možete čitati knjige o programiranju. U ovom slučaju vam je svejedno nakon kog posla ćete uveče učiti predmet. Trenutno ili nakon rada kao pripravnik.

Rano traženje ima veliki nedostatak. Poslodavac će nakon intervjua imati mišljenje o vama. Koje nećete htjeti mijenjati tokom vremena ako ste nekada pokazali nizak nivo znanja. Za šest mjeseci, kada budete znali mnogo više, vaš životopis možda neće biti ni razmatran. Jer mišljenje o vama će ostati isto. Ostaje nam da se nadamo da će prvi intervju vremenom biti zaboravljen. Ali ovo je najmanje šest mjeseci. Moguće je da poslodavac vodi bazu podataka kandidata. Da ih ne intervjuišem dva puta. U ovom slučaju, sve će biti veoma tužno.

3.5 „Šta treba da znam da bih bio prihvaćen kao junior?”

Početnici vrlo često postavljaju ovo pitanje. Ovdje nema jasnog odgovora. Na ovo pitanje može odgovoriti samo određeni poslodavac u određenom trenutku. Nemoguće je odgovoriti za cijelo tržište rada u svakom trenutku. Vaša šansa da se zaposlite kao “junior” ili, kako sam rekao, “pripravnik” varira tokom vremena u zavisnosti od nekoliko procesa i faktora.

Vaš proces samostalnog učenja vas čini privlačnijim poslodavcima. U ovom trenutku se pojavljuju slobodna radna mjesta koja vam odgovaraju. Usko povezan sa programskim jezikom koji učite. Tamo šaljete svoj životopis. A poslodavac bira najprikladnijeg od kandidata koji su se javili. Kvalifikacije kandidata su ograničene iznad plate upražnjenog radnog mjesta. Možda si najbolji za tu platu. Ili možda ne. Dakle, vremenom učite i postajete vredniji. I u jednom trenutku, u svakom slučaju, bićete najbolji od svih koji su se odazvali.

Tu je i faktor godina kandidata. Što malo smanjuje vašu privlačnost. Što je starost veća, to je smanjenje veće. Postoji faktor dobrog portfelja koji se povećava. Iskustvo, preporuke i još mnogo toga.

Možda vrijedite mnogo kao C++ programer, ali vrlo malo kao PHP programer.
Najviše "besplatni" faktor je vaša popularnost kod poslodavaca. Kada ste poznati više poslodavaca. Veće su šanse da ćete se negdje zaposliti.

“Strpljenje i rad će sve samleti!” Kontinuirano samoobrazovanje je vaša garancija da ćete dobiti posao!

4 Prvi posao kao pripravnik

4.1 Kako potražiti svoj prvi posao?

4.1.1 Portfolio

Prvo, napišite portfolio. To bi trebao biti mali program ili skripta za stranicu koja obavlja koristan posao. Svrha mora biti jasna vašem potencijalnom poslodavcu. Na primjer, adresar. Ako napravite kalkulator za izračunavanje putanja leta Zemljinih satelita, to bi bilo super, naravno. Ali malo je vjerovatno da će vaš budući poslodavac biti upoznat. Stoga neće moći ocijeniti rezultat. Poželjno je da program na neki način pohranjuje korisničke postavke i podatke. Mora postojati neki mali i potpuni dio koda. Ako, na primjer, pošaljete svoju zakrpu na neki besplatni projekat, poslodavac je možda previše lijen da se udubi u izvorni kod cijelog projekta. I procijenite šta ste tamo promijenili u ovom kontekstu. Dobro je ako aplikacija koristi SQL bazu podataka, gdje to ima smisla.

I ono najvažnije, naravno. Kako će biti napisano. Trebao bi biti dobro formatiran i strukturiran kod. Budite spremni, poslodavac će uzeti red iz ovog koda i unijeti ga u tražilicu.

Da bi kod u portfelju bio dobar, treba ga ostaviti da odstoji nedelju dana. One. napiši i ostavi na nedelju dana. Zatim revidirajte sav kod. Nakon što ispravite greške, postavite ga na neki privremeni dio i napravite temu na forumu tražeći od iskusnijih programera da pogledaju izvorni kod. Uz obaveznu naznaku da je ovo vaš portfolio.

Nakon ispravljanja grešaka na koje vam je ukazano. Možda će to čak biti i globalna prerada vašeg rada. Prenesite kod na jednu od web lokacija za hosting izvornog koda. Obrišite temu u kojoj vam je rečeno o vašim greškama. Budući poslodavac ne mora znati za greške.

Na kraju krajeva, veoma je važno razumjeti svaki red koji napišete. Najvjerovatnije ćete biti vučeni i postavljati razna škakljiva pitanja.

Vjerujte mi, kreiranje portfolia i pregleda koda od strane iskusnijih kolega će dodati +30% vašem iskustvu. Takođe vam omogućava da adekvatno procenite svoje trenutne kvalifikacije. Vaš kod neće biti savršen, naravno. Spremite se, tamo će pronaći greške (besplatno!) To i nije tako loše. Ali kada ne znate zašto ste kod napisali na ovaj, a ne na drugi način, to je pravi problem. To samo znači da niste napisali kod! U ovom slučaju, oni će vas izbaciti sa željom da se vratite za šest mjeseci sa svojim kodom.

4.1.2 Sažetak

Općenito, iz životopisa možete puno reći o osobi. Na primjer, loše strukturiran životopis. Najvjerovatnije će ga napisati programer koji ne brine posebno o strukturi izvornog koda.
Odjeljak kopiran s mreže, na primjer, "Profesionalne kvalitete". To ukazuje da je kandidat sklon laganju. Nedostatak postignuća, koji se ne pamte ni na intervjuu, govori da je čovjek „profesionalac“. I mnogo više.

Bila je jednom smiješna priča. Ja sam se obavezao da ću kritikovati životopis jednog kolege. Nalazi su bili razočaravajući. Kažem: “Tvoj životopis je toliko loš da bih te zaposlio!” Vi ste dobar specijalista. Ali sa svojim životopisom nećete naći dobar posao. Stoga se možete zadržati na maloj plaći. I ne ideš nigde!”

Da se ovo ne desi. Također je preporučljivo dati svoj životopis stručnjacima za ljudske resurse i programerima na evaluaciju.

Naravno, nema potrebe da lažete ili navodite sumnjive činjenice u svom životopisu. Vrlo pažljivo će ga čitati ljudi sa velikim životnim iskustvom. Svaki pokušaj da se nešto sakrije ili uljepša bit će ocijenjen krajnje negativno.

Bolje je imati skroman životopis. Ali budite sigurni da ćete odgovoriti za bilo koju riječ u njemu.
Ako ste već stekli radno iskustvo i imate se čime pohvaliti. Možete dodati odjeljak “Portfolio” na samom kraju. Detaljno opišite projekte u kojima ste učestvovali. Zanimljiva tehnička rješenja, dostignuća (detalji). Najmanje 10 stranica. Ali odmah na kraju.
Obavezno naznačite da ste spremni za preseljenje (selidbu) i poslovna putovanja.
Popunjen profil na LinkedIn-u, HeadHunter-u i drugim stranicama za traženje posla također će vam pomoći.

4.1.3 Traženje posla

A sada idemo na zabavni dio.
Morate jasno shvatiti da su pripravnici i neiskusni programeri rijetko potrebni. Poslodavci traže prvenstveno iskusne ljude. Ali njihove plate im ne dozvoljavaju uvijek da zaposle onoga što im treba. Stoga će vaš životopis s nula iskustva biti uzet u obzir prije ili kasnije. A kod iz vašeg portfelja će vam u tome puno pomoći.

Stoga svoju biografiju treba poslati na sva slobodna radna mjesta koja odgovaraju vašem profilu. Na primjer, proučavali smo JavaScript. Pošaljite svoj životopis gdje god je potreban ovaj JavaScript. Bez obzira na minimalno potrebno iskustvo, prisustvo specijaliziranog visokog obrazovanja, činjenicu da je radno mjesto već popunjeno i još mnogo toga. Na “drugom kraju reda” oni bolje znaju šta da rade u vezi s tim. Takođe pošaljite svim kompanijama koje teoretski imaju ili mogu imati stručnjake na vašem profilu. Poštu obično sortiraju sekretarice. Nije velika stvar ako odbace vašu e-poštu. Mišljenje takvih poslodavaca o vama nije bitno. Čak i ako su ovo najprestižnije kompanije.

Samo traženje posla traje od mjesec do dva. Obično, ako se prijavite za poziciju, bićete kontaktirani u roku od 2-3 dana. Zatim, u roku od nedelju dana, intervju i/ili test zadatak. I onda, u roku od mjesec dana, poslodavac će razmišljati o rezultatima. Direktna odbijanja se obično ne šalju. Jednostavno vas zaborave i to je to. Zato se pripremite za mnogo intervjua zbog kojih ćete zaboraviti na njih. Nema potrebe polagati svoje nade u bilo koju opciju. Prođite intervju i zaronite nazad u učenje programiranja.

4.1.4 “Karma” programera

Postoji jedna vrlo interesantna stvar kada tražite posao. Recimo da ste naučili JavaScript. Učili su i učili savjesno. Onda tražite posao kao JavaScript programer. I odjednom vam se nudi da postanete, na primjer, sistemski programer. Poslodavac bi mogao reći da je vaš JavaScript dobar. Ali on ima samo slobodna radna mjesta za pripravnike za sistemske programere S. Stoga možete ići za pripravnika S.

Trik je u tome, nakon takvog prvog posla. Povratak na rad sa JavaScript-om će biti problematičan. I ovo nije neka magija. Baš kao C programer bićete iskusni. Kao neiskusni JavaScript programer. One. vraćanje na JavaScript smanjuje vašu platu. Možda čak dva puta. Stoga ćete ostati programer C sistema do kraja života. Mislim da ovo nije loša opcija. Ali morate biti svjesni takvih ograničenja.

4.1.5 Intervju

Možda ćete se iznenaditi, ali većina intervjua za programere se vodi na daljinu. Stoga, čak i ako želite da se zaposlite u gradu udaljenom stotinama kilometara, u redu je da ste sada na drugom mjestu. Poslodavac može provjeriti vaše kompetencije na daljinu i odlučiti da li biste trebali otići na lični razgovor ili odmah na posao u njegov grad.

Ako je intervju u odsustvu, sve je jednostavno. Trebat će vam dobra veza, internet i telefon. I sat i po do dva vremena kada se niko neće mešati. Ako tišina i dobar internet nisu mogući u vašem domu. Dogovorite se sa prijateljima da će vam dati svoju sobu sa kompjuterom ili stan za vrijeme trajanja intervjua. Video pozivi obično nisu potrebni. Najvjerovatnije će vam trebati Skype i TeamViewer. Teška razvojna okruženja, kompajleri i uređivači obično nisu potrebni. Jednostavan uređivač koda kao što je Sublime ili Notepad++ će biti dovoljan. Poslodavac će napisati šta trebate imati za intervju.

Mnogo je pisano o intervjuima licem u lice. Ne vidim smisla da se ponavljam. U svakom slučaju, nakon što ste dobili poziv, trebali biste saznati što je više moguće o kompaniji koja vas poziva. Pogledajte recenzije o njoj kao poslodavcu. I odlučite da li želite da radite tamo. Ako želite, svakako smislite razlog zašto ste tamo. Zašto ste tamo poslali svoju biografiju?! Uostalom, možda ne ispunjava formalne uslove.

U svakom slučaju, prije svega trebate željeti zanimljiv posao i profesionalni razvoj. Kao, probali ste programirati i stvarno vam se svidjelo. A sada tražite zanimljiv posao u ovom pravcu. Prije svega očekujete zanimljive zadatke iz budućeg zaposlenja. Prilika za komunikaciju sa kolegama istomišljenika. I, naravno, uglancajte svoje profesionalne vještine. Ovo su pitanja koja biste trebali postaviti na početku. Trebalo bi da vas zanima kakvo će iskustvo imati vaše buduće kolege. Koje tehnologije se koriste u projektu za koji traže zaposlenog.

Naravno, budimo iskreni. Većinu ljudi svrbi oko glavnog pitanja, oko plate. Ovo je posljednja stvar koju treba razjasniti. Takva pitanja obično prvo postavljaju “profesionalci”. Šefovi traže amatere.

Obično je plata pripravnika, sa određenim znanjem o temi, veličina plaće običnog kancelarijskog hrčka u istom gradu. Ali ako su ponudili manje, moj savjet je da ipak pristanete. Recimo da radite kao sistem administrator. Dobijate $500. Mislim da je 500 dolara gornja granica za sistem administratora u centralnoj Rusiji. A sada vam se nudi pozicija programera (zapravo pripravnika) za 300 dolara. Ako vam to zvuči kao "sranje". Nemoj ni počinjati ništa učiti. Zatvorite ovaj članak. I zaboravite na programiranje kao buduću profesiju.

Vaša prva plata programera trebala bi biti dovoljna da preživite. Činjenica je da ćete uz 300 dolara dobiti iskustvo i znanje u vrijednosti od 1000 dolara. Steknite iskustvo u razvoju tima. Vaš rad će ocijeniti iskusnije kolege. Dobijte neograničen pristup njihovoj stručnosti. Najvjerovatnije će vaš portfolio rasti sa stvarnim projektima. Sve ovo će vas učiniti pravim i traženim specijalistom. Ako niste lijeni i iskoristite sve ovo. Za samo šest mjeseci dostići ćete svojih 500 dolara. I ovo će biti samo početak vaše karijere.

Naravno, može se desiti da nećete dobiti „iskustvo i znanje u vrijednosti od 1000 dolara“. U ovom slučaju, samo potražite drugi posao.

Ne treba se ničega plašiti tokom intervjua. Morate se ponašati prirodno, ali imati radni stav. Intervjui se obično vode ljubazno. Zadatak vašeg budućeg šefa je da shvati kakva ste osoba i stručnjak. Radije će vas pažljivo posmatrati.
Niko ti nikada neće reći pravo mišljenje o tebi. Loše mišljenje vas može okrenuti protiv. Što nema nikakvog smisla. Možda ćete opet biti korisni. A dobre stvari mogu biti razlog za zahtjeve za većom platom.

Intervju je kao prvi sastanak sa devojkom. Uvek je sve pristojno, kulturno i dobro. Ali sljedeće se možda neće dogoditi.

4.2 Stažiranje

Svrha prakse je uglačavanje stečenog znanja.

4.2.1 Samostalni rad

Programeri početnici mogu pročitati mnogo članaka na internetu koji govore koliko je sjajno biti „slobodnjak“. Sjednite ispod palmi, primajte jednokratne narudžbe i "ne radite za svog ujaka".

Da biste razumjeli prednosti i nedostatke freelancinga, morate shvatiti da je poslodavac spreman ulagati u vašu obuku samo sa dugoročne perspektive. Inače, lakše mu je preplatiti gotovog stručnjaka nego čekati da početnici riješe složene probleme. Stoga, freelancing ne pruža dubinsko iskustvo. Niko vam jednostavno neće naređivati ​​ako nemate potrebne kompetencije. S druge strane, freelancing je prva zanimljiva praksa i prvi novac. A za novac kupca, istovremeno možete kreirati portfolio za sebe.

Ne polagajte velike nade. Samo pokušajte pronaći narudžbe na kraju samostalnog učenja. Bit će sjajno ako uspijete. Ali nemojte pretpostavljati da ste završili praksu i postali pravi programer. Ovo je dobra aktivnost samo kada vas ozbiljne kompanije još ne zapošljavaju. Ili ste već tamo radili 3-5 godina.

4.2.2 Kompanije

Jednom sam čuo za ekonomski zakon. Što je udruženje radnika veće, to udruženje prima više prihoda po zaposlenom. Shodno tome, u velikim firmama, plate radnika su obično veće. Od pojedinačnih „slobodnjaka“. Barem u IT-u. Čuveni industrijski giganti su ti koji plaćaju vrhunske plate i kupuju najbolje umove. Stoga se mora voljeti „ujak“ koji okuplja stručnjake u grupu i daje im posao. Jer zajedno možete zaraditi mnogo više nego odvojeno.

I ako je tako. Morate naučiti raditi u timu. Koristite alate za kolektivni razvoj. Kolege će s vama podijeliti svoja iskustva i pomoći u ispravljanju grešaka. I sami ćete se iznenaditi koliko je toga novog u profesiji sa čime se do sada niste susreli.

Kao što je ranije rečeno, većina ljudi su “profesionalci”. Kada dobiju prvi posao, "smiriće se". A njihova strategija će biti “opstanak”. Oni će ovladati samo znanjem koje je potrebno ovdje i sada. Recimo da trebate napisati SQL upite za kod. Brzo će potražiti na internetu kako napraviti zahtjev za određeni zadatak. I oni će pisati kod na osnovu toga. Zatim kod iskusnog kolege ide na "pregled koda". Tamo se ispostavilo da umjesto dva upita i hrpe koda možete napisati jedan upit, ali sa "joins". I tako stažista odlazi na internet. Tamo čita dio nekog materijala o „pridruživanju“. Prerađuje kod. Tako svaki dan. Na ovaj način većina polaznika akumulira znanje.

Bilo bi ispravno, nakon 3-4 slična pitanja vezana za bazu podataka, uzeti priručnik o ovom DBMS-u i proučiti ga u potpunosti. Obično to rade samo “amateri”. Koje postaje znatiželjno šta još postoji osim „udruživanja“.

Treba napomenuti da je čitanje bilo kojeg priručnika u ovoj fazi mnogo zanimljivije. Već ste upoznati sa tehnologijom. A dobro znanje može vam znatno olakšati posao. Ovo je mnogo privlačnije od samo apstraktnih primjera iz knjiga u prethodnoj fazi.

Praksa nesmetano prelazi u redovan rad. Teško je odrediti trenutak kada sebe možete smatrati punopravnim programerom. Vjerovatno kada na pitanja kolegama ponestane jednostavnih odgovora. I shvatite, većinu problema ćete morati sami riješiti. Obično je ovaj period šest mjeseci. Ako ste naporno radili u prethodnoj fazi. Ako ste bili u žurbi, skrasili ste se, nakon što ste do pola pročitali knjigu na glavnom jeziku. Dakle, nastavite sa savladavanjem knjige i dodatnih tehnologija.

Nakon stažiranja, slobodni ste da radite šta god želite. Freelance. Radite samostalne projekte i ostalo. Ali moj savjet tebi. Ponekad čitajte literaturu vezanu za vaš rad. Da poboljšate svoje vještine. Ako ste prethodno pročitali kako pisati kod općenito. Sada možete pročitati kako to učiniti vrlo dobro i ispravno. Budite sigurni, uvijek ćete vidjeti nove horizonte profesionalnog usavršavanja. Ne budi lijen! Pogotovo ako želite veliku platu.

5 Zaključak

Nadam se da će ovaj članak pomoći svima koji žele savladati našu divnu profesiju.
Ako vam se sviđa ovaj rad. Postoji ideja da se razgovara o prednostima i nedostacima visokog obrazovanja u IT.

Tagovi:

  • programiranje
  • karijera programera
  • studirati na tome
  • samostalno učenje
  • samoobrazovanje
  • pripravnički staž u njemu
Dodaj oznake

Komentari 179

Kako sami postati programer od nule? Gdje početi učiti programiranje za čajnik?

Pripremili smo detaljna uputstva kako savladati programiranje i napisati optimizovan, razumljiv kod.

Kako naučiti programirati od nule?

1. Na svoju ruku

Ako imate željeznu snagu volje i goruću želju da postanete programer, onda svoj cilj možete postići samoobrazovanjem. Ovo nije najlakši ni najkraći put. Sami ćete morati razumjeti informacijski haos, ali ćete moći učiti u pogodnom trenutku i potpuno besplatno.

Najlakši način za početak je s interaktivnim online kursevima. Na internetu postoji mnogo stranica čiji materijali jasno objašnjavaju osnove programiranja i postavljaju smjer daljeg razvoja.

Obratite posebnu pažnju na one kurseve koji podučavaju na primjerima stvarnih projekata, odnosno govore vam korak po korak kako kreirati određeni program ili web stranicu.

Platforma s besplatnim tečajevima web razvoja freeCodeCamp

Zapamtite da nećete uspjeti bez vježbe. Učite na projektno orijentiranim kursevima i pokušajte sami pisati programe i web stranice na osnovu njih. Na YouTube-u potražite predavanja o projektima koje biste željeli razviti. Prvo kopirajte tuđi rad i analizirajte ga. Zatim se pokušajte odmaknuti od originala, eksperimentirajte, mijenjajte pojedinačne elemente dok ne budete mogli stvoriti nešto jedinstveno.

Uz kurseve i video predavanja, na usluzi vam je zvanična dokumentacija dostupna na web stranicama jezika i knjigama. Nakon što shvatite osnove, potražite najnovije publikacije s podnaslovom Najbolje prakse za odabrani programski jezik. Takve knjige sadrže najbolje razvojne tehnike.

(!) Obavezno postavite cilj kreiranja vlastitog projekta i stalno radite na njemu.

Ovo će vam pomoći da konsolidujete svoje znanje i shvatite koje informacije vam još nedostaju. Vaše vještine će se razvijati zajedno s projektom. Kada završite, radite na novom - teže.

Ako imate bilo kakvih poteškoća tokom procesa učenja ili razvoja, uvijek se možete obratiti programerskim zajednicama kao što su “” i Stack Overflow za bilo koje pitanje.

Na primjer, pomoći će vam da riješite problem, odaberete dobar kurs ili ukažete na greške u kodu.

Zgodno je usavršavati svoje vještine na posebnim platformama gdje se možete takmičiti s drugim programerima, rješavajući razne praktične probleme koristeći kod. Takve usluge uključuju Codewars, TopCoder i HackerRank.

2. Uz pomoć mentora

Mentor- lični mentor koji ukazuje na greške, upozorava na zamke i pomaže u planiranju kursa učenja. Korisna preporuka primljena u pravo vrijeme može vas spasiti od mnogih problema i uštedjeti mnogo vremena. Dakle, mentor nikome neće nauditi.

Saznajte da li je neko od vaših prijatelja programer. Možda će vam neko od njih htjeti pomoći. Ako ne poznajete takve ljude, možete ih potražiti u programskim zajednicama. Na primjer, na istom "". Samo mentorske usluge nisu jeftine, a niko ne želi da troši puno vremena na strance uzalud.

3. Predavači "živih" kurseva

Kursevi na daljinu i lični kursevi sa nastavnicima koji podučavaju programere od nule postali su neverovatno popularni poslednjih godina. U ovom formatu takođe ćete morati dosta da radite sami. Ali vi ćete učiti po stručno pripremljenom programu, a rješenja problema će provjeravati živ čovjek. Nedostaci kurseva uključuju visoku cijenu obuke.

Popularne online platforme na ruskom jeziku koje pružaju sistematsku obuku za programere: “Netology”, GeekBrains i Loftschool.

Ako više volite učiti osobno, možete potražiti obrazovne centre koji podučavaju programiranje u vašem mjestu. Nažalost, ovakvi objekti se najčešće nalaze samo u velikim gradovima.

4. Na univerzitetu

Ako imate puno vremena na raspolaganju i sigurni ste da želite da svoj život provedete programirajući, možete studirati informatiku na fakultetu. Ali imajte na umu da tradicionalne obrazovne institucije zaostaju za napretkom, pa ćete morati sami savladati moderne programske jezike i druge tehnologije.

S druge strane, univerzitet će vam pružiti osnovna znanja iz matematike, algoritama i drugih oblasti koje će vam pomoći da postanete visokokvalifikovani programer. Tokom godina marljivog učenja razvit ćete pravi tip razmišljanja, zahvaljujući kojem ćete sve u hodu shvatiti u profesionalnom polju.

Kako odabrati smjer i jezik

U industriji informacionih tehnologija postoji nekoliko oblasti, od kojih svaka koristi svoj skup jezika. Navodimo glavna područja prema rastućoj složenosti, imajte na umu da smo odabrali najpopularnije i najraširenije programske jezike:

  1. Web development: JavaScript, PHP, Python, Ruby.
  2. Razvoj mobilnih uređaja: Java (Android), Swift, Objective-C (IOS).
  3. Razvoj igara i programa za desktop računare: C++, C#, C.
  4. Umjetna inteligencija, mašinsko učenje: Python, R, Scala.

Na šta treba obratiti pažnju pri odabiru?

Da biste napravili pravi izbor smjera, a posebno jezika, uzmite u obzir sljedeće faktore: poteškoću savladavanja i broj materijala za obuku na internetu, vaše lične sklonosti (šta tačno želite da razvijete) i potražnju za jezikom na tržištu rada.


Grafikon potražnje za programskim jezicima na međunarodnom tržištu rada / research.hackerrank.com

Možete lako provjeriti potražnju za jezikom u vašoj regiji na stranicama za traženje posla. Samo otvorite odjeljak za programere softvera i pogledajte broj slobodnih radnih mjesta.

Ako ne možeš da odlučiš

Ako ste zbunjeni, pogledajte JavaScript, jezik na kojem je napisan gotovo cijeli web. Mnoge organizacije i programeri savjetuju početnicima da izaberu ovaj jezik kao svoj prvi jezik.

Na primjer, osnivač obrazovnog resursa freeCodeCamp Quincy Larson preporučuje JavaScript svim početnicima. Larson iznosi vrlo jednostavan argument:

  1. JavaScript relativno lako naučiti. A da biste nešto napisali i pokrenuli na ovom jeziku, sve što vam treba je uređivač koda i pretraživač.
  2. JavaScript- najpopularniji jezik na međunarodnom tržištu rada i ima veliku perspektivu. Velike kompanije kao što su Google, Microsoft i Facebook ulažu u JavaScript ekosistem.
  3. U JavaScript vrlo širok opseg primjene: od web stranica i internetskih igara do mobilnih aplikacija.

Osim toga, oko ovog jezika se formirala velika zajednica programera. Veliko interesovanje za JavaScript pruža ogroman broj kurseva, knjiga i drugih obrazovnih sadržaja.

Šta još programer treba da zna: matematiku i engleski?

Svaki programer bi imao koristi od dubokog razumijevanja matematike. Za polja kao što su razvoj grafike igara ili velikih podataka, matematički um je neophodan. Ali kada je u pitanju web razvoj i kreiranje jednostavnih programa, u većini slučajeva možete bez matematike. Iako ne postoji konsenzus među stručnjacima o ovom pitanju.

Ali razumijevanje engleskog, barem na nivou tečnog čitanja dokumentacije, obavezno je za sve programere. Službeni dokumenti i većina obrazovnih materijala pojavljuju se prvenstveno na engleskom jeziku. Knjige su često zastarjele i prije objavljivanja prijevoda. Osim toga, znanje engleskog jezika otvara izglede za rad sa cijelim svijetom.

Kako steći prvo iskustvo i prvi posao

Da biste pronašli svoj prvi posao kao programer, morate imati portfolio. Ovo je projekt koji ste kreirali, ili još bolje nekoliko, koji demonstriraju sve vaše programerske vještine. Većina kurseva uključuje razvoj projekata koji se mogu uključiti u vaš portfolio.

Vrlo vrijedna stavka u vašem životopisu će biti radno iskustvo, posebno razvoj tima. Ali gdje ga možete dobiti ako tražite svoj prvi posao?

  1. Ispunite nekoliko narudžbi na freelance berzama. Ovo može biti Freelansim ili Upwork. Ponudite svoje usluge besplatno, tada će vam prvi kupci doći.
  2. Pronađite istomišljenike i kreirajte zajednički projekat s njima. Ljudi se u takve svrhe udružuju na gotovo svakoj obrazovnoj platformi gdje postoje kursevi programiranja.
  3. Odaberite kurseve čiji organizator pomaže pri zapošljavanju. Na primjer, u GeekBrains-u, nakon obuke, imate pristup praksi iz različitih kompanija, uključujući i one koje se plaćaju. GeekUniversity i STEP garantuju zaposlenje svojim diplomcima.

(!) Prije intervjua, obavezno potražite na internetu liste zadataka i pitanja koja poslodavci često postavljaju.

Pridružite se našem Telegram kanalu da budete u toku sa svim najnovijim vijestima iz svijeta Applea, Samsunga, Microsofta, Googlea i drugih inovativnih kompanija.

Najbolji članci na ovu temu