Programátorská kariéra. Kapitola 3. Univerzita

Pokračovanie príbehu "Kariéra programátora".

Po skončení večernej školy bol čas ísť na univerzitu. V našom meste bola jedna technická univerzita. Mala aj jednu fakultu „Matematiky a informatiky“, ktorá mala jeden odbor „Počítačové systémy“, kde školili budúcich IT pracovníkov – programátorov a administrátorov.
Výber bol malý a prihlásil som sa na špecializáciu „Programovanie počítačového inžinierstva“. Čakali nás 2 prijímacie skúšky. V jazyku a matematike.
Skúške predchádzal pohovor, a výber formy školenia – rozpočet alebo zmluva, t.j. zadarmo alebo za peniaze.

Moji rodičia boli prítomní na mojom pohovore a obávali sa prijatia. Samozrejme zvolili zmluvnú formu školenia. Mimochodom, stálo to okolo 500 $/rok, čo bolo v roku 2003 veľa peňazí, najmä pre naše malé mesto. Dobre si pamätám na rozhovor môjho otca s dievčaťom z prijímacej kancelárie:
Dievča: Môžete sa pokúsiť zložiť skúšky s určitým rozpočtom, a ak to nebude fungovať, prejdite na zmluvu. Môžete platiť na splátky.
Otec: Nie, už sme sa rozhodli, že sa budeme uchádzať o zákazku
Dievča: Prečo, nič neriskujete
Otec: Nie, stále je to riziko. Povedz mi, každý sa uchádza o zmluvu?
Dievča: Áno, robí to každý. To asi nedokážu len úplní hlupáci
Otec: Potom máme šancu... povedal s úsmevom a podpísali sme dokumenty na prijatie

Samozrejme, vystúpenia zo strednej školy zostali v čerstvej pamäti mojich rodičov, takže po rokoch chápem, prečo to hovorili.

V lete, pred prijatím, som pokračoval v nákupe kníh za celých 40 dolárov, ktoré mi dala stará mama zo svojho dôchodku.
Z pamätných a významných:
1. "UML 2.0. Objektovo orientovaná analýza a dizajn". Kniha, ktorá ma naučila navrhovať softvér akejkoľvek zložitosti, premýšľať o architektúre, rozkladať všetko na komponenty, písať prípady použitia a kresliť diagramy UML. Toto sú vedomosti, ktoré potrebujú seniori, vedúci a architekti. Tí, ktorí zhmotňujú systém z prázdna, keď existuje len popis myšlienky.
Poznám ľudí, ktorí už majú viac ako 30 rokov a stále sa nevedia rozhodnúť, pokiaľ nie je príkaz zhora, od vyššie postaveného vývojára. Pri práci na voľnej nohe a práci na diaľku, keď často pracujete individuálne s klientom, sú tieto znalosti tiež neoceniteľné.
Sú tiež dôležité pre nezávislých vývojárov, ktorí vytvárajú nové aplikácie a služby. Aj keď s detailným dizajnom sa trápi málokto. Preto máme softvér takej kvality, ktorý pohltí všetku pamäť s pokriveným UX.
2. "ANSI C++ 98 Standard". Nie je to celkom kniha, ale má vyše 800 strán základných informácií. Samozrejme, nečítal som to po častiach, ale skôr som sa odvolával na špecifické jazykové pravidlá pri vývoji môjho kompilátora C++. Hĺbka znalosti jazyka po preštudovaní a implementácii normy sa nedá opísať žiadnym úžasným prívlastkom. Môžeme povedať, že o jazyku viete všetko a ešte viac. Veľmi dlhá, starostlivá práca na štúdiu normy. Ale čakalo ma 5 rokov VŠ, takže na mňa nikto netlačil
3. "Delphi 6. Praktický sprievodca.". Bol to rýchly skok do sveta GUI a lichotivých foriem. Neexistoval takmer žiadny vstupný prah a Pascala som už celkom dobre poznal. Počas štúdia na univerzite som napísal leví podiel komerčných programov v Delphi. Bol to softvér pre študentov vysokých škôl, účtovníctvo pre malé podniky, vládu. inštitúcií. Potom bolo niekoľko zákaziek na voľnej nohe. V polovici roku XNUMX dominovalo Delphi vývojovému trhu Windows. Doteraz môžete pri pokladni v miestnych obchodoch vidieť programy so známymi fontami a ovládacími prvkami, ktoré okamžite odlišujú aplikáciu Delphi od akejkoľvek inej
4. "Výukový program MFC". Po zvládnutí Delphi bolo logické pokračovať vo vytváraní používateľského rozhrania v C++. Bolo to oveľa náročnejšie, nie všetko sa podarilo a bolo pochopiteľné. Túto technológiu som však dotiahol aj do štádia aplikácie v komerčných projektoch. Jedna nemecká antivírusová spoločnosť distribuuje môj program napísaný v MFC dodnes.
5. "3 disky s knižnicou MSDN 2001". Nemal som hneď internet a pokiaľ si pamätám, knižnica MSDN nebola v roku 2003 online. V každom prípade bolo pre mňa jednoduchšie nainštalovať referenčnú príručku MSDN na môj lokálny počítač a ľahko nájsť dokumentáciu pre akúkoľvek funkciu WinApi alebo triedu MFC.
Programátorská kariéra. Kapitola 3. Univerzita
Najvýznamnejšie prečítané knihy v období 2002-2004

