Programerska karijera. Poglavlje 3. Univerzitet

Nastavak priče "Programerska karijera".

Nakon završene večernje škole, došlo je vrijeme za polazak na fakultet. U našem gradu je postojao jedan tehnički fakultet. Imao je i jedan fakultet „Matematike i računarstva“, koji je imao jedan odsjek „Računarski sistemi“, gdje su obučavali buduće IT radnike – programere i administratore.
Izbor je bio mali i prijavio sam se za specijalnost „Programiranje računarskog inženjeringa“. Pred nama su bila 2 prijemna ispita. U jeziku i matematici.
Ispitima je prethodio intervju, a izbor oblika obuke - budžet ili ugovor, tj. besplatno ili za novac.

Moji roditelji su bili prisutni na mom razgovoru i bili su zabrinuti oko prijema. Naravno, odabrali su ugovorni oblik obuke. Inače, koštao je oko 500 dolara godišnje, što je 2003. godine bio veliki novac, posebno za naš mali grad. Dobro se sećam očevog dijaloga sa devojkom sa prijemne kancelarije:
Devojka: Možete pokušati položiti ispite na budžetu, a ako ne uspije, prebacite se na ugovor. Možete platiti na rate.
Otac: Ne, već smo odlučili da ćemo se prijaviti za ugovor
Devojka: Pa zašto, ništa ne rizikujete
Otac: Ne, i dalje je rizik. Recite mi, da li se svi prijavljuju za ugovor?
Devojka: Da, svi znaju. Vjerovatno samo potpuni moroni ne mogu
Otac: Onda imamo priliku... rekao je cereći se i potpisali smo dokumente za prijem

Naravno, priredbe iz srednje škole su još bile svježe u sjećanju mojih roditelja, pa mi je tokom godina jasno zašto su to govorili.

Ljeti, prije prijema, nastavio sam kupovati knjige za cijelih 40 dolara koje mi je baka dala od svoje penzije.
Od nezaboravnih i značajnih:
1. "UML 2.0. Objektno orijentisana analiza i dizajn". Knjiga koja me naučila kako da dizajniram softver bilo koje složenosti, promislim kroz arhitekturu, razložim sve na komponente, napišem slučajeve upotrebe i nacrtam UML dijagrame. Ovo je znanje koje je potrebno starijima, voditeljima i arhitektima. Oni koji materijalizuju sistem iz praznine, kada postoji samo opis ideje.
Poznajem ljude koji su već preko 30 godina, a još uvijek ne mogu donijeti odluku osim ako nema naredbe odozgo, od strane programera višeg ranga. U slobodnom radu i radu na daljinu, kada često radite jedan na jedan s klijentom, ovo znanje je također neprocjenjivo.
Oni su također relevantni za indie programere koji kreiraju nove aplikacije i usluge. Iako se malo ljudi zamara detaljnim dizajnom. Zato imamo softver takvog kvaliteta, koji guta svu memoriju, sa pokvarenim UX-om.
2. "ANSI C++ 98 Standard". Nije baš knjiga, ali ima preko 800 stranica osnovnih informacija. Naravno, nisam ga čitao odeljak po deo, već sam se referisao na specifična jezička pravila kada sam razvijao svoj C++ kompajler. Dubina znanja jezika, nakon proučavanja i implementacije standarda, ne može se opisati nikakvim divnim epitetom. Možemo reći da znate sve o jeziku, pa čak i više. Veoma dug, mukotrpan rad na proučavanju standarda. Ali pred sobom je bilo 5 godina fakulteta, tako da me niko nije tjerao
3. "Delphi 6. Praktični vodič.". Bio je to brzi skok u svijet GUI-ja i laskanja formama. Ulaznog praga skoro da nije bilo, a Pascal sam već prilično dobro poznavao. Dok sam studirao na univerzitetu, pisao sam lavovski dio komercijalnih programa u Delphiju. Ovo je bio softver za diplomirane studente, računovodstvo za mala preduzeća, vladu. institucije. Zatim je bilo nekoliko slobodnih narudžbi. Sredinom 2000-ih, Delphi je dominirao Windows razvojnim tržištem. Do sada, na blagajni u lokalnim trgovinama možete vidjeti programe sa poznatim fontovima i kontrolama, što Delphi aplikaciju odmah razlikuje od bilo koje druge
4. "MFC Tutorial". Savladavši Delphi, bilo je logično nastaviti kreiranje korisničkog sučelja u C++. Bilo je mnogo teže, nije sve išlo i razumljivo. Međutim, doveo sam i ovu tehnologiju do faze primjene u komercijalnim projektima. Jedna njemačka antivirusna kompanija distribuira moj program, napisan na MFC-u do danas.
5. "3 diska sa MSDN bibliotekom 2001". Nisam odmah imao internet, a koliko se sjećam, MSDN biblioteka nije bila online 2003. godine. U svakom slučaju, bilo mi je lakše instalirati MSDN referentnu knjigu na moj lokalni PC i lako pronaći dokumentaciju za bilo koju WinApi funkciju ili MFC klasu.
Programerska karijera. Poglavlje 3. Univerzitet
Najznačajnije knjige pročitane u periodu 2002-2004

