Za koga je programer? Napomena

U članku opisujem svoje mišljenje o prioritetima pri odabiru poslodavca za programere. Kao glavni faktor naveo sam visinu plate, pravdajući to činjenicom da to ostavlja više vremena za život. Zatim dajem svoje razloge zašto se ne biste trebali zanositi recikliranjem. Nastavljam članak osvrtom na razvoj kućnih projekata, koji, po mom mišljenju, pomaže u praćenju trendova struke, a uz to donosi i zadovoljstvo. Na ove misli sam došao nakon što sam 8 godina radio kao programer sa punim radnim vremenom.


Ohrabrujem iskusne ljude koji znaju raditi i živjeti da komentarišu moje stavove i izraze svoje mišljenje o pitanjima u kojima su pronađene razlike. Za one koji su nedavno započeli svoj programski put ili jednostavno nikada nisu razmišljali o takvim stvarima, preporučujem da članak ne uzimaju kao ozbiljan vodič. Pisao sam o svojim osjećajima u vezi s ovim problemima u nadi da bi neko mogao pronaći neke korisne ideje ako se osjeća obeshrabrenim kao programer.

Prioriteti

Prilikom odabira posla sam sebi postavio sljedeće prioritete.

  1. Iznos primljenog gotovinskog prihoda. To je jednostavno.
  2. Udobnost radnog prostora. Ovako može biti zgodno ili nezgodno ono što vas okružuje na poslu: udaljenost od kuće, ljudi u kancelariji, performanse radnog računara, vremenske prilike u blizini radnog mesta, kamera za nadzor na vašem monitoru, vaš monitor okrenut prema prolazu, odnos sa menadžment, kazne za kašnjenje i sl.
  3. Prilika za Vaš profesionalni razvoj. Ovo uključuje iskustvo koje steknete na poslu. Ovo su tehnologije učenja koje su vam nove, usavršavanje onoga što ste prethodno naučili i sticanje novih vještina koje su vam korisne. Sve što vas čini profesionalnijim iskusnijim.

Vrlo malo se sa ove liste može naučiti unaprijed o kompaniji prije nego što se prijavite za posao. Ali s obzirom na redoslijed prioriteta, lako možete uporediti svoj trenutni posao i drugi potencijalni, znajući visinu plaće. Ponekad možete žrtvovati dio drugog i trećeg, zarad dobre plate. Naravno, ova ravnoteža je različita za svakoga.


Nekima je neugodno to reći naglas, ali novac je prvi i glavni faktor u odabiru mjesta za rad. Ako ste dobro plaćeni, nećete morati raditi dodatne sate i prekovremeno, što znači da ćete imati više vremena za uživanje u životu. Moje gledište je sljedeće: ako ste programer sa više od 3 godine iskustva i osjećate da biste željeli biti plaćeni više, počnite to ostvarivati ​​bez odlaganja za kasnije. Najvjerovatnije, nema razloga da ne dobijete više ako je moguće.

Kako povećati svoju platu

Postoji mišljenje da to jednostavno možete pitati svoje rukovodstvo. Moglo bi upaliti. Ali predlažem da prvo saznate koliko su vam drugi poslodavci spremni platiti. Ako nemate gotove ponude za posao, onda morate sami početi tražiti slobodna radna mjesta. Razmotrite opcije koje su u skladu s vašim iskustvom i platom iznad vaše trenutne. Budite spremni da uradite testne zadatke, Skype intervjue ili intervjue licem u lice. Gledajte na to kao na potencijalnu dobit, nemojte se ograđivati ​​svojim egom.


Uzmite u obzir ne samo poslodavce u vašem gradu, već i rad na daljinu. Postoji mnogo članaka o nedostacima rada na daljinu, ali ako to niste sami isprobali, još uvijek možete razmotriti takve opcije. Zapamtite da rad na daljinu ne znači nužno rad od kuće. Uz platu programera, možete iznajmiti kancelariju ili se useliti u coworking prostor.


