Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 7, XP
  • Šta bi programer trebao biti sposoban? Šta programer treba da zna da bi dobio posao u finansijama?

Šta bi programer trebao biti sposoban? Šta programer treba da zna da bi dobio posao u finansijama?

Djelomično sam već odgovorio na ovo pitanje u članku.

Ali tu se radilo o programerima sa manje-više pristojnim nivoom obuke.

Danas ću govoriti o tome šta bi trebao znati programer početnik, odnosno osoba koja se tek sprema da postane programer.

Dakle, recimo da ste potpuna nula u programiranju, ali zaista želite da postanete programer. Prije nego počnete učiti programiranje, nije potrebna posebna priprema. Međutim, postoje neke stvari koje biste trebali znati i moći učiniti. Na primjer:

  1. Budite samouvjereni korisnik računara. Važno je. Samo što se u mojoj praksi periodično dešavaju situacije kada neko preuzme knjigu “”, a onda mi napiše žalbu poštom da uz knjigu nema uputstva kako da je otvorim. Pitanje: Nije li prerano da čovek pokuša da nauči programiranje ako ne zna kako da raspakuje arhivu i otvori PDF fajl?
  2. Shvatite razliku između iskusnog korisnika i programera. Na osnovu primjera koji sam naveo u prvom odlomku, zaključujem da mnogi ljudi uopće ne razumiju šta programeri rade i misle da je programer osoba koja dobro poznaje računare. U stvari, to nije tako - programer možda uopće ne razumije računare (u nekim slučajevima može raditi svoj posao i bez toga).
  3. Znati matematiku barem na nivou osnovne škole.
  4. Poželjno je imati barem opšte poznavanje informatike.
  5. Znati dobro kucati na tastaturi (nije potrebno, ali će smanjiti vrijeme za učenje programiranja, jer ćete morati kucati puno teksta da biste isprobali primjere različitih nastavnih planova i programa u praksi).
  6. umjeti čitati)))

Kada počnete učiti programiranje, početna faza trebaće ti nešto ovako:

Dakle, prvo morate shvatiti koji su programi općenito, koji su programi i zašto su potrebni.

Morate znati kako se programi kreiraju (pa, barem programi za pokretanje na Windows-u).

Morate razumjeti šta su varijable, tipovi podataka, potprogrami, moduli itd.

Morate znati barem jedan programski jezik (iako ne savršeno, ali barem da biste sami mogli napisati jednostavan program).

Sve ovo je u mom kursu za početnike "Osnove programiranja", koji možete dobiti ovdje.

Dugotrajna kriza primorava mnoge ljude da promene ne samo radno mesto, već i specijalnost. Moraju doneti ponekad tešku odluku da promene profesiju, savladavajući nove horizonte. Profesija programera u ovom slučaju može biti odlična zamjena, jer nije samo isplativa, već i zanimljiva. Ali da li je teško postati programer?

Gdje dobiti obrazovanje?

Postoji nekoliko načina da postanete dobar programer. U prvom slučaju roditelji-programeri podučavaju svom zanatu djecu koja za to ne moraju ni da idu na fakultet. U drugom slučaju, modna profesija programera utiče. Nakon škole, svako mora da izabere svoj budući put, pa su mladi posebno aktivni u modnom trendu koji se vezuje za kompjutere. Postoji i treća opcija - kada se početni hobi postepeno razvija u profesiju.

Postoji nekoliko načina za stjecanje vještina programiranja:

  • Samoobrazovanje. Metoda kako da samostalno postanete programer od nule može se koristiti kako u svom čistom obliku, tako i kombinovanjem sa drugim metodama. Postoji mnogo knjiga, web stranica i kompjuterskih aplikacija koje vam omogućavaju da naučite razne tehnologije i kompjuterske jezike. Istina, za početnike je ovo najteži put.
  • univerzitet. Ako student još u školi sanja da postane programer, onda je bolje za njega da ode na odgovarajući univerzitet, gdje možete dobiti ne samo znanje, već i diplomu, bez koje je teško pronaći pristojnog posao. U procesu studiranja ne treba zanemariti samoučenje, jer univerzitet možda jednostavno nema nastavnike koji poznaju nove trendove u ovoj oblasti. Univerzitet se mora izabrati vrlo odgovorno - da proučava programe obuke koje nudi, preferirajući najbolje tehničke obrazovne institucije.
  • Učitelju. Odlična opcija bila bi pronaći stručnjaka koji se slaže podučavati početnika zamršenostima profesije. Može vam preporučiti najbolje resurse i knjige i može vam dati mnogo dobrih savjeta. Takvog mentora možete potražiti među poznatim programerima, na njihovim konferencijama, online forumima i hangout-ima.
  • Specijalni kursevi sa praksom. U svom gradu možete tražiti kurseve koji podučavaju kompjuterske jezike i tehnologije. U velikim gradovima može ih biti mnogo, ponekad čak i uz naknadno zapošljavanje. Nemojte zanemariti online kurseve, oni vas takođe mogu potaknuti na dublje proučavanje struke.

Kako odabrati programski jezik za učenje?

Pitanje koje predmete trebate znati da biste postali programer može se razjasniti nakon što dobijete osnove, kada će već biti moguće odabrati programski jezik koji vam se najviše sviđa. Prilikom odabira prvog jezika, početnik bi se trebao voditi sljedećim točkama:

  • Dostupnost slobodnih radnih mjesta na tržištu rada. Ako programeri na jeziku koji je aplikant naučio nisu traženi na tržištu rada, onda će biti teže pronaći posao. Za orijentaciju u ovoj oblasti, korisno je proučiti stranice sa slobodnim radnim mjestima, identificirajući deset najpopularnijih jezika. Nakon toga možete preći na sljedeći trenutak.
  • Budući da su jezici prva stvar koju morate naučiti da biste postali programer, predugo učenje jezika vas u principu može obeshrabriti da savladate ovu profesiju. Stoga vrijedi preletjeti edukativnu literaturu o njima i odabrati one koje se pozicioniraju kao lake ili se samom čitatelju tako čine. Najčešće govorimo o Python-u, Ruby-u, PHP-u.
  • Zadovoljstvo učenja. Ako osoba ne voli pisati kod na odabranom jeziku, onda neće moći uživati ​​u daljem radu s njim. Vrijedi li se odmah utjerati u takve ropske aktivnosti?

Još jedna stvar koju trebate znati da biste postali programer je odlučiti se o smjeru programiranja, koji može biti:

  • Desktop.
  • Mobilni.
  • Gaming.
  • Nizak nivo.
  • WEB i drugi.

Relativno laka i najpopularnija područja su desktop i mobilni klijenti, web razvoj. Svaki smjer može raditi s jednim jezikom, a ne raditi s drugim, što će se morati uzeti u obzir u fazi odabira programskog jezika.

WEB-tehnologije je potrebno proučavati u svakom slučaju. To uključuje JavaScript i CSS stilove, HTML jezike za označavanje, jer samo uz pomoć toga možete stranicu učiniti dinamičkom.

Sljedeći korak bi trebao biti proučavanje serverskih jezika (PHP, Python, Ruby i drugi) i njihovih odgovarajućih WEB okvira. Korisno je i proučavati baze podataka, jer su tražene u gotovo svakom poslu programera.

Video o tome kako sami postati programer od nule

Prvi programski jezik treba izabrati između najjednostavnijih i najpopularnijih na tržištu. Jedan od njih je Python, koji se najčešće preporučuje kao početni programski jezik. Programski kod se u njemu lako čita. Uz to, ne morate čak ni biti programer da biste pogodili šta se dešava u programu. Jednostavnoj sintaksi Pythona biće potrebno manje vremena za pisanje programa nego ista Java. Ogromna baza podataka biblioteka pomoći će vam da uštedite mnogo vremena i živaca. Ovo je jezik visokog nivoa, tako da ne zahtijeva brigu o tome šta i kako smjestiti u memorijske ćelije.

Java takođe može biti dobar izbor za početnike kao prvi jezik. Popularniji je od "zmijolikog" jezika, iako je nešto komplikovaniji od njega. Ali Java razvojni alati su mnogo bolje razvijeni (ako uporedite IDLE i Eclipse). Učenje Jave će olakšati prelazak na rad sa programskim jezicima niskog nivoa.