Riječ je o knjigama koje su čitane u periodu 2002-2004. Naravno, sada je ovo otrcano naslijeđe, koje se prepisuje u serijama koristeći .NET i Web tehnologije. Ali ovo je moj put, možda je neko od vas imao sličan.

Prvo polugodište

Krajem ljeta vrijeme je za polaganje prijemnih ispita za fakultet. Sve je prošlo glatko. Položio sam ispit iz jezika i matematike i upisao prvu godinu smera Programiranje računarskih sistema.
Prvog septembra, očekivano, otišao sam na prve časove u životu. „Studentsko vrijeme je najsjajnije doba u životu“, rekla mi je majka. Rado sam u to verovao.
Prvog dana prošla su 3 para opšteobrazovnih predmeta, svi su se upoznali u grupi, a generalno je fakultet ostavio prijatan utisak.
Konačno su nas počeli učiti pravom programiranju u C! I, pored toga, predavali su historiju informatike, digitalne tehnologije i mnoge druge informacije koje su mi bile relevantne. Čak i psovke. analiza je bila korisna, jer mi je omogućila da dublje shvatim šta je duboko poštovani Donald Knuth napisao.

Časovi programiranja za mene su se odvijali u atmosferi vožnje. Konačno, ljudi su mi došli po pomoć. Osjećao sam se potrebnim. Na početku časa dobili smo zadatak da napišemo program. Zadatak je dizajniran za jedan i po par, zatim pola sata za testiranje. Zadatak sam uspio napisati za 3-5 minuta, a ostalo vrijeme sam šetao po kancelariji i pomagao drugima da shvate problem.
Nije bilo dovoljno kompjutera za cijelu grupu, pa smo najčešće sjedili po dvoje za jednim računarom. Vidjevši moje sposobnosti, tri, četiri, ponekad i 5-6 ljudi sjeli su kraj mog stola i nisu se ustručavali sjesti da nauče ono što sam naučio prije par godina iz knjige Kernighana i Ritchieja.
Moji kolege iz razreda su uvideli moje sposobnosti i sami su postavljali pitanja, ili su se ponudili da se samo druže nakon nastave. Tako sam stekao mnoge prijatelje, sa kojima smo i danas prijatelji.

Zimi je došlo vrijeme za prvu sesiju. Ukupno je bilo potrebno polagati 4 predmeta: 2 vrste više matematike, historiju i programiranje. Sve je prošlo, nešto 4 boda, neko 3. I meni je programiranje dodeljeno automatski. Nastavnici su već poznavali moje vještine, tako da nisu vidjeli smisao da me testiraju. Sa zadovoljstvom sam se pojavio na sesiji sa svojom knjižicom kako bih odmah dobio potpis na njoj i krenuo sam da se vratim kući kada su me kolege iz razreda zamolile da ostanem i stojim ispred vrata. Pa. Smestivši se na prozorsku dasku, na izlazu iz kancelarije, počeo sam da čekam. Pored mene se motao još jedan tip, koji je također automatski položio ispit.
“Zašto ostaješ ovdje”, upitao sam
— „Želim da zaradim novac rešavajući probleme. Zašto si ovdje?
- "Ja također. Jednostavno neću da zarađujem. Ako vam zatreba pomoć, onda ću iz ljubaznosti mog srca samo odlučiti.”
Moj protivnik je oklevao i promrmljao je nešto kao odgovor.