Ide o knihy, ktoré sa čítali v období rokov 2002-2004. Samozrejme, teraz je to ošúchané dedičstvo, ktoré sa prepisuje v dávkach pomocou .NET a webových technológií. Ale toto je moja cesta, možno niektorí z vás to mali podobnú.

Prvý semester

Koncom leta je čas urobiť prijímacie skúšky na vysokú školu. Všetko prebehlo hladko. Zložil som jazykovú a matematickú skúšku a bol som zapísaný do prvého ročníka odboru Programovanie počítačových systémov.
Prvého septembra som podľa očakávania išiel na prvé hodiny v živote. „Študentský čas je najjasnejší čas v živote,“ povedala mi mama. Ochotne som tomu veril.
Prvý deň prešli 3 dvojice všeobecnovzdelávacích predmetov, všetci sa v skupine spoznali a celkovo univerzita zanechala príjemný dojem.
Nakoniec nás začali učiť skutočné programovanie v C! A okrem toho učili dejiny informatiky, digitálne technológie a mnoho ďalších informácií, ktoré boli pre mňa relevantné. Dokonca aj nadávky. analýza bola užitočná, pretože mi umožnila hlbšie pochopiť, čo napísal hlboko rešpektovaný Donald Knuth.

Kurzy programovania pre mňa prebiehali v rušnej atmosfére. Nakoniec ku mne ľudia prišli so žiadosťou o pomoc. Cítil som sa potrebný. Na začiatku hodiny sme dostali za úlohu napísať program. Úloha bola určená pre jeden a pol páru, potom pol hodiny na testovanie. Zadanie sa mi podarilo napísať za 3-5 minút a zvyšok času som chodil po kancelárii a pomáhal ostatným prísť na problém.
Pre celú skupinu nebolo dosť počítačov, takže sme najčastejšie sedeli dvaja naraz pri jednom PC. Keď som videl moje schopnosti, traja, štyria, niekedy aj 5-6 ľudí si sadli k môjmu stolu a neváhali si sadnúť, aby sa naučili to, čo som sa pred pár rokmi naučil z knihy Kernighana a Ritchieho.
Moji spolužiaci videli moje schopnosti a sami vymýšľali otázky, alebo mi ponúkli, že sa po vyučovaní len tak zídu. Takto som si našiel veľa priateľov, s väčšinou z nich sa kamarátime dodnes.