PHP je takođe veoma popularan. Uz njega je lako pronaći rješenje problema na forumu ili pronaći mentora. Ovo se objašnjava obiljem PHP programera u svijetu koji rade na različitim nivoima. Ovdje nema normalnog uvoza, ali se isti problem može riješiti na više načina, što, međutim, otežava učenje. Ovaj jezik je samo za WEB.

Ali jezici C i C# su previše komplikovani za početnika.

Ruby je bolje naučiti kao drugi jezik.

Gdje i kako steći početno iskustvo?

Početno iskustvo je ono što vam je potrebno da postanete programer, jer bez njega ne možete dobiti dobar posao. Ovo je začarani krug života.

Prvo, nema potrebe čekati da pročitate apsolutno svu literaturu na odabranom jeziku. Trebali biste pokušati napisati prve redove nakon što pročitate nekoliko poglavlja knjige. Morate ispuniti zadatke predložene u knjizi, analizirati primjere. Zadatke iz knjiga možete komplikovati vlastitim idejama, smisliti vlastite zadatke za obrađeni materijal i riješiti ih.

Drugo, poželjno je brzo pronaći prvi projekat. Poznavanje engleskog jezika pomoći će pri registraciji na burzama koje govore engleski, gdje je tržište veće. Ovaj faktor je apsolutno neosporan kada se obavlja zadatak kako postati programer. To je jednostavno neophodno, pa se engleski mora ne samo učiti, već i usavršavati, naučiti sve raditi na engleskom, a ne samo čitati i pisati. Dajte prednost tehničkoj literaturi, slušajte podcaste na engleskom, učite programiranje u udžbenicima engleskog jezika.

Za one koji tek uče engleski, pomoći će slobodna razmjena na ruskom jeziku. Možete pronaći nekoliko desetina malih projekata koji odgovaraju trenutnom nivou znanja ili nešto iznad njega, aplicirati za njih. Uglavnom, bit će mnogo odbijenica, ali ako ostane nekoliko aplikacija, onda možete dobiti prvo iskustvo. Druga opcija za stjecanje praktičnog iskustva je open source, za koji su potrebni novi ljudi, iako početnici. Kada vidite greške u projektu na GitHubu ili drugim servisima za hosting koda i pogledate program za praćenje grešaka, možete predložiti načine za njihovo rješavanje.

Video o tome kako postati dobar programer

Šta još treba da zna budući programer?

Što još studirati osim engleskog i programskih jezika ovisi o odabranom smjeru.

  • Dakle, WEB programer treba da poznaje JavaScript, CSS, HTML, desktop programer treba da poznaje različite okvire i API-je operativnog sistema, programerima mobilnih ponuda potrebni su Windows Phone, iOS ili Android okviri.
  • Svako treba da nauči algoritme: pronalaženjem odgovarajuće knjige o algoritmima ili proučavanjem na Courseri.
  • Osim toga, potrebno je poznavanje bilo koje baze podataka, strukture podataka, obrazaca programiranja.
  • Korisno je istražiti barem jedno spremište koda. Budite sigurni da znate sistem kontrole verzija (bolje je odabrati najpopularniji Git).
  • Programer mora da poznaje operativni sistem, radne alate i razvojno okruženje, kao i da zna da koristi Google.

Da li biste želeli da postanete programer i zašto? Recite o tome u

1.1 Zašto vam treba

Budi pisar! Ona [ova pozicija] će vas osloboditi poreza, ona će vas zaštititi 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 pod mnogim vladarima.
[...]
Budi pisar! Njegovi udovi su glatki, a vaše ruke će postati mekane. Kad izađete, obučeni ste, uzvišeni ste, ispitani ste od dvorjana. Kada traže veštog, nađu vas. Oni koji ništa ne znaju traže naučnika. On se [još uvijek] uzdiže do te mjere da dobije [titulu] sumpor, hvaljen zbog svog odličnog ponašanja.

Papirus Apastasi II, Stari Egipat

Vremena prolaze i ništa se ne menja. 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, lojalni gazde. 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 u našem vremenu. 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 karijera može izgledati ovako. Prvo, šest mjeseci do godinu dana samostalnog studija. One. učenje bez vanjske pomoći. Maksimalno što možete pitati nešto na tematskim forumima. Sigurno će vam biti od 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 realno naći takav posao. Nakon što sam ovako radio godinu dana, za najobičniju platu od 300-400$. Dobićete iskustvo koje vam otvara sva vrata u životu. Možete dobiti od $1000 na daljinu i/ili otići 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 "izlazite iz...", ali ako baš želite promijeniti prebivalište. Ovo zanimanje je najkraći i najlakši put.

Nakon što završite staž, nikada nećete živjeti lošije. Ovo će biti veoma teško. Čak i čisto psihološka profesija opušta. Nećete se plašiti kriza, ratova, prirodnih katastrofa i loših gazda. Jer u svakom trenutku možete se preseliti bilo gdje i promijeniti posao na drugi. Uvek ćete imati dovoljno novca za „zemiću sa puterom“, 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 glave je težak kao i težak fizički rad. Mozak pod opterećenjem troši mnogo nutrijenata i energije. Mora biti prisiljen da radi silom volje. Ljubitelji rada glavom mogu se naći ne češće nego ljudi koji uživaju u fizičkoj aktivnosti. Svi znamo koliko ljudi može dobrovoljno raditi vježbe ujutro i redovno, godinama, odlaziti u teretanu. Otprilike isti broj želi dobrovoljno opteretiti svoj mozak radom. Za to će biti 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 treba da imate. Ali sve je to sekundarno. Jer diplome, kompetencije i kursevi dolaze s vremenom. Ako nema spremnosti da grizete granit nauke, ništa vam neće sijati. Inače, sva potrebna znanja možete steći za šest mjeseci.

Sasvim logično, što bolje poznajete računar, to će vam biti lakši put. Morate biti kompjuterski pismeni kao napredni korisnik. One. znati šta je sistem datoteka, u smislu kako tamo pohraniti svoje datoteke, kako ih otvoriti različitim programima, kako instalirati programe i koristiti bilo koji od njih, ako to ne zahtijeva neko posebno znanje o tome šta ti programi rade. Mislim da za šest meseci možete naučiti kako da koristite računar u dovoljnoj meri. Č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 se morate hraniti, a ne virtuelni lik. Uredili sistem administratori, najniži nivo. Oni idu na posao u tehničku podršku, jer je kompjuter jedino što mogu dobro da koriste. Ovi ljudi već imaju potrebnu bazu znanja.

Ako imate poteškoća u komunikaciji sa računarom, moj savjet vam je da prvo naučite kako ga samouvjereno koristiti. Ako samo zato što problemi sa kojima ćete se susresti tokom učenja programiranja zahtijevaju isti pristup i vještine kao kod rješavanja problema jednostavnog korisnika. Stoga, neiskusni korisnici moraju postati iskusni. Postoji ogromna količina besplatne literature, interaktivnih kurseva, video tutorijala i stručnih korisnika koji će vam pomoći. Barem su zadaci u 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, biće ljudi koji će pitati: „Čekaj malo!!! Šta ako sam glup (star, invalid itd.)??? Koliki bi trebao biti moj IQ???

U stvari, ne postoji 100% način da odredite svoju sposobnost programiranja prema nekim formalnim kriterijumima. Prema jednom popularnom naučniku - neurofiziologu, ljudski mozak je veoma promenljiv. Ako težina, visina, dimenzije glavnih ljudskih organa variraju, uvjetno +\-50% kod većine odraslih osoba, tada veličine moždanih režnjeva variraju deset puta. Stoga je vrlo teško razumjeti koja će vam aktivnost najviše odgovarati. 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. Kako to biva 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! Upravo ću sve uznemiriti. Matematika je spolja slična programiranju, ali to je samo na prvi pogled. Sjećam se da sam prije 10 godina čitao odlomak iz knjige u kojoj je autor, iskusni programer, rekao da je programiranje više kao lingvistika. Da da! Po njegovom mišljenju, profesionalni lingvisti mogu biti bolji programeri od profesionalnih matematičara! Ne mogu se složiti 100%. Ali u tome postoji racionalno zrno.