Nakon nekog vremena, drugovi iz razreda su počeli da napuštaju publiku, noseći sa sobom presavijene papiriće na kojima su bili problemi sa ispita.
"Pomozi mi da se odlučim", upitao je prvi drsko. „Dobro, sad ću odlučiti“, odgovorio sam. Nije prošlo ni 5 minuta prije nego što sam hemijskom olovkom naškrabala rješenje na zgužvani papir i vratila ga. Vidjevši da shema funkcionira, ljudi su počeli mnogo češće da napuštaju publiku, a ponekad i po dvoje ili troje.
Na mojoj radnoj prozorskoj dasci bila su tri hrpe lišća. Jedno pakovanje sadrži novopristigle TODO listove. Ispred mene je bio list In Progress, a pored njega je ležalo pakovanje “Gotovo”.
Ovo je bio moj najbolji čas. Cijela grupa, od skoro 20 ljudi, obratila mi se za pomoć. I svima sam pomogao.
A momak koji je želeo da zaradi novac na brzinu je otišao nakon nekoliko minuta, shvativši da ovde nema šta da se uhvati, sva pažnja je bila usmerena na altruistu.
Cijela grupa je položila ispit sa ocjenama 4 i 5, a ja sada imam 20 prijatelja i nepokolebljiv autoritet u programiranju.

Prvi novac

Nakon zimske sesije, po cijelom fakultetu se pročulo da postoji čovjek koji može riješiti bilo koji programski problem, za koji smo bili raspoređeni kod kuće ili na sjednici. A usmeno se širilo ne samo među brucošima, već i među studentima viših razreda.
Kao što sam već napisao, razvio sam prijateljske odnose sa svima u grupi nakon „najlepšeg časa“ na ispitu i počeli smo da komuniciramo veoma blisko sa par momaka. Postali smo pravi prijatelji i provodili smo mnogo vremena van univerziteta. Radi jednostavnosti prezentacije, nazovimo ih Elon i Alen (nadimci su bliski pravim).
Elona smo zvali po imenu, ali Alain je dobio nadimak u čast Alaina Delona, ​​zbog njegove sposobnosti da zavede bilo koju ljepotu. Djevojke su bukvalno kružile oko njega, u različitom broju. U pogledu upoznavanja ljudi i uspostavljanja veza za noć, Alain Delon nije imao ravnog. Bio je pravi alfa mužjak za ženski pol, što je za većinu informatičara potpuno neobično. Osim ljubavnih afera, Alain je bio dizajner po vokaciji. A ako je trebao nešto nacrtati, na primjer, tada popularne trepćuće banere Web 1.0 formata, onda je to učinio s lakoćom.

Mnogo više se može reći o Elonu. I dan-danas se sastajemo s njim, deset godina nakon univerziteta. U prvim godinama života bio je mršav, prilično ćutljiv momak. (Isto se ne može reći za današnjeg tipa krupnog lica u džipu). Međutim, ja sam bio isti - mršav i ćutljiv. Stoga mislim da smo brzo našli zajednički jezik.
Često smo se nakon nastave ja, Elon i Alen okupljali u pivnici, pokrivenoj ceradom. Prvo, bio je preko puta univerziteta, a drugo, za “rublja” i 50 kopejki mogli ste dobiti neke dobrote za 2 sata zapaljive zabave. Kao točeno pivo i krekeri. Ali poenta je bila drugačija.
Elon i Alen su bili iz drugih gradova i živjeli su u iznajmljenoj sobi. Stalno im je nedostajalo novca, a bilo je trenutaka kada su morali da gladuju. Sretni trenuci, kada su na karticu dobili stipendiju od 10 dolara, slavili su se istog dana i tada je došlo vrijeme da “stegnu kaiš” i žive od onoga što Bog šalje.

Naravno, ova situacija je motivisala gostujuće studente da traže načine da dodatno zarade. A ispred njih, na rastojanju ruke, sjedila je “svijetla glava” u obliku mene. Koja je također povodljiva i rijetko odbija da pomogne ljudima.
Ne znam da li sam dobro opisao tu situaciju, ali na kraju su ova okupljanja u kafani dovela do stvaranja prve IT kompanije u mojoj karijeri pod nazivom SKS. Ime je jednostavno sastavljeno od prvih slova naših prezimena. Naša mlada kompanija, koju su predstavljala tri osnivača, u naredne četiri godine rastrgala je konkurente i cijeli univerzitet.

Elon je bio ROP. Odnosno, šef odjela prodaje. Naime, njegove odgovornosti uključivale su pronalaženje novih klijenata za naše outsourcing poslovanje. Na prodajnom kanalu bili su horizontalno štampani letci formata A4, sa jednostavnim natpisom: „Rješavanje programskih problema“. A ispod je Elonov broj telefona.
Ovakva vanjska reklama postavljena je na svakom spratu gdje su se mogli pojaviti studenti koji studiraju programiranje.
Dodatni, jači u smislu lojalnosti kupaca, bio je kanal prodaje putem usmene predaje.