V zime prišiel čas na prvé sedenie. Celkovo bolo potrebné absolvovať 4 predmety: 2 druhy vyššej matematiky, dejepis a programovanie. Všetko prešlo, niektoré 4 body, niektoré 3. A programovanie mi bolo pridelené automaticky. Učitelia už poznali moje schopnosti, takže nevideli zmysel skúšať ma. S radosťou som sa objavil na schôdzi s mojou záznamovou knihou, aby som si ju okamžite nechal podpísať a chystal som sa vrátiť domov, keď ma spolužiaci požiadali, aby som zostal stáť pred dverami. Dobre. Postavil som sa na okenný parapet, pri východe z kancelárie, začal som čakať. Vedľa mňa sa motal ďalší chalan, ktorý tiež absolvoval skúšku automaticky.
"Prečo tu zostávaš?" spýtal som sa
— „Chcem zarábať peniaze riešením problémov. Prečo si tu?
- "Ja tiež. Proste nebudem zarábať. Ak potrebuješ pomoc, tak sa z láskavosti môjho srdca rozhodnem."
Môj súper zaváhal a ako odpoveď niečo zamrmlal.

Po chvíli začali spolužiaci opúšťať publikum a brali si so sebou poskladané papieriky, ktoré obsahovali problémy zo skúšky.
"Pomôžte mi rozhodnúť sa," požiadal prvý odvážlivec. "Dobre, rozhodnem sa teraz," odpovedal som. Neprešlo ani 5 minút, kým som guľôčkovým perom načmáral roztok na pokrčený papier a vrátil som ho. Keď ľudia videli, že schéma funguje, začali opúšťať publikum oveľa častejšie a niekedy aj dvaja alebo traja naraz.
Na mojom pracovnom parapete boli tri stohy listov. Jedno balenie obsahuje novododané obliečky TODO. Predo mnou bol list In Progress a vedľa neho ležal balíček „Hotovo“.
Toto bola moja najkrajšia hodina. Celá skupina, ktorá mala takmer 20 ľudí, sa na mňa obrátila o pomoc. A všetkým som pomohol.
A chlapík, ktorý si chcel zarobiť, po pár minútach narýchlo odišiel, uvedomujúc si, že sa tu niet čoho chytiť, všetka pozornosť sa sústredila na altruistu.
Celá skupina zložila skúšku so 4 a 5 známkami a teraz mám 20 priateľov a neotrasiteľnú autoritu vo veciach programovania.

Prvé peniaze

Po zimnom sedení sa po celej fakulte šírili chýry, že sa našiel chlapík, ktorý dokáže vyriešiť akýkoľvek programátorský problém, ktorý nám bol zadaný doma alebo počas sedenia. A ústne sa šírilo nielen medzi prvákmi, ale aj medzi študentmi vyšších ročníkov.
Ako som už napísal, po „najlepšej hodine“ na skúške som si vytvoril priateľské vzťahy so všetkými v skupine a začali sme veľmi úzko komunikovať s niekoľkými chlapcami. Stali sme sa skutočnými priateľmi a veľa času sme trávili mimo univerzity. Pre jednoduchosť prezentácie ich volajme Elon a Alen (prezývky sú blízke tým skutočným).
Volali sme Elona menom, ale Alain dostal prezývku na počesť Alaina Delona, ​​pre jeho schopnosť zviesť akúkoľvek krásku. Dievčatá okolo neho doslova krúžili v rôznom počte. Pokiaľ ide o stretávanie sa s ľuďmi a nadväzovanie vzťahov na noc, Alain Delon nemal obdobu. Pre ženské pohlavie bol skutočným alfa samcom, čo je pre väčšinu IT špecialistov úplne nezvyčajné. Okrem milostných záležitostí bol Alain povolaním dizajnér. A ak potreboval niečo nakresliť, napríklad vtedy obľúbené blikajúce bannery vo formáte Web 1.0, tak to urobil s ľahkosťou.