Pogledajmo primjer. Trebate napisati upute za dijete kako bi ono kupovalo proizvode 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 nema crne, 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. "Zatražite broj redova istaknutih u tabeli. Ako je broj veći od nule, aktivirajte dugme "Primijeni". Inače pasivno ... ”Ovaj algoritam možete napisati i na prirodnom maternjem ili stranom jeziku ili na programskom jeziku.
Također ćete biti iznenađeni, 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 izmislili drugi. Suprotno tome, prijevod programirane logike na prirodni jezik je također potreban. Kada ovi "drugi" trebaju opisati kako tačno program radi. Da, tako je, C++, PHP i drugi programski jezici mogu se shvatiti kao posebni strani jezici. Matematika je također ponekad 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 pozadine.

Programiranje je posebna grana nauke. To je na neki način povezano sa matematikom. Ali može se povezati i sa lingvistikom. Svakako da su neke programske tehnologije povezane sa nečim drugim. Stoga nije tako lako reći hoćete li uspjeti ili ne.

1.3 Tri etape na putu do profesije

Sada kada ste se dovoljno umorili od svih gluposti gotovo programiranja i malo iznenađujućih činjenica, vrijeme je da odmah pređete na učenje. Vaš profesionalni razvoj treba da se odvija u tri faze:

1) Probni period. Morate 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. Isplati li se uložiti svoje vrijeme, pa čak i novac. Ili razočarenje.

U ovom periodu potrebno je savladati 2-3 tehnologije realnog programiranja. Ali ne bi trebalo da im treba puno vremena za savladavanje. Ako uspete, ima smisla da obećanih šest meseci ili godinu dana potrošite na sledeć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?!

U stvari, postoji samo jedan način da saznate da li možete ili ne. “Da biste započeli programiranje, morate započeti programiranje. A da biste započeli programiranje, morate početi programirati!”

Mnogi ljudi smatraju da je programiranje težak zadatak, 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 dobrog 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 dobiju ogroman novac, oni se bave pisanjem knjiga za koje plaćaju manje, ako ne i ništa. O ovim "neobičnostima" će biti reči kasnije. I sada morate jasno shvatiti, u ovoj profesiji ima vrlo malo tajni. Većina problema se rješava pretraživanjem interneta. Stoga, uprkos složenosti Programiranje je jedna od najpristupačnijih profesija.

Tokom probnog perioda potrebno je da odlučite o tehnologijama na kojima ćete početi. Oni ne bi trebali biti previše komplikovani i dugi za savladavanje. Ali, s druge strane, moraju biti tražene na tržištu, kako se ne bi protraćilo čak i onih par sedmica ili mjesec dana utrošenih na njih.

Moje lično mišljenje je da bi trebalo da bude:

2.1.1 HTML
Veoma jednostavan programski jezik. Da budemo precizniji, to čak nije ni programski jezik na koji su svi navikli. Proceduralno i objektno orijentisano, poput C++, PHP, Ruby, itd. Na njemu je nemoguće 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“, „Ovde, prikaži sliku.png“, „Veličina fonta ovog dela teksta je 12 poena. Boja je crvena."

To je vrlo koristan jezik za početnike. Čak i ako se ne bavite web razvojem, ovo znanje će vam dobro doći. Predviđeno 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, nešto što možete priznati samo najbližim ljudima. Poslodavci i kolege će vas doživljavati kao mentalno retardirane.

Dok učite HTML, stalno ćete nailaziti na reference na CSS tehnologiju. Studija nije potrebna u ovoj fazi. Ali ako se zanesete sa CSS-om, ovo znanje neće biti suvišno.

2.1.2 JavaScript

To je već "pravi" programski jezik. Njegovo proučavanje je usko povezano sa HTML-om. Tu vas čekaju prve prave poteškoće. Iako postoji ogroman broj udžbenika, video tutorijala i svakojakih stranica o jeziku, gdje je sve prožvakano do najsitnijeg 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 ćete postati 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 na JS, gdje nas programeri Qt frameworka vuku za uši.

Ako programer početnik ne zna jednostavne stvari, nema velike razlike odakle početi. Predložene tehnologije ne zahtijevaju velika i teška okruženja za razvoj i izvršavanje. Na njima - puno udžbenika i priručnika na ruskom. 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, trebali biste 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 / provodadžija, radi kao sistemski programer C. 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. Dakle, sa velikom vjerovatnoćom JS će biti pravi izbor.

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

U slučaju SQL-a, ne bih laskao sebi. To je takođe "lažni" jezik. Složenost između HTML-a i JS-a. Najvjerovatnije će to u svakom slučaju svi morati naučiti. 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 plus u učenju SQL-a. Ako ne savladate, nema smisla nastaviti.

Ali bash je drugačiji. Heard JS vam omogućava da zamijenite bash putem modula u node.js. Dakle, ako trebate pisati skripte od nule, JS će biti zanimljiviji. Ako ispraviš 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

Vrlo važno pitanje je koje tutorijale koristiti. Ovdje su navedene opcije u U redu pored kojih moraju proći.
  1. Video lekcije. Ima ih puno na bilo koju temu. Youtube će definitivno izdati plejliste za bilo koju popularnu tehnologiju. Čak i na ruskom. Tu je sve jasno i počnite da vajate svoj prvi „Zdravo, svete!“ to je neophodno od njih. Postoji samo jedan nedostatak. Možda neće obuhvatiti sve dubine jezika koji se proučava. Ali imaćete dovoljno problema i bez toga.
  2. multimedijalni udžbenici. Najvjerovatnije su to kolekcije video tutorijala plus još nešto. Često se prodaju za novac.
  3. Knjige. Najteže za razumjeti. Oni samo pokrivaju više suptilnosti različitih tehnologija. Ostavi to za kasnije. Kada iscrpite mogućnosti prethodnih opcija.
Ali samo molim, ovdje i dalje. Nema potrebe da kupujete bilo kakve kurseve i plaćate čudesne udžbenike. Sva "čuda" već dugo leže, maksimalno 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

Pokazavši snagu volje i strpljenja, herojski ste počeli proučavati tu temu. I pred vama su se počeli javljati svakakvi tehnički problemi. Sve možete učiniti prema uputama. Ali vaši primjeri možda neće raditi. Makar samo zato što se uputstva mogu napisati za prethodne verzije softverskih alata. Najteži korak može biti s prvim pokretanjem izvornog koda, koji ste jednostavno prepisali iz tutorijala.

Najčešće greške su zbog činjenice da početnici ž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 rezultat, u vidu pozicije pripravnika. A onda ćete, okruženi kompetentnim kolegama, sve razumjeti i temeljno proučiti. Dakle, "neki udžbenik" o JavaScriptu koji vam neće biti ni primarni jezik. Može se shvatiti kao maratonska distanca koju treba brzo savladati. Zapravo, svaki udžbenik programiranja treba doživljavati kao polje koje treba preorati. Svako ko preskače male stvari na kraju se suočava sa nerešivim problemima. I umjesto društva kompetentnih kolega, ponovo će biti potpuno sami u proučavanju gradiva.

Na primjer, da li ste se loše sjećali nekog manjeg izraza? I nakon nekoliko dana, interpreter koda ili kompajler će vam dati opsežan izlaz greške. U kojoj će biti na desetine pojmova, kako onih koji su se ranije susreli u udžbeniku, tako i onih koji nisu ispunjeni. A greška koju prepoznajete može biti ključ. Nakon što ga popravite, sve ostalo će magično nestati. Većina razloga za napuštanje škole u početnoj fazi vezana je upravo za raščlanjivanje grešaka koje je izdao tumač ili kompajler.

Čini li vam se da je detaljan opis upotrebe navodnika sa aritmetičkim operacijama neka luda glupost koju nikada nećete koristiti? Možeš ili ne moraš. Ali autor to smatra jednostavnim. Stoga, dalje u tutorijalu, svuda će se naći dodavanje znakova 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, sa istim "glupim" opširnim objašnjenjima.

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