Morate se pripremiti za intervjue. Na mreži možete pronaći listu pitanja koja bi vam mogla biti postavljena. Odvojite vrijeme da ih proučite, razmislite o odgovorima. Redoslijed intervjua je važan. Počnite od poslodavca čiji vam se uslovi i odredbe čine najmanje privlačnim, a zatim napredujte kako biste potencijalni novi posao učinili privlačnijim. Poenta ove procedure je da je mnogo lakše propasti na prvim intervjuima. Tokom prvih intervjua, vjerovatno ćete se više brinuti, više zaboraviti i ponašati se manje samouvjereno. Osim toga, ako dobijete pitanja koja niste uspjeli na jednom intervjuu, možete ih proučiti i odgovoriti na njih na sljedećim. Tako ćete povećati svoje šanse da dobijete ponudu kompanije koja vam je najprivlačnija.


Ako vam se prije razgovora s nekom kompanijom učini da sigurno nećete ići tamo raditi, ipak shvatite ovaj intervju ozbiljno, jer se kao rezultat toga mogu otkriti novi detalji koji će ovog poslodavca učiniti privlačnijim. Uvijek vrijedi zapamtiti da birate novi posao, uprkos činjenici da je sve počelo s ciljem povećanja vaše plaće.


Ako počinjete da se osećate kao da predstojeći intervju shvatate preozbiljno i da ste zbog toga veoma zabrinuti, onda je savet suprotan od prethodnog: ne doživljavajte poslodavca kao potencijalnog, već samo kao sredstvo za povećanje svoju platu na trenutnom poslu, znajući da ako ne uspije, onda se ništa neće promijeniti. Ali pronađite ravnotežu da biste se našli kao profesionalac, a ne kao nasrtljiv tip sa napuhanim egom.


Kada dobijete atraktivnu ponudu za posao, nemojte šutke napustiti svog poslodavca. Razgovarajte o situaciji sa osobom koja donosi odluku o povećanju vaše plaće. Ovo je vrlo uzbudljiv trenutak; prvi put možda nećete imati dovoljno odlučnosti. Ako se ne osjećate ugodno razgovarati o ovim vrstama pitanja, možete pokušati započeti raspravu putem e-pošte. Ali, najvjerovatnije, i dalje ćete morati komunicirati glasom.


Ako nemate ideju kako da steknete hrabrost da tražite povećanje plate, onda vam predlažem sledeće. Počnite da se fokusirate na sve nedostatke vašeg trenutnog radnog mjesta: kako vam se ne sviđa što vam neko stalno grije ribu za vrijeme ručka, što vam klima radi tik iznad leđa, kako ste bijesni zbog kazne za jedan minut zakasnili na posao, kako vam je dosadilo implementiranje funkcija koje nikome zapravo nisu potrebne, koliko ste umorni od trenutnog niza korištenih tehnologija, kako dugo niste naučili nešto novo. Ali što je najvažnije, zamislite da biste mogli zarađivati ​​+X% novca, ali ga ne dobijate zbog svog poslodavca. Da li volite kada vaš poslodavac zadržava vaš novac? Ne? Hajde i razgovaraj s njim o tome. Samo ne idite uvrijeđeni na posao, radite svoj posao nekako, nadajući se da će menadžer to primijetiti i ponuditi nešto. Ovo je neprofesionalno.


Ako vam menadžer uskrati unapređenje i pusti vas, onda je vrijeme da odete. Koliko često možete tražiti povišicu? Sve dok dobijate ponude koje su znatno bolje od vaše trenutne situacije. Ali ne pokušavajte da varate, trebalo bi da imate validnu ponudu za posao nakon što prođete sve intervjue.

Prekovremeni rad

Posao sa punim radnim vremenom znači da radite 40 sati sedmično. Ako se od vas traži da radite više od ovoga, zapamtite da posao već zauzima otprilike trećinu vašeg cjelokupnog svakodnevnog života. Ako nemate ništa drugo u životu osim posla i sna, onda možete ubiti vrijeme poslom. U suprotnom, razmislite o svojim prioritetima. Nemojte pristajati na prekovremeni rad ako nije dovoljno plaćen. Ali čak i u ovom slučaju može se ispostaviti da jednostavno nemate vremena da potrošite svoju plaću. Možda mislite da ćete sada uštedjeti za stan, pa za automobil, pa za porodični odmor, a onda će život krenuti dalje. Ali život već ide dalje, a vi starite. Pokušajte, ipak, početi zarađivati ​​više za istih 40 sati sedmično, a ne prekovremeno. Provedite svoje slobodno vrijeme radeći stvari u kojima uživate i učeći nove stvari kako biste pratili trendove u svojoj profesiji.