O Elonovi sa dá povedať oveľa viac. Stretávame sa s ním dodnes, desať rokov po univerzite. V prvých rokoch to bol vychudnutý, skôr tichý chlap. (To sa nedá povedať o dnešnom chlapovi s veľkou tvárou v džípe). Bol som však rovnaký – chudý a málomluvný. Preto si myslím, že sme rýchlo našli spoločnú reč.
Často po vyučovaní sme sa ja, Elon a Alen zhromaždili v pivnici, prikrytí plachtou. Po prvé, bolo to cez ulicu od univerzity a po druhé, za „rubeľ“ a 50 kopejok ste mohli dostať nejaké dobroty na 2 hodiny zápalnej párty. Ako čapované pivo a krekry. Pointa však bola iná.
Elon a Alen boli z iných miest a bývali v prenajatej izbe. Neustále im chýbali peniaze a boli chvíle, keď museli hladovať. Šťastné chvíle, keď dostali na svoju kartu štipendium 10 dolárov, sa oslavovali v ten istý deň a potom nastal čas „utiahnuť si opasky“ a žiť z toho, čo Boh posiela.

Samozrejme, že táto situácia motivovala hosťujúcich študentov hľadať spôsoby, ako si privyrobiť. A pred nimi, na dĺžku paže, sedela „svetlá hlava“ v podobe mňa. Ktorý je tiež poddajný a málokedy odmieta ľuďom pomáhať.
Neviem, či som tú situáciu opísal správne, ale nakoniec tieto stretnutia v krčme viedli k vytvoreniu prvej IT firmy v mojej kariére s názvom SKS. Meno bolo jednoducho zložené z prvých písmen našich priezvisk. Naša mladá spoločnosť zastúpená tromi zakladateľmi počas nasledujúcich štyroch rokov roztrhala konkurentov a celú univerzitu.

Elon bol ROP. Teda vedúci obchodného oddelenia. Medzi jeho povinnosti patrilo najmä vyhľadávanie nových klientov pre náš outsourcing. Predajným kanálom boli horizontálne vytlačené letáky formátu A4 s jednoduchým nápisom: „Riešenie problémov s programovaním“. A nižšie je Elonovo telefónne číslo.
Tento druh vonkajšej reklamy bol umiestnený na každom poschodí, kde sa mohli objaviť študenti študujúci programovanie.
Ďalším, silnejším z hľadiska lojality zákazníkov, bol predajný kanál ústne.

Obchodný model bol jednoduchý. Či už cez odporúčanie alebo inzerát sa nám ozval vysokoškolák. Popísal problém s programovaním, ktorý bolo potrebné vyriešiť do určitého termínu a ja som ho vyriešil za študentskú cenu. Elon bol zapojený do predaja a dostal svoje percentá. Alain Delon sa na našom biznise podieľal menej často, ale ak sme potrebovali urobiť dizajn, obrázok alebo prilákať ďalších klientov, vždy bol nápomocný. Svojím šarmom k nám priviedol pomerne veľa nových ľudí. Všetko, čo som musel urobiť, bolo spracovať tento pipeline rýchlosťou 5-10 úloh za deň. Termíny boli prísne – nie viac ako týždeň. A častejšie sa to muselo robiť včera. Preto ma takéto okolnosti rýchlo naučili písať programy „v prúde“ bez toho, aby ma rozptyľovala každá maličkosť ako zemetrasenie s magnitúdou 5,9 alebo veľká nehoda za oknom.

Počas najhorúcejšieho obdobia, pred zasadnutím, teda v decembri a máji, sa zdalo, že mám na počítači úlohy celej univerzity. Našťastie väčšina z nich bola rovnakého typu, najmä keď nás kontaktoval veľkoobchod zastúpený zástupcom celej skupiny. Potom bolo možné urobiť 20 úloh, napríklad v assembleri, zmeniť len 2-3 riadky. V takejto sezóne olova tiekla ako rieka. Jediné, čo nám chýbalo, boli diskety. V rokoch 2003-2005 chudobní študenti v našom meste nemali nič také ako prevod peňazí cez internet. Okrem toho neexistovali žiadne záruky za platbu, ktorá sa teraz nazýva escrow. Preto si firma SKS ako realizátor zákaziek dala termín na pôde univerzity a dali sme disketa s riešením. Neexistovala takmer žiadna refundácia (z anglického refund - vrátenie platby na žiadosť klienta). Všetci boli spokojní a dostali svojich 4-5 bodov, ak sa naučili, čo som pridal do súboru readme.txt na diskete. Aj keď jednoduchá ukážka plne funkčného programu tiež často vyvolala u učiteľov wow efekt.