Ako imate problema koje možete uputiti na forum ili tematsku grupu društvenih mreža, onda je sa 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, potražite tekst ili šifru greške na internetu. Vrlo često se nađu objašnjenja, ali na engleskom. Čak i nakon prijevoda, malo je toga za razumjeti. Ali morate se jako potruditi. Ne radi se zapravo samo o situaciji u kojoj rješavate konkretan problem. Ovo je situacija u kojoj dobijate novo iskustvo. Ništa manje važno od znanja iz udžbenika. Uz to, radi se i analiza potencijalno problematičnog koda. 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 postoje druge ideje.

2) Uradite nešto drugo što ne zavisi od vašeg problema i radi. 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. Ne preporučuje se hitna žurka s rješenjem. Bolje zapišite i ostavite za sutra.

3) Sljedeći ili bilo koji drugi dan. Pokušavamo sve nove ideje da riješimo problem. Ponavljamo prvi korak.

4) Ako je i dalje sve loše, pripremamo pitanje za mentora ili za forum. Morate biti jasni o tome šta želite da radite. I koja je tvoja šifra. Zamoliti vas da za vas sredite kod koji se niste ni potrudili dobro proučiti govori o potpunom nepoštovanju.

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 profesionalcima, mentorima, 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 ste negdje poslani, morate tamo ići. U suprotnom, mentor će sam otići tamo i pronaći rješenje. Ovo će u velikoj meri pokvariti njegovo mišljenje o vama.
  • Kako mentor ne bi satima stajao za vašim stolom i ne pazio na svaki vaš korak, potrebno je grupirati pitanja. Pitajte ih "na veliko", puno se nakupilo odjednom. Ne kao što se dešava.
  • Pitanja je najbolje postavljati kada je vaš napredak blokiran. Ako imate još nešto da radite, uradite to. To također može pokrenuti pitanja. Koje je bolje pitati zajedno.

3 Samostalna studija

Stanite na 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 besposleno, inače ćete dobiti batine, jer dječaku je uvo na leđima, a on sluša kad ga tuku.

Ne budi čovjek bez razuma, bez obrazovanja! I noću te uče, a danju si vaspitan, ali ne slušaš nikakva uputstva i radiš ono što si planirao. I lavovi su dresirani, i konji pripitomljeni - i samo vi! Niko kao ti nije poznat u cijeloj zemlji. Primijetite to i sami!

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 molitveni dom bez svog boga, kao kuća bez hljeba. Naučeni ste da pevate uz flautu. Sjediš pred djevojkom i umazan si tamjanom. Tvoj venac od cveća visi ti oko vrata.

Vezat ću ti noge ako lutaš ulicama i bit ćeš tučen nilskim konjem!
Scribing uputstva. Drevni Egipat

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

I spremni ste da potrošite šest mjeseci ili godinu dana da savladate profesiju. I što je najvažnije, 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.

ljubavnici ljudi koji uživaju u ovoj aktivnosti. I spremni su to učiniti čak i besplatno. Žrtvovanje vremena koje se može potrošiti na zabavu, rekreaciju, itd. Jednom kada probate, vrlo dobro znate da li volite programiranje ili ne. Amateri imaju jednu jako dobru kvalitetu. Ne moraju biti motivisani. Radiće vrijedno, savjesno i rado primati nova znanja. Zatim će sa istim zadovoljstvom podijeliti ovo znanje sa kolegama i prijateljima. Ali većina amatera piše članke, pa čak i cijele knjige o svojim iskustvima.

Profesionalci spremni su to učiniti samo zbog novca. Ili zbog mogućnosti da ih primite. Profesionalci moraju biti motivisani. I skoro uvek prestaju da se razvijaju čim dobiju dobar posao. Čak i povećanje plate dva puta možda neće biti 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. Neko, isprobavši različite tehnologije, pronađe zanimanje za sebe.

Pretpostavimo da je programer radio za sebe za novac. Imao je priliku da nekako ode do kupca, razjasni zahtjeve sa direktnim korisnicima. I programer je razumio. Susret s računovođama je mnogo zanimljiviji od pisanja koda. Kao rezultat toga, programer će voziti za cijeli tim. Čak i van radnog vremena. Postepeno se prekvalificira za sistemskog analitičara ili projektnog menadžera.

Ali u osnovi, oni isprobavaju različite tehnologije. Neki od njih očaravaju, a neki ne. Čak i ista tehnologija u početku može začarati, a nakon godinu dana dosaditi.

Veoma je važno da svaka osoba shvati koja aktivnost više voli. Jer životna udobnost zavisi od toga. Postoji uobičajena zabluda da je rad samo za zarađivanje novca. Iako je ovo ogroman i najbolji dio života. Na poslu se možete baviti kreativnošću, komunikacijom i još mnogo toga. Ako zbog novca odete na nevoljeni posao, to ćete morati nekako nadoknaditi zabavom, opuštanjem. Kao rezultat toga, možda neće biti dovoljno novca ni za kompenzaciju.

Najplaćeniji stručnjaci su amateri sa iskustvom. Oni takođe 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 relevantna. 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 ćemo posebno zarađivati, posebno programirati. Što je, naravno, nemoguće.

Pred vama je još staž. A pripravnički staž se rado prima samo u oskudnim specijalnostima. Pogotovo na daljinu. Stoga razmislite / odlučite čemu želite posvetiti svoj život. Šta ćete studirati u ovoj fazi? Možete nastaviti sa JavaScript-om. Možete probati nešto drugo. Niko se ne trudi da se predomisliš na sred puta. Već ste se testirali i postoji određeno polje za eksperimente.

Jedini izuzetak koji bih napravio je za C++. To je težak 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 ne volite JS i osjećate se kao "profesionalac" opisan gore, Java je vjerovatno 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. Uprkos činjenici da se radi o tehnologijama srednje složenosti. (Pretpostavljam da u Java svijetu ljudi plaćaju samo za mogućnost pokretanja jar datoteka.)

Tu je i divan Python jezik. Bit će vrlo korisno svim vrstama matematičara, 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 usavršavanje njihovih vještina. U stvari, podići ćete tržišnu cijenu svog rada. Budite sigurni da će se sve što izgubite zbog programiranja u ovoj fazi višestruko vratiti.

Samostalno učenje ima prednost u odnosu na praksu. Možete dobiti više fundamentalnih znanja. U stvari, većina programera su profesionalci. Naučili su malo. Moram na posao. I iskoristiti njihovo malo znanja. Većina onoga što čitaju su mali članci o tome kako nešto brzo skuhati. Ili začepi bilo kakav problem. Nedostaje im osnovno znanje. Iznenadićete se, ali nije sve moguće
"google". Nešto što u početku morate znati i moći. Makar samo zato što morate da se nosite sa onim što ste "guglali". Kod koji nađete mogao bi napisati vrlo dobar stručnjak. Uz nedostatak temeljnog znanja, jednostavno ga nećete razumjeti.

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

Dovršavanje zadataka učenja u ovoj fazi je težak, tužan zadatak! Bićete dosadni, nezanimljivi, poželećete da napustite sve. Većina radi. Motivirajte se, smislite zanimljive zadatke, nastavite sa učenjem. I nećete biti većina.

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

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

Tehnički engleski, lakši za učenje. Samo prevedite materijale koji su vam potrebni u raznim prevodiocima. 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 ovladati kreiranjem tablica, spojeva i spojeva vrlo je poželjno. Najkorisnije će, možda, biti proučavanje PostgreSQL-a 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 naučite samo to, postoji šansa da dobijete posao vrlo blizak programiranju. U takvom poslu će biti malo lakše naučiti samo programiranje. I vrlo lako ćete biti prebačeni sa testera na programere. Jednom kada pokažete da možete napisati dobar kod.

Savladajte "slijepo" metod kucanja deset prstiju na tastaturi
Ima dosta toga da se štampa. Zato ga svakako pogledajte. Na internetu postoji mnogo besplatnih online trenera. Možete ga pokušati savladati prije prve, "probne" 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 na svojim studijskim projektima. Ali zadnje. U početku će biti teško razumjeti šta je to, koje prednosti daje.