Home Projects

Postoji uvriježeno mišljenje koje glasi otprilike ovako: „Već programiram cijeli dan, nemam više energije da se vratim kući i razvijem pet-projekat ili se posvetim open source-u.” Razumijem da nisu svi veliki obožavatelji programiranja radi procesa, i za njih je gornje mišljenje istinito. Ali za neke, pretpostavljam da je razlog to što jednostavno nisu pokušali programirati ništa zanimljivo za sebe. Možda jednostavno nisu smislili nešto zanimljivo što bi se moglo stvoriti, a možda o tome nisu ni pokušali razmišljati.



Možda se čini da nećete imati vremena za ovo. Ali razvoj kućnih projekata ima mnogo više veze s kreativnošću nego s vašim svakodnevnim poslom programera. A tu je i odličan strip o vremenu za kreativnost. Poenta je u tome da kada programirate za zabavu, upadate u žurbu zbog koje je teško zaustaviti se, čak i jesti ili spavati. Ali zapamtite da postoje i druge zanimljive stvari u životu osim programiranja, potražite svoju ravnotežu.

Programerska profesija je relativno nova, pa je u njoj malo utabanih puteva. Stručnjaci ovog profila obično pronalaze put do uspjeha putem pokušaja i pogrešaka.

Na koje načine mogu implementirati svoje akumulirano iskustvo?

Horizontalna karijera kao izvršni programer

Najbolji izbor za štrebera je (tj. ciljana obuka bez promjene statusa posla). Programer koji se stalno usavršava je vrijedan zaposlenik.

Malo je vjerovatno da će se uvrijediti prilikom raspodjele platnog fonda. Postat će dostojan kandidat za mjesto u nekoj uglednijoj kompaniji, do međunarodnih organizacija.

Napomena:

Nerealno je biti generalista u IT-u. Za brzo kretanje horizontalno, odaberite specifičnom pravcu(baze podataka, C++, java, itd.) i pokušati postati najbolji u tome.

Promocija kao stručnjak

Kada dostignete određeni nivo, shvatićete da ste spremni da podelite svoje iskustvo. U ovoj fazi pred vama se otvara nova perspektiva – samoostvarenje u ulozi konsultanta.

Možete konsultovati i offline kupce (na primjer, gradske firme koje kreiraju prodajnu web stranicu za prodaju proizvoda) i klijente iz virtualnog prostora. Dobar posao ove vrste stvorit će vam ime, a ovo će vam, zauzvrat, donijeti prihod.

Sanjate li da postanete cijenjeni stručnjak? Nemojte se fokusirati samo na programiranje. Naučite lako komunicirati sa ljudima, kompetentno i figurativno Izrazite misli.

Poslovi menadžmenta

Ako ste dorasli do nivoa stručnjaka, ali ne želite da registrujete individualnog preduzetnika, pokušajte da izgradite vertikalnu karijeru u renomiranoj kompaniji.

Imaćete zadatak da planirate i nadgledate rad drugih stručnjaka.

U suštini, ti ćeš biti šef. Stoga se razvijajte u sebi liderske vještine, naučite motivirati ljude.

Vlastiti startup

Još jedna opcija karijere – možda najteža – je oživljavanje vlastitog projekta (na primjer, pokretanje neke originalne plaćene usluge).

Startapi su uspješni samo za one programere koji jesu preduzetničkog duha ili pronađite iskusnog poslovnog partnera.

Nemojte odmah uskočiti u veliki projekat koji zahtijeva ogromna ulaganja novca i vremena. Prvo se okušajte u poslu koji će vam u početku omogućiti da zadržite svoj prethodni izvor prihoda.

Možda ćete nakon čitanja članka početi tražiti slobodno mjesto. Iskoristite one objavljene u našem katalogu.