Cena bola samozrejme smiešna, ale brali sme to v množstve. Napríklad typická domáca úloha stojí 2-3 doláre. Kurz 10 $. Jackpot v podobe programu na prácu kandidáta vypadol raz a za prihlášku pre absolventa pripravujúceho sa na obhajobu to bolo až 20 dolárov. Počas horúcej sezóny sa tento príjem môže znásobiť 100 klientmi, čo bolo v konečnom dôsledku viac ako priemerná mzda v meste. Cítili sme sa v pohode. Mohli si dovoliť nočné kluby a zabávať sa tam, namiesto toho, aby sa dusili cheburekom za posledný cent.

Z pohľadu mojich schopností sa s každou ďalšou žiackou úlohou znásobovali. Začali sme dostávať prihlášky z iných fakúlt, s iným vzdelávacím programom. Niektorí starší študenti už naplno využívali Javu a XML, keď sme sa opierali o C++/MFC. Niektorí potrebovali Assembler, iní PHP. Pri riešení problémov som sa naučil celú zoo technológií, knižníc, formátov ukladania dát a algoritmov.
Tento univerzalizmus mi zostal dodnes. Pri práci na projektoch sa využívajú aj rôzne technológie a platformy. Teraz môžem písať softvér alebo aplikáciu pre akúkoľvek platformu, OS alebo zariadenie. Kvalita sa, samozrejme, bude líšiť, ale pre biznis, ktorému sa hlavne venujem, je väčšinou dôležitý rozpočet. A jednočlenný orchester pre nich znamená zníženie rozpočtu presne o toľko, koľko vývojárov môžem nahradiť svojimi schopnosťami.

Ak hovoríme o najväčšom prínose, ktorý mi štúdium na vysokej škole prinieslo, neboli by to prednášky o algoritmoch či filozofii. A nebude sa „naučiť učiť“, ako je módne hovoriť o univerzitách. Najprv to budú ľudia, s ktorými sme po tréningu zostali v priateľskom vzťahu. A po druhé, toto je tá istá spoločnosť SKS, ktorá zo mňa urobila profesionálneho vývojára so skutočnými a rôznorodými zákazkami.
Rád by som si zapamätal frázu, ktorá je veľmi vhodná pre túto časť príbehu: Človek sa stáva programátorom, keď jeho programy začnú používať iní ľudia a platia za to peniaze..

Firemná značka SKS tak bola široko známa nielen v študentských kruhoch, ale aj medzi učiteľmi. Dokonca sa stal prípad, keď jeden z učiteľov prišiel ku mne domov, aby som mu pomohol napísať program pre jeho vedecké potreby. Ten mi zasa pomáhal vo svojej špecializácii. Obaja sme sa tak zahĺbili do našej práce, že sme obaja zaspali na úsvite. On je na gauči a ja na stoličke pred počítačom. Ale splnili svoje úlohy a obaja boli spokojní so svojou prácou.

Twist osudu