Poslovni model je bio jednostavan. Bilo preko preporuke ili oglasa, javio nam se student. Dao je opis programskog problema koji je trebalo riješiti do određenog roka, a ja sam ga riješio za studentsku cijenu. Elon je bio uključen u prodaju i primao je svoj postotak. Alain Delon je rjeđe sudjelovao u našem poslu, ali ako je trebalo napraviti dizajn, sliku ili privući dodatne klijente, uvijek je bio od pomoći. Svojim šarmom doveo nam je dosta novih ljudi. Sve što sam trebao da uradim je da obradim ovaj cevovod brzinom od 5-10 zadataka dnevno. Rokovi su bili strogi - ne više od nedelju dana. I češće nego ne, to je moralo da se uradi juče. Stoga su me takve okolnosti brzo naučile da pišem programe u „toku“, a da me ne ometa svaka sitnica poput zemljotresa magnitude 5,9 ili veće nesreće izvan prozora.

U najtoplijoj sezoni, prije sednice, odnosno u decembru i maju, činilo se da imam zadatke cijelog univerziteta na svom kompjuteru. Srećom, većina njih je bila istog tipa, posebno kada nam se javio veletrgovac kojeg je predstavljao predstavnik cijele grupe. Tada je bilo moguće uraditi 20 zadataka, na primjer u asembleru, mijenjajući samo 2-3 reda. U takvoj sezoni, olovo je teklo kao rijeka. Jedino što nam je nedostajalo su diskete. Od 2003. do 2005. godine siromašni studenti u našem gradu nisu imali takvu stvar kao što je transfer novca putem interneta. Štaviše, nije bilo garancija plaćanja, što se sada zove escrow. Stoga je kompanija SKS, kao izvršilac naloga, zakazala termin na teritoriji univerziteta i mi smo dali disketa sa rešenjem. Povrata gotovo da i nije bilo (sa engleskog refund - vraćanje uplate na zahtjev klijenta). Svi su bili sretni i dobili su svojih 4-5 bodova ako su mogli naučiti šta sam dodao u readme.txt fajl na disketi. Iako je jednostavna demonstracija potpuno funkcionalnog programa također često izazivala wow efekat među nastavnicima.

Cijena je, naravno, bila smiješna, ali smo je uzeli u količini. Na primjer, tipičan kućni zadatak košta 2-3 dolara. Kurs 10$. Jednom je ispao džekpot u vidu programa za rad kandidata, a iznosio je čak 20 dolara za prijavu studenta koji se sprema za odbranu. U vrućoj sezoni ovaj prihod se može pomnožiti sa 100 klijenata, što je na kraju bilo više od prosječne plate u gradu. Osjećali smo se cool. Mogli su sebi priuštiti noćne klubove i tamo se zabaviti, umjesto da se guše u čebureku za posljednji peni.

Sa stanovišta mojih vještina, množile su se sa svakim novim studentskim zadatkom. Počeli smo da primamo prijave sa drugih fakulteta, sa drugačijim programom obuke. Neki stariji studenti su već koristili Javu i XML do svog punog potencijala kada smo se mi oslanjali na C++/MFC. Nekima je bio potreban Assembler, drugima PHP. Naučio sam čitav zoološki vrt tehnologija, biblioteka, formata za pohranu podataka i algoritama za sebe prilikom rješavanja problema.
Ovaj univerzalizam je ostao sa mnom do danas. Razne tehnologije i platforme se također koriste prilikom rada na projektima. Sada mogu pisati softver ili aplikaciju za bilo koju platformu, OS ili uređaj. Kvaliteta će, naravno, varirati, ali za posao kojim se uglavnom bavim budžet je obično bitan. A samostalni orkestar za njih znači smanjenje budžeta tačno onoliko koliko programera mogu zamijeniti svojim vještinama.

Ako govorimo o najvećoj koristi koju mi ​​je donijelo studiranje na fakultetu, to ne bi bila predavanja o algoritmima ili filozofiji. I neće „naučiti da uči“, kako je moderno reći za univerzitete. Prvo, to će biti ljudi sa kojima smo ostali u prijateljskim odnosima nakon treninga. I drugo, ovo je ista kompanija SKS koja me je iskovala u profesionalnog programera, sa stvarnim i raznovrsnim narudžbama.
Hteo bih da se setim fraze koja je veoma prikladna za ovaj deo priče: Osoba postaje programer kada drugi ljudi počnu koristiti njegove programe i plaćaju novac za to..

Tako je brend kompanije SKS bio nadaleko poznat ne samo u studentskim krugovima, već i među nastavnicima. Čak je bio slučaj da je jedan od nastavnika došao kod mene kući da mu pomognem da napiše program za njegove naučne potrebe. On mi je zauzvrat pomogao u njegovoj specijalizaciji. Oboje smo se toliko zaokupili poslom da smo oboje zaspali u zoru. On je na kauču, a ja na stolici ispred kompjutera. Ali oni su izvršili svoje zadatke i oboje su bili zadovoljni radom jedno drugog.