Ovi predmeti su dobri jer vam omogućavaju da ne izgubite tempo učenja. Čak i kada zaglavite u učenju glavnog jezika. Sigurno ćete imati opisane "nerješive" probleme. Prebacite se ovdje i polako tražite rješenje.

3.2 Uobičajeni načini sticanja znanja

univerzitet
Mogu vam reći mnogo o visokom obrazovanju. Ali ovo nije od praktične važnosti. 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 dobijete prve lekcije besplatno. I bježi odatle ako ništa ne razumiješ na času. Nijedan brend pod kojim su ovi kursevi napravljeni neće doprinijeti vašem razumijevanju teme. Tamo je "garancija posla" 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 oni će to učiniti za svoje unutrašnje potrebe. Takvi kursevi po pravilu imaju određene uslove za kandidate. Yandexu je potrebna matematička podloga. EPAM je zahtijevao poznavanje osnova programiranja. Samo nemoj stići tamo. Ali ako postoji prilika da pohađate ove kurseve, svakako vrijedi nastojati otići tamo! Čak i ako ostanete u "ropstvu" ovih kompanija za nekih 400-500$ mjesečno cijelu godinu. Veliki plus za ove kurseve. Ne zahtevaju nikakvo obrazovanje.

3.3 Strategija učenja

Većina studenata očekuje da će naučiti programiranje jednostavnim učenjem. Kao, sjeo je za udžbenik neupućen u tu temu, završio ga podučavanjem i počeo sve da razumije. Početnicima se cijeli proces čini linearnim. Prelazeći od poglavlja do poglavlja, prolazeći zadatke obuke, osoba stiče znanje. Ljudi ne predstavljaju druge modele. Jer nikada nisu radili složene i duge projekte. Ali u stvari, nije sve tako jednostavno. Svaki programer zna da se u toku projekta neminovno otkrivaju novi detalji koji ometaju ili, naprotiv, pomažu u njegovoj implementaciji. Po pravilu, što je projekat veći, to manje liči na ono što je prvobitno zamišljeno.

Jednostavan primjer. Naručili ste odelo u ateljeu. Raspravljali o svim detaljima. Nedelju dana kasnije zove se majstor sa vestima, dogovoreni oblik šavova izgleda jako loše na odijelu, treba ga promijeniti. Tada se ispostavlja da je potrebno promijeniti dio materijala. Nema potrebe. Vi se mijenjate i mijenjate. Na kraju dobijete oko 2/3 onoga što ste prvobitno nameravali. U slučaju razvoja softvera. U projektu poslovnog odijela možete dobiti kupaći kostim. I za cijenu odijela. Ako mislite da je ovo nevjerovatno, onda pitajte pametne projekt menadžere. U međuvremenu, morate naučiti jednu stvar, u vašem studijskom projektu će biti mnogo neočekivanih stvari. I morate biti sposobni da radite sa ovim iznenađenjima.

Ako ne ulazite u divljinu upravljanja projektima, ne biste se trebali linearno razvijati u IT-u, kao što je opisano na početku. I to u spiralu. To izgleda ovako. Ako ne poznajete dobro kompjuter. Nema potrebe da nagađate da ćete za godinu dana biti C++ ili PHP programer. Prvo proučite kompjuter. Otvarate nove mogućnosti i prepreke. Na primjer, počeli smo više da razumijemo šta na kraju želite da uradite, sajtove ili desktop aplikacije. Zatim, u fazi probnog perioda, pokušaćete da programirate za web (html, js). Naučit ćete više o programiranju. Nakon probnog perioda, već možete pogoditi svoj glavni smjer. Koji jezik ćeš učiti. Neko na samom početku putovanja 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 to biti zanimljivije od onoga o čemu ste sanjali na početku.

U procesu učenja svakako će biti i čitanje udžbenika i rješavanje problema odatle. Ali sam redoslijed i redoslijed polaganja tutorijala treba da se povinuju "spiralnom" ciklusu. Tako da svaka faza predstavlja dobru osnovu za sljedeću.

Morate biti sami svoj menadžer i plan ostvarivo ciljevi, prekretnice. Trenutno mnogi mladi ljudi maštaju o tome kako će biti kreatori vrhunske web stranice ili operativnog sistema. I 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. Vrlo je važno da Vaši projekti i ideje imaju svoju uspješnu implementaciju. Ptica u ruci vrijedi dva u grmu.

Osim toga, "menadžerski" kvaliteti su veoma korisni za one koji sebe smatraju "glupima". U IT-u je vrlo lako biti pametan, a vrlo teško biti pametan. Pametna osoba može lako uzeti udžbenik, pročitati ga i odmah uraditi nešto korisno. Glupi ljudi će uzeti isti udžbenik, pročitati ga i ništa ne razumjeti. Dakle, morate razbiti materijal za obuku na dijelove i trenirati više (pisati kod) na osnovu ovih dijelova. Materijal možete razbiti na takve dijelove da svakome dođe. Za one koji znaju planirati proces učenja i rješavati „nerješive probleme“ (2.3), ne postoje nepremostive prepreke. Savladaćete apsolutno sve, bez obzira na inteligenciju. Neka potraje mnogo duže. Ali mnogo vam je važnije da imate holističko i provjereno znanje/iskustvo nego brzina njihovog sticanja.

Naravno, biće vam veoma teško da razumete i, što je najvažnije, primenite takav model. Ali oni koji uspiju imat će ugodan bonus u vidu mogućnosti da postanu „menadžer projekta“. Ako trenutno želite samo platu programera, onda ćete htjeti platu projekt menadžera toliko da nećete moći spavati. Ovdje postoji samo jedan minus. Međutim, prvo morate biti dobar programer.

3.4 Kada tražiti posao

Veoma je teško reći kada treba 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. Ako imate manje od 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. Takvi bi trebali duže da uče. Preći od nisko kvalifikovanog do visoko kvalifikovanog. Za dobijanje visokokvalifikovanih programera u svoje redove, poslodavac je spreman na mnogo. Možda će vam biti ponuđena pomoć oko preseljenja. Ili čak i rad na daljinu. Starost iznad 30 ili 40 godina neće biti bitna. Glavna stvar je pokazati svoj visoki akumulirani nivo.

Pokretanje traženja posla što je prije moguće ima smisla ako već imate zauzet posao. Gdje ne čitate knjige o programiranju. U ovom slučaju vam nije bitno nakon kojeg posla uveče učite predmet. Trenutno ili nakon posla kao pripravnik.

Rano traženje ima veliki nedostatak. Poslodavac će nakon intervjua imati neko mišljenje o vama. Što ne želite da menjate tokom vremena ako ste nekada pokazali nizak nivo znanja. Šest mjeseci kasnije, kada budete znali mnogo više, vaš životopis se možda neće ni uzeti u obzir. Jer mišljenje o vama će ostati isto. Možemo se samo nadati da će prvi intervju na kraju biti zaboravljen. Ali to je najmanje šest mjeseci. Moguće je da poslodavac vodi bazu podataka kandidata. Da ih ne intervjuišemo dvaput. U ovom slučaju, sve će biti veoma tužno.

3.5 "Šta trebam znati da dobijem Juniora?"

Početnici često postavljaju ovo pitanje. Ovdje nema definitivnog 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še šanse da dobijete posao kao "junior" ili, kako sam rekao, "pripravnik" variraju tokom vremena u zavisnosti od nekoliko procesa i faktora.

Proces vašeg samoosposobljavanja čini vas privlačnijim poslodavcima. U ovom trenutku pojavljuju se slobodna radna mjesta koja odgovaraju vama. Usko povezan sa programskim jezikom koji učite. Tamo šaljete svoj životopis. A poslodavac bira najpogodnijeg od prijavljenih kandidata. Kvalifikacija kandidata je ograničena odozgo platom upražnjenog radnog mjesta. Možda ćete biti najbolji za ovu platu. Ili možda ne. Dakle, vremenom naučite i cijenite. I u jednom trenutku, na bilo koji način, bićeš najbolji od svih koji su se odazvali.

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

Možete puno koštati kao C++ programer, ali vrlo malo kao PHP programer.
Najviše "besplatno", faktor vaše slave kod poslodavaca. Kada ste poznati više poslodavaca. Veće su šanse da ćete biti odvedeni negdje.