Začal sa 4. ročník VŠ. Posledný kurz, po ktorého absolvovaní sa udeľuje bakalársky titul. Prakticky neexistovali všeobecnovzdelávacie predmety, ale len tie, ktoré sa týkali počítačov a sietí. Teraz niekedy ľutujem, že som nemal čas alebo neprejavil záujem o rovnakú elektroniku či vnútornú štruktúru sietí. Teraz to z nutnosti dokončujem, ale som si istý, že tieto základné znalosti potrebuje každý vývojár. Na druhej strane nemôžete vedieť všetko.
Dokončoval som písanie vlastného kompilátora C++, ktorý už dokázal podľa normy kontrolovať chyby v kóde a vygenerovať návod na zostavenie. Snívalo sa mi, že budem môcť predať svoj kompilátor za 100 dolárov za licenciu. Znásobil som to tisíckou zákazníkov a mentálne
prenesené do Hammeru, s 50 Centovými basmi z reproduktorov a horúcimi kúskami na zadnom sedadle. Čo môžeš robiť, keď máš 19 rokov - také sú priority. Trik môjho domáceho kompilátora spočíval v tom, že produkoval chyby v ruštine, namiesto angličtiny z Visual C++ a gcc, čo nie je zrozumiteľné pre každého. Videl som to ako vražednú vlastnosť, ktorú ešte nikto na svete nevynašiel. Myslím, že ďalej nemá zmysel hovoriť. Neprišlo na predaj. Dosiahol som však hlbokú znalosť jazyka C++, ktorá ma živí dodnes.

Vo štvrtom ročníku som chodil na univerzitu čoraz menej, pretože som väčšinu programu poznal. A čo som nevedel, riešil som výmenným obchodom so študentom, ktorý rozumel napríklad elektronike alebo teórii pravdepodobnosti. Na čo sme vtedy neprišli. A neviditeľné slúchadlá na drôte, do ktorého bola nadiktovaná odpoveď. A vybehnúť z triedy, aby vám guru vo svojej špecializácii mohol za 2 minúty napísať riešenie celej skúšky. Bol to skvelý čas.
Počas toho istého kurzu som začal uvažovať o skutočnej práci. S kanceláriou, skutočnými komerčnými aplikáciami a slušným platom.
No v našom meste sa v tom čase dalo nájsť prácu len ako programátor
„1C: Účtovníctvo“, ktoré mi vôbec nevyhovovalo. Aj keď z beznádeje som už bol na to pripravený. Priateľka na mňa v tom čase vyvíjala nátlak, aby som sa presťahoval do samostatného bytu.
Inak spať s rodičmi cez stenu vôbec nie je comme il faut. Áno, a už som bol unavený z riešenia študentských problémov a chcel som niečo viac.

Problémy prišli z ničoho nič. Napadlo ma inzerovať na mail.ru, že hľadám prácu s platom 300 dolárov na pozíciu programátora v C++/Java/Delphi. Toto je v roku 2006. Na čo v podstate odpovedali niečo ako: "Možno by ste mali napísať Billovi Gatesovi s takými žiadosťami o plat?" To ma rozčúlilo, ale medzi kopou podobných odpovedí sa našiel človek, ktorý ma priviedol k voľnej nohe. Toto bola jediná príležitosť v našom chudobnom Las Vegas zarobiť dobré peniaze tým, čo som vedel robiť.
Štúdium na univerzite tak plynulo prešlo do práce na voľnej nohe. Uzavretím témy VŠ môžeme povedať nasledovné: Nešiel som do 5. ročníka. Bolo tam jedno programovanie a taký koncept ako “voľná dochádzka”, ktorý som využil na 146%.
Jediné, čo bolo potrebné urobiť, bolo obhájiť diplom špecialistu. Čo sa mi s pomocou priateľov úspešne podarilo. Stojí za to povedať, že týmto kurzom som sa už presťahoval od rodičov do prenajatého bytu a kúpil som si nové auto. Takto sa začala moja kariéra profesionálneho vývojára.

Nasledujúce kapitoly budú venované jednotlivým projektom, najťažším zlyhaniam a najnevhodnejším klientom. Kariéra na voľnej nohe od 5 do 40 $/hodinu, rozbehnutie vlastného startupu, ako mi zakázali vstup na burzu na voľnej nohe Upwork a ako som sa z freelancingu stal vedúcim tímu v druhej najväčšej ropnej spoločnosti na svete. Ako som sa po kancelárii a spustení vrátil späť k práci na diaľku a ako som riešil interné problémy so socializáciou a zlozvyky.

Ak sa chcete pokračovať ...

Zdroj: hab.com

Pridať komentár