Gledajući oko sebe, mislim da se ne dešava baš često, čini mi se, da ljudi ostanu programeri mnogo, mnogo godina. Najčešće, postepeno prelaze u menadžere tokom nekoliko godina, u početku i dalje nastavljajući da pišu kod, ali onda sve više i više menadžerskih odgovornosti preuzima sve vreme. Često idu u upravljanje proizvodima. Neki, rjeđe, u marketingu. Mnogi odlaze u svijet startupa i postaju vlastiti biznismeni - čak i ako nastave pisati kod, ovo već radi za sebe. Obrnuti pokret, od drugih profesija do programera, gotovo se nikada ne dešava usred karijere, samo na početku (od matematičara, fizičara, inženjera, bilo koga drugog, ako postoji sklonost za to).

U predvidljivom prostoru ima programera preko 50, ali ih je prilično malo. Kako objasniti zašto? - Je li to zato što ljudi uglavnom idu u menadžment i druge profesije? - ili bolje rečeno zato što se profesija i dalje vrlo brzo širi, a prije 30 godina je mnogo manje ljudi studiralo za programere i ulazilo u struku, pa ih je sada malo u opštoj masi? Vjerovatno su oba objašnjenja tačna, ali možda je jedno od njih mnogo važnije? Ne znam.

Imam 37 godina i osim nekoliko tinejdžerskih poslova sa skraćenim radnim vremenom, programiranjem se bavim za život nešto više od 20 godina. Većinu ovog vremena provodim u kompanijama u kojima nisam sam svoj šef. Do sada sam se svjesno opirao podvodnoj struji koja privlači programere u menadžment iz dva razloga. Osećam da manje uživam u tome i mislim da neću biti baš dobar u tome. Do sada nisam požalio zbog ove odluke. Ali šta ću raditi za sljedećih 20 godina, pod pretpostavkom da sam živ, relativno zdrav i još uvijek radim? Mnogo toga se još može promijeniti; ali ako se posebno ne trudim i lepršam, zakon inercije života kaže da ću i sa 57 godina pritiskati tipke i unositi ključne riječi u uređivač teksta u nekoj firmi. Hoće li biti dobrih, zanimljivih prilika i projekata za mene od 57 godina u industriji kakva će biti za 20 godina? Sada u našoj industriji, ponavljam, ima programera starijih od 50 godina, ali ima ih dosta...

Nedavna rasprava o HN-u ("Šta se događa sa starijim programerima?") potaknula je moja razmišljanja o ovome, i iako nije dala konkretan odgovor, sugerirala je mnoge mogućnosti. Gornji komentar dobro sažima različite razvojne opcije koje sam gore opisao: postanite menadžer, ostanite programer i produbite svoje vještine, postanite startup biznismen, idite u potpuno drugu profesiju. Tamo u komentarima ima puno ljudi poput mene koji i dalje preferiraju, pod uslovom da su sve jednake, da zarađuju koristeći ključne riječi u editoru. Oni stariji od 50 godina češće pišu da sve dok održavaju tehničko znanje i idu u korak s vremenom nemaju poteškoća u pronalaženju posla - iako su to uglavnom američko mišljenje, u drugim zemljama može biti drugačije. Ali nejasno je koliko ih je ostalo onih koji su željeli isto, ali im je bilo teško da mijenjaju posao u starosti, ili da su teško prihvatili činjenicu da su ih svi njihovih godina nadmašili u hijerarhiji, ili da im je jednostavno dosta. .

Naravno, samo ja mogu da odlučim da li da se „posebno trudim i lepršam“, ili da nastavim sa ključnim rečima i urednicima. Ali biće mi drago da o ovoj temi saznam mišljenje programera, sadašnjih i aktuelnih, koji su se prekvalificirali u upravnike zgrada ili koji tome teže.

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 HTML jezik za označavanje, CSS 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.

Razmislite o svojoj karijeri. Fotografija: Udachnaya kimberlitna cijev, Jakutija.

Loš programer je onaj koji ne teži da postane CIO. Ambicija i želja za visinama u karijeri obično idu rame uz rame sa željom da postanete odličan profesionalac u svojoj oblasti.

Menadžeri ljudskih resursa često navode mogućnost rasta u karijeri kao jednu od tačaka prilikom zapošljavanja mladog specijaliste, a za većinu velikih IT kompanija izgledi za profesionalni razvoj programera su navedeni doslovno tačku po tačku. Takav plan odražava glavne faktore koji bi trebali poboljšati učinak zaposlenika za naknadno napredovanje na višu poziciju.