“Strpljenje i rad će sve samljeti!” Kontinuirano samoobrazovanje je vaša garancija za dobijanje posla!

4 Prvi posao kao pripravnik

4.1 Kako potražiti svoj prvi posao?

4.1.1 Portfolio

Započnite pisanjem portfolia. To bi trebao biti mali program ili skripta za web lokaciju koja radi i izgleda korisno. Zadatak bi trebao biti jasan vašem potencijalnom poslodavcu. Na primjer, adresar. Ako napravite kalkulator za izračunavanje putanja leta Zemljinih satelita, sigurno će biti cool. Ali malo je vjerovatno da će vaš budući poslodavac biti u toj temi. Stoga neće moći ocijeniti rezultat. Poželjno je da program na neki način pohrani postavke i korisničke podatke. Trebao bi 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. Pa, ako će aplikacija koristiti 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 staviti ga u pretraživač.

Da bi šifra u portfoliju bila dobra, mora se ostaviti da „leži“ nedelju dana. One. napiši i ostavi na nedelju dana. Zatim pregledajte cijeli kod. Nakon što popravite greške, postavite ga na neku privremenu loptu i napravite temu na forumu sa zahtjevom da vidite izvorni kod iskusnijih programera. Uz obaveznu naznaku da je ovo vaš portfolio.

Nakon ispravljanja grešaka na koje će Vam biti ukazano. Možda će to čak biti globalna promjena vaše kreativnosti. 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 će vas povući i postavljati razna škakljiva pitanja.

Vjerujte, kreiranje portfolia i pregleda koda (code review) od strane iskusnijih kolega će dodati +30% vašem iskustvu. Takođe vam omogućava da adekvatno procenite svoje trenutne kvalifikacije. Vaš kod sigurno neće biti savršen. Spremite se, tamo će pronaći greške (besplatno!) Ovo i nije tako loše. Ali kada ne znate zašto ste kod napisali ovako, a ne na drugi način, prava nevolja. Dakle, samo ti nisi napisao kod! U ovom slučaju, oni se vraćaju sa željom da se vrate za šest mjeseci sa svojim kodom.

4.1.2 Sažetak

Općenito, životopis može 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". Kaže da je kandidat sklon laganju. Izostanak postignuća koja se ne pamte ni na intervjuu govori da je osoba „profesionalac“. I mnogo više.

Jednom je bila smiješna priča. Obavezuje se da kritikuje rezime jednog kolege. Zaključci 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 plati. A ti ne ideš nigde!"

Da se ovo ne desi. Takođe je poželjno dati životopis HR specijalistima i programerima na evaluaciju.

Naravno, u sažetku nije potrebno lagati ili iznositi sumnjive činjenice. 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 odgovarate 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 (detaljno). Najmanje 10 stranica. Ali samo 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 Pronalaženje posla

Sada prelazimo na najzanimljivije.
Morate jasno shvatiti da su pripravnici i neiskusni programeri rijetko potrebni. Poslodavci prvenstveno traže iskusne ljude. Ali njihove plate im ne dozvoljavaju uvijek da zaposle prave ljude. Stoga će se vaš životopis s nula iskustva prije ili kasnije uzeti u obzir. A kod iz vašeg portfelja će vam u tome puno pomoći.

Stoga biste trebali poslati biografije na sva slobodna radna mjesta koja odgovaraju vašem profilu. Na primjer, proučavali smo JavaScript. Šaljite biografije gdje god je potreban ovaj JavaScript. Unatoč minimalnom potrebnom stažu, prisutnosti specijaliziranog visokog obrazovanja, činjenici da je konkurs već zatvoren i još mnogo toga. S druge strane, oni bolje znaju šta da rade s tim. Takođe pošaljite svim firmama koje teoretski imaju ili bi mogle imati stručnjake u vašem profilu. Poštu obično rastavljaju sekretarice. Nije velika stvar ako bace tvoju e-poštu u smeće. Mišljenje takvih poslodavaca o vama nije bitno. Čak i ako se radi o najprestižnijim firmama.

Sama potraga za poslom traje od mjesec do dva. Obično, ako se prijavite na konkurs, bićete kontaktirani nakon 2-3 dana. Zatim, tokom sedmice, intervju i/ili testni zadatak. A onda, u roku od mjesec dana, poslodavac će razmišljati o rezultatima. Direktna odbijanja se obično ne šalju. Samo zaborave na tebe i to je to. Zato se pripremite za mnogo intervjua, nakon kojih ćete zaboraviti na njih. Ne oslanjajte se ni na jednu opciju. Prošao intervju i ponovo se upustio u učenje programiranja.

4.1.4 Karma programera

Postoji jedan vrlo zanimljiv trenutak kada tražite posao. Recimo da ste naučili JavaScript. Vjerno podučavao i učio. Zatim potražite posao kao JavaScript programer. I odjednom vam se nudi da postanete, na primjer, sistemski programer. Poslodavac može reći da li je vaš JavaScript dobar. Ali on ima samo slobodna radna mjesta za pripravnike za sistemske programere C. Dakle, možete ići za pripravnika C.

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

4.1.5 Intervju

Iznenadit ćete se, ali većina intervjua za programere se odvija na daljinu. Stoga, čak i ako želite da se zaposlite u gradu, stotinama kilometara daleko, sasvim je u redu da ste sada na drugom mjestu. Poslodavac može na daljinu provjeriti vaše kompetencije i odlučiti hoćete li otići na lični razgovor ili otići direktno na posao u njegov grad.

Ako je intervju u odsustvu, onda je sve jednostavno. Trebat će vam dobra veza, internet i telefon. I sat i po do dva vremena kada se niko neće miješati. Ako je tišina i dobar internet u vašem domu nemogući. 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, 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 razloga 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 želite li tamo raditi. Ako želite, svakako smislite razlog zašto je tu. Zašto ste tamo poslali svoju biografiju?! Uostalom, možda ne odgovara formalnim zahtjevima.

U svakom slučaju, prije svega trebate željeti zanimljiv posao i profesionalni razvoj. Tip pokušao programirati, stvarno ti se svidjelo. A sada tražite zanimljiv posao u ovom pravcu. Od svog budućeg zaposlenja, prije svega, očekujte zanimljive zadatke. Prilika za povezivanje sa kolegama istomišljenicima. I, naravno, da uglancate 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ćina njih je preopterećena glavnim pitanjem, oko plate. Ovo je zadnja stvar koju treba shvatiti. Takva pitanja obično prvo postavljaju "profesionalci". Šefovi traže amatere.

Obično je plata pripravnika, sa određenim znanjem o temi, plata običnog kancelarijskog hrčka u istom gradu. Ali ako su ponudili manje, moj savjet je da ipak pristanete. Recimo da ste sistemski administrator. Dobijate $500. Mislim da je 500 dolara za sistem administratora u centralnoj Rusiji plafon. A sada vam se nudi pozicija programera (zapravo pripravnika) za 300 dolara. Ako ti je to sranje. Nemoj ni počinjati 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 zajedno sa 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 njihovom iskustvu. 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 šest mjeseci sustignite svojih 500 dolara. I ovo će biti samo početak vaše karijere.

Naravno, može se desiti, nećete dobiti “Iskustvo i znanje za 1000 dolara”. U ovom slučaju, samo potražite drugi posao.

Tokom intervjua ne treba da se plašite ničega. Neophodno je ponašati se prirodno, ali imati radni stav. Intervjui su obično pristojni. 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 dati pravo mišljenje o tebi. Loše mišljenje vas može okrenuti protiv. Što nema nikakvog smisla. Možda ste još korisni. A dobre stvari mogu biti razlog za traženje veće plate.

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

4.2 Stažiranje

Zadatak prakse je uglačavanje stečenog znanja.

4.2.1 Samostalni rad

Programeri početnici mogu pročitati mnogo članaka sa interneta, koji govore koliko je sjajno biti "slobodnjak". Sjedite pod palmama, primate jednokratne narudžbe i "ne radite za svog ujaka".

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