Uvijanje sudbine

Počela je 4. godina univerziteta. Posljednji kurs po čijem završetku se dodjeljuje diploma. Općeobrazovnih predmeta praktično nije bilo, već samo onih vezanih za računare i mreže. E sad, ponekad se kajem što nisam imao vremena ili nisam pokazao interesovanje za istu elektroniku ili unutrašnju strukturu mreža. Sada ovo završavam iz nužde, ali sam siguran da je ovo osnovno znanje neophodno svakom programeru. S druge strane, ne možete znati sve.
Završavao sam pisanje vlastitog C++ kompajlera, koji je već bio u stanju provjeriti greške u kodu prema standardu i generirati upute za sklapanje. Sanjao sam da ću moći da prodam svoj kompajler za 100 dolara po licenci. Pomnožio sam ovo sa hiljadu kupaca i mentalno
prevezen u Hammer, sa basom 50 Centa koji se emituje iz zvučnika i zgodama na zadnjem sjedištu. Šta možeš, sa 19 godina - takvi su prioriteti. Trik mog domaćeg kompajlera bio je u tome što je napravio greške na ruskom, umjesto na engleskom iz Visual C++ i gcc, što nije svima razumljivo. Vidio sam ovo kao ubistvenu osobinu koju još niko na svijetu nije izmislio. Mislim da nema smisla dalje pričati. Nije došlo do prodaje. Međutim, postigao sam duboko poznavanje jezika C++, koje me hrani do danas.

Na četvrtoj godini sve sam manje išla na fakultet jer sam znala većinu programa. A ono što nisam znao, riješio sam trampom sa studentom koji je razumio, na primjer, elektroniku ili teoriju vjerovatnoće. Šta tada nismo smislili. I nevidljive slušalice na žici u koju je diktiran odgovor. I trčanje iz učionice kako bi vam guru u svojoj specijalnosti mogao napisati rješenje cijelog ispita za 2 minute. Bilo je to sjajno.
Tokom istog kursa počeo sam razmišljati o pravom poslu. Sa kancelarijom, pravim komercijalnim aplikacijama i pristojnom platom.
Ali u to vrijeme, u našem gradu, posao se mogao naći samo kao programer
“1C: Računovodstvo”, što mi nikako nije odgovaralo. Iako iz beznađa, već sam bio spreman za ovo. U to vrijeme moja djevojka je vršila pritisak na mene da se preselim u poseban stan.
Inače, spavanje sa roditeljima kroz zid uopšte nije comme il faut. Da, i već sam se umorio od rješavanja studentskih problema, i htio sam nešto više.

Nevolja je došla niotkuda. Mislio sam da reklamiram na mail.ru da tražim posao sa platom od 300$ za poziciju C++/Java/Delphi programera. Ovo je 2006. Na šta su u suštini odgovorili nešto poput: „Možda bi trebalo da pišeš Billu Gejtsu sa takvim zahtevima za platu?“ To me je uznemirilo, ali među gomilom sličnih odgovora našla se osoba koja me je dovela u freelancing. Ovo je bila jedina prilika u našem siromašnom Las Vegasu da dobro zaradim radeći ono što sam znao raditi.
Tako se studiranje na univerzitetu glatko pretočilo u rad na slobodnoj razmjeni. Zatvarajući temu univerziteta, možemo reći sljedeće: Nisam išao na 5. godinu. Postojao je jedan program i koncept „besplatno prisustvo“, koji sam koristio 146%.
Jedino što je trebalo uraditi je odbraniti specijalističku diplomu. Što sam uz pomoć svojih prijatelja uspješno i uradio. Vrijedi reći da sam se ovim kursom već preselio od roditelja u iznajmljeni stan i kupio novi auto. Tako je počela moja karijera profesionalnog programera.

Naredna poglavlja će biti posvećena pojedinačnim projektima, najtežim promašajima i najneadekvatnijim klijentima. Karijera u freelancing-u od 5 do 40 $/sat, pokretanje vlastitog startapa, kako mi je zabranjen pristup na Upwork freelance burzi i kako sam od slobodnjaka postao vođa tima u drugoj najvećoj naftnoj kompaniji na svijetu. Kako sam se nakon ureda i startup-a vratio radu na daljinu i kako sam rješavao unutrašnje probleme socijalizacijom i lošim navikama.

Da se nastavi ...

izvor: www.habr.com

Dodajte komentar