Razmotrimo put karijere programera na primjeru vertikalnog kretanja, jer je to klasičan i najčešći put od pripravnika do menadžera. Osim toga, vertikalni rast doprinosi najbržem napredovanju u karijeri.

Pripravnik (junior Developer)

Većina programera započinje svoju karijeru ovim prvim korakom. Među glavnim zahtjevima za zapošljavanje:

Više ili nepotpuno tehničko obrazovanje.
Poznavanje osnova programskih jezika.

Prva pozicija mladog specijaliste ne uključuje učešće u velikim projektima: dodijeljena im je uloga obavljanja standardnih, tipičnih zadataka. U ovoj fazi, programer ima dovoljno vremena da usavrši svoje vještine i stekne maksimalni mogući sloj znanja kako bi krenuo naprijed. Pomoći će vam da steknete osnovna znanja.

Programer softvera

Do trenutka prelaska na ovu poziciju, programer mora najmanje:

Posjedovati specijalističku diplomu (po mogućnosti tehničku specijalnost, ali nije obavezno).
Znajte sve o softverskom inženjerstvu.
Poznavanje nekoliko programskih jezika.
Razumjeti sisteme za upravljanje bazama podataka, web servise, OS.

U ovoj fazi, odgovornosti zaposlenika dostižu potpuno drugačiji nivo - njemu se povjerava razvoj i implementacija softvera, povjeren je rad na novim projektima i održavanje postojećih.

Menadžeri ljudskih resursa ističu da je na poziciji programera softvera važno da se zaposlenik dokaže ne samo kao stručnjak koji je upućen u procese programiranja, već i kao društvena, nekonfliktna osoba. Dalje napredovanje na ljestvici karijere podrazumijeva bliži kontakt sa timom, zaposlenima drugih odjela i šefovima odjela, pa su lični kvaliteti veoma važni.

Vodeći programer

Zahtjevi za kandidata dodatno uključuju:

Iskustvo u velikoj specijalizovanoj kompaniji, od 2 godine.
Učešće u komercijalnim korporativnim projektima.

Spektar profesionalnih zadataka sa kojima se suočava glavni programer uključuje implementaciju detaljnog dizajna komponenti na osnovu postojećih opštih specifikacija, kao i programiranje i početno testiranje komponente. Govoreći o izgledima za daljnje napredovanje, vrijedno je napomenuti da vodeći programeri koji ne samo da imaju potencijal, već i znaju kako organizirati rad grupe ljudi imaju veće šanse da napreduju dalje na ljestvici karijere.

Šef odjela za razvoj (vođa tima)

Svi dodatni zahtjevi za kandidata za ovu poziciju u suštini su ograničeni na iskustvo upravljanja razvojnim timom koji se sastoji od najmanje dvije osobe i posjedovanje upravljačkih vještina. Menadžer mora poznavati osnove upravljanja projektima, biti u stanju pripremiti efikasne, inteligentne prezentacije i govoriti pred publikom. Također mu je potrebna sposobnost delegiranja ovlaštenja, identificiranja problema i najefikasnijih načina za njihovo rješavanje.

Glavne odgovornosti, po pravilu, uključuju administraciju projekta i donošenje dizajnerskih odluka, organizaciju timskog rada i rješavanje svih vrsta tehničkih problema.

Projekt menadžer

Kao što pokazuje praksa, stručnjaci sa upravljačkim vještinama i znanjem iz oblasti razvoja najbolje se snalaze na ovoj poziciji. Ali ponekad menadžeri projekata postaju ljudi koji su daleko od stvarne oblasti programiranja. Stoga svaki ambiciozni programer u ovoj fazi ima mnogo konkurenata. Ovdje je važno da se pokažete dobro i kao inteligentan menadžer, koji ima dovoljno netrivijalnih ideja u torbi.

Krenite dalje - u nekoliko pravaca: pređite na drugi, zanimljiviji i obimniji projekat, razvijajte se kao direktor razvoja ili postanite IT direktor. Odabrani put uvelike ovisi o interesima specijaliste i oblasti u kojoj se želi dokazati.