Ne morate imati velike nade. Samo pokušajte pronaći narudžbe na kraju samostalnog učenja. Bit će sjajno ako to možete učiniti. Ali nemojte pretpostavljati da ste završili praksu i postali pravi programer. Ovo je dobro zanimanje, samo kada te ozbiljne kompanije još ne primaju. Ili ste već tamo radili 3-5 godina.

4.2.2 Kompanije

Jednom sam čuo za jedan ekonomski zakon. Što je veće udruženje zaposlenih, to više prima ovo udruženje za svakog zaposlenog. Shodno tome, u velikim firmama su plate zaposlenih obično veće. Nego individualni "slobodnjaci". Barem u IT-u. Poznati giganti industrije su ti koji plaćaju najveće plate i kupuju najbolje umove. Stoga, „ujak“, koji okuplja specijaliste u šačici i daje posao, mora biti voljen. Jer zajedno možete zaraditi mnogo više nego odvojeno.

I ako je tako. Morate naučiti kako raditi u timu. Koristite alate za razvoj zajednice. Kolege će s vama podijeliti svoja iskustva, pomoći vam da ispravite greške. I sami ćete se iznenaditi koliko toga ima novog u struci, 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". Naučiće samo ono znanje koje je potrebno ovdje i sada. Recimo da trebate napraviti SQL upite za kod. Brzo će potražiti na internetu kako napraviti zahtjev za određeni zadatak. I pisati kod na osnovu toga. Zatim kod dolazi na "pregled koda" iskusnom kolegi. Ispostavilo se da umjesto dva zahtjeva i gomile koda možete napisati jedan zahtjev, ali sa "joins". A sada se pripravnik penje na internet. On tamo čita dio nekog materijala o "spojevima". 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. To obično rade samo "amateri". Koje postaje znatiželjno šta još postoji osim „spojeva“.

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

Praksa nesmetano prelazi u redovan rad. Teško je izdvojiti trenutak kada sebe možete smatrati punopravnim programerom. Vjerovatno kada na pitanja kolegama ponestane jednostavnih odgovora. I razumiješ, većinu problema ćemo morati sami rješavati. Obično je ovaj period šest mjeseci. Ako ste uradili dobar posao u prethodnoj fazi. Ako su požurili, smjestili su se, nakon što su do pola pročitali knjigu na glavnom jeziku. Zato nastavite da savladavate knjigu i dodatne tehnologije.

Nakon stažiranja, slobodni ste da radite šta god želite. Freelance. Radite svoje projekte i još mnogo toga. Ali moj savjet tebi. Povremeno čitajte literaturu vezanu za vaš rad. Za naprednu obuku. Ako prije pročitate 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 da savladaju našu divnu profesiju.
Ako uživate u ovom poslu. Postoji ideja da se razgovara o prednostima i nedostacima visokog obrazovanja u IT.

Tagovi:

Dodaj oznake

Komentari 179

Pozdrav svima! Moje ime je Konstantin Botnari. Predajem programiranje skoro 8 godina. Sve je počelo kada sam bio postdiplomski student i držao predavanja svojim vršnjacima na jednom od univerziteta u Odesi. Sada predajem u školi računara Hillel, predajem Uvodni kurs: uvod u programiranje. Želim da razbijem neke mitove oko najtraženije profesije 21. vijeka i kažem vam ko su programeri i čime se bave.

Maturanti idu besplatno na plivanje

Tyzhprogrammer, ili Šta je poseban način razmišljanja

Možda je ovo najčešći mit. Govore različite stvari: da programeri imaju drugačiju strukturu mozga, da su otuđeni i povučeni. A bez toga ne možete postati uspješan profesionalac.

Da li je istina? Djelomično. Ali uspješan programer ne mora uvijek biti snob. Šta je važno da programer zna:

  • Biti sposoban raditi u timu. Bez obzira odakle početi: web programiranje, razvoj mobilnih aplikacija, izgled i još mnogo toga - to je timski rad. Stoga, bez ovoga - nigdje.
  • Shvatite šta je prioritet i kako ga pravilno odrediti. Čak iu najprestižnijoj kompaniji, programeri često dobijaju zadatke u stilu „Uradi to sada, ali ovo je bilo neophodno jučer, ali ovde - brzo i samo ispravite“. Strukturiranje zadataka je jedna od najvažnijih vještina kul programera.
  • Imajte fenomenalnu istrajnost. Ne, nećete morati sjediti u kancelariji od poziva do poziva, ali provodite puno vremena za laptopom ili računarom je sigurno. Zato se IT ljudi smatraju nedruštvenim: samo dok se svi odmaraju, većina njih radije radi.
  • Ne plašite se poboljšati i naučiti nove stvari. Programski jezici su zastarjeli, potrebno je naučiti nove, kreiraju se mobilne aplikacije na novim platformama, svakodnevno se pojavljuju desetine usluga. Ako želite da postanete dobar programer, morate biti fleksibilni i spremni da nadogradite svoje vještine.
  • Volite svoj kompjuter. Ovdje se više nema šta dodati. Vaša mašina je glavni radni alat.

Ove vještine već mogu donijeti stabilan i dobar prihod. A šta ako tu dodamo profesionalne vještine i obrazovanje?

Šta programer treba da zna

Iznenađujuće, uloga matematike u životu progera je jako precijenjena. Da, ova nauka je osnovna, a poznavanje višmata može biti dobra osnova za izgradnju uspješne karijere. Ali ovo je daleko od glavne stvari u kojoj trebate početi učiti programiranje. Čak i bez matematičkog znanja i tehničke baze, možete izgraditi karijeru kul programera. U procesu studiranja u računarskoj školi možete dobiti apsolutno sva znanja koja su dobrom stručnjaku zaista potrebna.


Budući programeri

Istina je u detaljima

Karijera u IT-u je mnogo posla koji se može obaviti samo uz visok stepen pažnje. Mnogo je oblasti u kojima je važna i upornost - to je hirurgija, nakit, razna merenja. Ali u programiranju je ova vještina gotovo osnovna.

Samodisciplina, pažnja i marljivost - tri su stuba na kojima počiva karijera uspješnog programera u svjetski poznatoj kompaniji. Kao što sjedenje za laptopom neće raditi, kao ni skrolovanje feeda na društvenim mrežama, lajkovi i gledanje videa.

Na šta morate biti spremni kada počnete:

  • Čak i jednostavni zadaci ponekad zahtijevaju ogromnu količinu vremena. Naravno, tada se mogu riješiti mnogo brže, ali u početku ćete se morati jako potruditi da pronađete rješenje problema.
  • Kako programirati - važno je ne pasti, već biti u stanju da se podignete. Svaki neuspjeh na tom putu, pokvareni kod, izostavljanje varijable samo je odskočna daska za uspješnu budućnost. Čak i ako je stranica neaktivna, ne možete je napustiti i jednostavno otići. Morate podići svoj prtljag znanja i iskustva i smatrati da je to vrlo varijabilno.
  • Gdje započeti programiranje: zapamtite da je malo vjerovatno da će prvi put uspjeti. Nije dobra web stranica, nije mobilna aplikacija prilagođena korisniku, čak ni chatbot. Greške u programiranju su sasvim normalne, čak bih rekao da su korisne. Moji najbolji maturanti proveli su nekoliko stotina sati tražeći rješenja i implementirajući svoje projekte. I napišite ispravan kod. Ali tada je za njih ovaj zadatak bio nešto što se može usporediti s rebusom u dječjim knjigama.

Algoritmi su važni

Sve je u programiranju bazirano na algoritmima. Ako općenito, onda postoji koncept dekompozicije. To je raščlanjivanje velikih i složenih ciljeva na male podciljeve. Ili maksimalno pojednostavljenje zadatka. Kao rezultat drobljenja, problem više ne izgleda tako komplikovan, a njegovo rješenje kao da leži na površini.

Ovakav stav prema stvarima naziva se algoritamsko razmišljanje. Jeste li se prepoznali? Čestitamo! Onda je put programera samo za vas! Ostaje samo dodati potrebno znanje i iskustvo.

Ali često se jednostavno potcjenjuje važnost algoritama i sposobnost njihovog pravilnog sastavljanja. Kao primjer, pokušajte napisati algoritam za čišćenje stana ili kuhanje kafe. Sada zamislite da ćete u programiranju za apsolutno bilo koji zadatak morati pripremiti desetke naredbi i uslova, inače se jednostavno neće izvršiti.

Ne razmišljaju svi u takvim algoritmima. Neko vizualizira slike, drugi predstavljaju apstraktne modele. Naravno, mogu kreirati algoritam, ali to će biti plod dugog i napornog rada, ali ne talenta i prirodne prirode njihovog mozga. U ovom slučaju, možda ima smisla pronaći se u profesiji vezanoj za kreativnost ili komunikaciju?

Programer: očekivanje i stvarnost

Kako postati programer je postati timski igrač. Često informatičaru trebaju pomoćnici, istomišljenici, podrška. U radnom okruženju stalno je u kontaktu sa kupcem, priprema test zadatke i odobrava ih.

Nije tako lako preživjeti sam u oblasti IT-a. Zapamtite, što prije izađete iz svoje sobe i prodate svoj projekat, prije ćete se moći popeti na korporativnoj ljestvici.

U programiranju je najteže početi, pa budućim web programerima želim dati jednostavan, ali vrlo značajan i važan savjet: ne bojte se novih početaka.

  • Niko nije ustao i napisao web stranicu u jednom danu.
  • Nema onih koji sada zarađuju milione koristeći stara znanja.
  • Za samousavršavanje, potrebno vam je malo: budite svoji i usavršavajte se.

Svaki projekat je novo okruženje, neistraženi zadaci, ažuriran tim. Možete se, naravno, povući. Ali onda ne možete postati IT guru. Uronite u ovo iskustvo, naučite iz njega nešto novo za sebe, steknite iskustvo i znanje.

U programiranju to neće ići na znanje stečeno prije 10 godina. Previše mobilno okruženje. I previše je potražnje za dinamičnim i fleksibilnim profesionalcima. Stoga vam želim da uvijek držite prst na pulsu i odgovarate vremenu u kojem želite da radite.

Radi šta voliš

Banalno, ali bez toga nikako. Programiranje je nešto što bi trebalo da izazove jezu u kolenima i želju da završite vikend i krenete na posao. Uostalom, ako se ne divite svom radu, kako ćete onda stvoriti remek-djelo? Dobar programer ostavlja dio sebe u projektu. Ne samo vrijeme ili znanje, već i malo ljubavi prema zajedničkoj stvari.

Stoga, ako je programiranje samo dobar posao sa odličnom perspektivom za vas, bolje je ne gubiti vrijeme, trud i novac. Potražite nešto drugo – posao koji može postati važan dio vašeg života. Sastavni dio.

Ocijenite materijal

Dobar dan dragi posjetioci. Artem Gubtor je u kontaktu.

Danas želim pokriti jednu veoma važnu temu za svakog programera početnika.

Nije bitno koji ćete programski jezik naučiti i zašto. Mada, već sam pisao o tome šta treba ili. ja ću vam dati osnovni principikoje svaki programer treba da zna.

Kako naučiti programiratiŠta izbjegavati i na šta se fokusirati? Mnogo je pitanja u ranoj fazi i bolje je odgovoriti na njih sada. Stoga, pročitajte do kraja i saznajte kako naučiti programirati.

Da su me ovo učili svojevremeno, savladao bih ovu vještinu mnogo brže i bolje.

9 zapovesti programera

1. Da li je programiranje preteško?
Klonite se ljudi koji tako misle i nametnite vam ovu ideju. Na kraju krajeva, tada će se učenje programiranja činiti težim nego što zaista jest. Uvjeravam vas, ako počnete učiti programirati i razmišljate o tome koliko je to teško, onda na kraju, u najboljem slučaju, nećete dugo izdržati, au najgorem, programiranje će vam postati odvratno. Da li je logika jasna? Mislim da da.

2. Na pisti
U svakom slučaju, najteži dio je početak. Moj prijatelj koji predaje strani jezik kaže da je u početku učenje jezika kao da poletiš iz aviona. Zašto? Za poletanje je potrebno puno energije, snage, pažnje i vještina. Dalje lakše, avion se praktično lebdi u zraku.

Takođe u programiranju. U početku, kada počnete da učite, potrošićete mnogo vremena i truda na posao koji profesionalci obavljaju u trenu. Ne brini o tome. Radite marljivo i strpljivo.

Možda postoji iskušenje da uzmete gotova rješenja, kopirate ih i ne idete u parno kupatilo. Ali na ovaj način nikada nećete poletjeti. Tako ćeš se petljati po pisti.

3. CTRL+C & CTRL+V nije programiranje!

Nije tajna da se mnoga gotova rješenja već nalaze na internetu. Pa ipak, ne postoji uvijek ono što vam treba. I onda umjesto da naučite kako programirati, odete na forum, napravite temu i tražite gotov kod za rješavanje vašeg problema. Opet dvadeset pet!

Programeri su, naravno, najlenji ljudi na svetu i uvek žele da pronađu najlakši izlaz. Ali ako razmišljate o tome kako naučiti programirati, onda naučite razmišljati. Razvijte ideje, razmislite o opcijama i eksperimentirajte.

Forumi su korisni samo ako tražite savjete, a ne izvorni kod.

4. Prvo algoritam

50% uspjeha u programiranju ovisi o sposobnosti pisanja algoritma. Ako ne znate kako to učiniti, malo je vjerovatno da ćete moći naučiti programirati.

Uzmite to kao pravilo, da biste riješili problem, prvo nacrtajte algoritam, popravite ga na način koji vam odgovara: zapišite, nacrtajte, itd. I tek onda napišite kod. U suprotnom, možete jednostavno zaboraviti na ispravan tok akcije o kojem ste razmišljali.

5. "Jezik" će donijeti u Kijev

Mislim na sintaksu jezika. Naučite sintaksu programskog jezika što je detaljnije moguće. Ako imate dobar algoritam, morate ga implementirati na pravi način. Naučite optimizirati kod, pravilno ga formatirati i koristiti mogućnosti programskog jezika za njegovu namjenu i puni potencijal.

6. Bez discipline
Da biste naučili kako programirati, morate paziti na pravilnost u učenju. Da li je bolje posvetiti 8 sati programiranju jednom sedmično ili kodirati 15 minuta svaki dan?

Naravno, 15 minuta nije puno. Ali to će pomoći da se razvije navika i postepeno povećava opterećenje.

7. Fokusirajte se na osnovne stvari
Kada učite programirati, važno je da ne izgubite fokus. Oduprite se želji da naučite sve odjednom! U suprotnom ćete imati mnogo osnovnih znanja i pojmova, ali će oni biti nagli i zgužvani.

Fokusirajte se na jedan programski jezik ili okvir i naučite kvalitetan materijal iz unaprijed odabranih izvora. Takva obuka će biti dosljedna i sistematizovana.

8. Onaj u programiranju nije programer
Teško je naučiti programirati sam. Pronađite brata po duhu i vježbajte zajedno. Idealna opcija bi bila da postoji iskusniji programer spreman da pomogne. Steći ćete već izbrušene vještine i sposobnost timskog rada.

9. Sve ima cijenu

Skoro sam zaboravio. Želite li postati profesionalac? Budite velikodušni i uložite u svoje obrazovanje. Možete besplatno učiti na internetu, ali takva obuka je nekvalitetna i neefikasna. Gledajte video kurseve, unajmite tutore, kupujte knjige. Ne štedite na obrazovanju!
Biće trenutaka kada ništa ne funkcioniše, kada dugo klizite na mestu. Ali ne očajavajte. Postepeno stječujte iskustvo i vremenom će sve biti lakše i brže.

Postignite sami rezultat i zapamtite 3. tačku.

To je sve, kako vam se sviđa članak? Nadam se da ste puni energije i odlučni da primijenite ovo znanje.

Već ste odlučili šta želite da programirate? Znate li šta je sada najtraženije i isplativo? Odjavite se u komentarima.

P.S. Znam gdje mogu dobiti tri besplatna video kursa o programiranju. Koga briga:

Delphi, PHP, 1C(ref. linkovi)

Postoje i plaćene verzije ozbiljnijeg nivoa, mogu se naći na stranici.

Top Related Articles