Programátorská kariéra. Kapitola 1. Prvý program

Programátorská kariéra. Kapitola 1. Prvý programMilí čitatelia Habra, dávam do pozornosti sériu príspevkov, ktoré v budúcnosti plánujem spojiť do knihy. Chcel som sa ponoriť do minulosti a vyrozprávať svoj príbeh o tom, ako som sa stal vývojárom a ním aj naďalej budem.

O predpokladoch dostať sa do IT, cesta pokus omyl, samoučenie a detská naivita. Začnem svoj príbeh z raného detstva a skončím ho dneškom. Dúfam, že táto kniha bude užitočná najmä pre tých, ktorí práve študujú IT špecializáciu.
A tí, ktorí už v IT pracujú, budú zrejme kresliť paralely s vlastnou cestou.

V tejto knihe nájdete odkazy na prečítanú literatúru, skúsenosti s komunikáciou s ľuďmi, s ktorými som sa skrížil počas štúdia, práce a rozbiehania startupu.
Počnúc vysokoškolskými učiteľmi až po veľkých rizikových investorov a majiteľov multimiliónových spoločností.
K dnešnému dňu je pripravených 3.5 kapitoly knihy z 8-10 možných. Ak prvé kapitoly nájdu pozitívny ohlas u publika, vydám celú knihu.

O mne

Nie som John Carmack, Nikolaj Durov ani Richard Matthew Stallman. Nepracoval som v spoločnostiach ako Yandex, VKontakte alebo Mail.ru.
Mal som síce skúsenosti s prácou vo veľkej korporácii, o ktorých vám určite poviem. Ale myslím si, že pointa nie je ani tak vo veľkom mene, ale v samotnej histórii cesty k vývoju a ďalej vo víťazstvách a prehrách, ktoré sa udiali počas mojej 12-ročnej kariéry v komerčnom developmente. Samozrejme, niektorí z vás majú oveľa viac skúseností v IT. Ale verím, že drámy a víťazstvá, ktoré sa udiali počas mojej súčasnej kariéry, stoja za opísanie. Udalostí bolo veľa a všetky boli rôznorodé.

Kto som dnes ako vývojár
— Podieľal sa na viac ako 70 komerčných projektoch, z ktorých mnohé napísal úplne od začiatku
— V desiatke našich vlastných projektov: open-source, startupy
— 12 rokov v IT. Pred 17 rokmi - napísal prvý program
- Najcennejšia osoba spoločnosti Microsoft 2016
— Microsoft Certified Professional
— Certifikovaný Scrum Master
— Dobre ovládam C#/C++/Java/Python/JS
- Plat - 6000-9000 $/mesiac. v závislosti od zaťaženia
— Mojím hlavným pôsobiskom je dnes nezávislá burza Upwork. Cez ňu pracujem pre spoločnosť, ktorá sa zaoberá NLP/AI/ML. Má základňu 1 milión používateľov
— Vydané 3 aplikácie v AppStore a GooglePlay
— Pripravujem sa na založenie vlastnej IT spoločnosti okolo projektu, ktorý momentálne vyvíjam

Okrem vývoja píšem články na obľúbené blogy, učím nové technológie a vystupujem na konferenciách. Relaxujem vo fitness klube a s rodinou.

To je asi všetko o mne, čo sa týka témy knihy. Ďalej je môj príbeh.

Príbeh. Štart.

Prvýkrát som sa dozvedel, čo je počítač, keď som mal 7 rokov. Práve som nastúpil do prvej triedy a na výtvarnej sme dostali domácu úlohu vyrobiť počítač z kartónu, penovej gumy a fixiek. Rodičia mi samozrejme pomohli. Mama študovala na technickej univerzite začiatkom 80. rokov a na vlastnej koži poznala, čo je počítač. Počas tréningu sa jej dokonca podarilo vyraziť dierne štítky a naložiť ich do obrovského sovietskeho stroja, ktorý zaberal leví podiel v školiacej miestnosti.

Domáce úlohy sme dokončili s päťkou, pretože sme všetko robili usilovne. Našli sme hrubý list kartónu A5. Zo starých hračiek boli vyrezané kruhy z penovej gumy a používateľské rozhranie bolo nakreslené fixami. Naše zariadenie malo len niekoľko tlačidiel, ale s mamou sme im pridelili potrebnú funkcionalitu a na hodine som učiteľke ukázal, ako sa stlačením tlačidla „Zapnúť“ v rohu „obrazovky“ rozsvieti žiarovka, “ pri súčasnom kreslení červeného kruhu fixou.

Moje ďalšie stretnutie s počítačovou technológiou sa stalo približne v rovnakom veku. Cez víkendy som často navštevoval starých rodičov, ktorí zasa predávali rôzne haraburdy a ochotne aj kupovali za drobné. Staré hodinky, samovary, kotly, odznaky, meče bojovníkov z 13. storočia a iné. Medzi všetkými tými rôznymi vecami mu niekto priniesol počítač, ktorý bežal z televízora a audio rekordéra. Našťastie, moja stará mama mala oboje. Samozrejme sovietskej výroby. TV Electron s ôsmimi tlačidlami na prepínanie kanálov. A dvojkazetový magnetofón Vega, ktorý dokonca dokázal prehrávať aj audiokazety.
Programátorská kariéra. Kapitola 1. Prvý program
Sovietsky počítač „Poisk“ a periférie: TV „Electron“, magnetofón „Vega“ a audiokazeta s jazykom BASIC

Začali sme zisťovať, ako celý tento systém funguje. Súčasťou počítača bolo niekoľko audiokaziet, veľmi opotrebovaný návod na použitie a ďalšia brožúra s názvom „BASIC Programming Language“. Napriek môjmu detstvu som sa snažil aktívne podieľať na procese pripájania káblov k magnetofónu a televízoru. Potom sme vložili jednu z kaziet do priehradky na magnetofón, stlačili tlačidlo „Vpred“ (t. j. spustiť prehrávanie) a na televíznej obrazovke sa objavila nezrozumiteľná pseudografika textu a pomlčiek.

Samotná hlavná jednotka vyzerala ako písací stroj, len dosť zažltnutá a mala viditeľnú váhu. S detským vzrušením som stlačil všetky klávesy, nevidel som žiadne hmatateľné výsledky, bežal som a šiel na prechádzku. Hoci už vtedy som mal pred sebou príručku jazyka BASIC s ukážkami programov, ktoré som vzhľadom na svoj vek jednoducho nedokázal prepísať.

Zo spomienok na detstvo si určite pamätám všetky pomôcky, ktoré mi kúpili rodičia, keď cvičili s ostatnými príbuznými. Prvou hrkálkou bola známa hra „Vlk chytá vajíčka“. Dokončila som to celkom rýchlo, na konci som videla dlho očakávanú rozprávku a chcela som niečo viac. Potom tu bol Tetris. V tom čase mala hodnotu 1,000,000 90 XNUMX kupónov. Áno, bolo to na Ukrajine začiatkom XNUMX. rokov a za akademický úspech som dostal milión. Zaslúžene ako milionár som objednal túto zložitejšiu hru pre svojich rodičov, kde museli správne usporiadať figúrky rôznych tvarov padajúce zhora. Tetris mi v deň kúpy nekontrolovateľne odobrali rodičia, ktorí sa ho sami nevedeli dva dni zbaviť.

Programátorská kariéra. Kapitola 1. Prvý program
Slávny „Vlk chytá vajíčka a Tetris“

Potom tu boli herné konzoly. Naša rodina bývala v malom domčeku, kde vo vedľajšej izbe býval aj strýko s tetou. Môj strýko bol vojenský pilot, prešiel horúcimi miestami, takže napriek svojej skromnosti bol veľmi húževnatý a bál sa mála, po pravde
vojenských operácií. Tak ako mnoho ľudí v 90. rokoch, aj môj strýko sa dal na podnikanie a mal celkom dobrý príjem. V jeho izbe sa teda objavil dovezený televízor, videorekordér a potom set-top box Subor (podobne ako Dendy). Vyrazilo mi dych sledovať, ako hrá Super Mario, TopGun, Terminator a ďalšie hry. A keď mi podal joystick do rúk, moje šťastie nepoznalo hraníc.

Programátorská kariéra. Kapitola 1. Prvý program
Osembitová konzola "Syubor" a legendárny "Super Mario"

Áno, ako všetky bežné deti, ktoré vyrástli v deväťdesiatych rokoch, aj ja som trávila celé dni na dvore. Či už hranie pionierskeho lopty, bedmintonu, alebo lezenie po stromoch v záhrade, kde rástlo množstvo rôznych plodov.
Ale tento nový produkt, keď môžete ovládať Maria, skákať cez prekážky a zachraňovať princeznú, bol mnohokrát zaujímavejší než akýkoľvek slepecký buff, ladushka a klasika. Preto, keď rodičia videli môj skutočný záujem o predpony, dali mi za úlohu naučiť sa násobilku. Potom mi splnia sen. Učia ju na druhom stupni a ja som práve skončil prvý. Ale povedané a hotovo.

Silnejšiu motiváciu ako mať vlastnú hernú konzolu nebolo možné vymyslieť. A do týždňa som bez problémov odpovedal na otázky „sedem deväť“, „šesť tri“ a podobne. Test prebehol a kúpili mi vytúžený darček. Ako sa dozviete ďalej, konzoly a počítačové hry zohrali významnú úlohu v tom, že som sa začal zaujímať o programovanie.

Takto to išlo rok čo rok. Vychádzala ďalšia generácia herných konzol. Najprv Sega 16-bit, potom Panasonic, potom Sony PlayStation. Hry boli mojou zábavou, keď som bol dobrý. Keď sa v škole alebo doma vyskytol nejaký problém, zobrali mi joysticky a ja som, samozrejme, nemohol hrať. A samozrejme, zastihnúť moment, keď ste sa vrátili zo školy a váš otec sa ešte nevrátil z práce, aby sa zamestnal v televízii, bolo tiež šťastie. Nedá sa teda povedať, že by som bol závislý na hazardných hrách alebo že by som trávil celé dni hraním hier. Takáto príležitosť nebola. Radšej som celý deň trávil na dvore, kde som si aj niečo našiel
zaujímavé. Napríklad úplne divoká hra – letecké prestrelky. Dnes už niečo také na dvoroch neuvidíte, no vtedy to bola skutočná vojna. Paintball je len detská hra v porovnaní s masakrom, ktoré sme spôsobili. Boli tam balóny
nabité hustými plastovými guľkami. A keď zastrelil iného chlapa z priameho dosahu, nechal si modrinu na polovici ruky alebo brucha. Tak sme žili.

Programátorská kariéra. Kapitola 1. Prvý program
Detská pištoľ z detstva

Nebolo by od veci spomenúť film „Hackeri“. Vyšiel len v roku 1995, v hlavnej úlohe s 20-ročnou Angelinou Jolie. Povedať, že na mňa film urobil silný dojem, nič nehovorí. Detské myslenie totiž všetko vníma v nominálnej hodnote.
A ako títo chalani famózne upratovali bankomaty, vypínali semafory a hrali sa s elektrinou po celom meste – pre mňa to bola mágia. Potom mi napadla myšlienka, že by bolo super stať sa všemohúcim ako Hackeri.
O niekoľko rokov neskôr som si kúpil každé číslo časopisu Hacker a pokúsil som sa hacknúť Pentagon, hoci som ešte nemal internet.

Programátorská kariéra. Kapitola 1. Prvý program
Moji hrdinovia z filmu "Hackeri"

Skutočným objavom pre mňa bol skutočný počítač s 15-palcovým lampovým monitorom a systémovou jednotkou založenou na procesore Intel Pentium II. Samozrejme, kúpil ho jeho strýko, ktorý sa koncom deväťdesiatych rokov dostal dosť vysoko, aby si mohol dovoliť
takéto hračky. Keď mi prvýkrát zapli hru, nebolo to príliš vzrušujúce. Ale jedného dňa prišiel súdny deň, hviezdy sa zoradili a my sme prišli navštíviť strýka, ktorý nebol doma. Opýtal som sa:
— Môžem zapnúť počítač?
„Áno, rob si s ním, čo chceš,“ odpovedala milujúca teta.

Samozrejme, robil som si s ním, čo som chcel. Na pracovnej ploche Windows 98 boli rôzne ikony. WinRar, Word, FAR, Klondike, hry. Po kliknutí na všetky ikony sa moja pozornosť zamerala na FAR Manager. Vyzerá to ako nepochopiteľná modrá obrazovka, ale s dlhým zoznamom (súborov), ktoré možno spustiť. Postupným kliknutím na každú z nich som zachytil účinok toho, čo sa deje. Niektoré fungovali, niektoré nie. Po chvíli som si uvedomil, že najzaujímavejšie sú súbory, ktoré končia príponou „.exe“. Spúšťajú rôzne skvelé obrázky, na ktoré môžete tiež kliknúť. Takže som pravdepodobne spustil všetky dostupné exe súbory na strýkovom počítači a potom ma sotva vytiahli za uši zo super zaujímavej hračky a vzali ma domov.

Programátorská kariéra. Kapitola 1. Prvý program
Ten istý FAR Manager

Potom tu boli počítačové kluby. S priateľom sme tam často chodili hrať Counter Strike a Quake online, čo by sme doma nemohli robiť. Často som žiadal od rodičov drobné, aby som mohol polhodinu hrať v klube. Vidiac moje oči, ako mačka zo Shreka, mi ponúkli ďalšiu lukratívnu zmluvu. Školský rok končím bez C a kúpia mi počítač. Zmluva bola podpísaná začiatkom roka v septembri a vytúžený PC mal pri dodržaní dohôd prísť už v júni.
Snažil som sa zo všetkých síl. Dokonca som z dojatia predal svoju milovanú Sony Playstation, aby ma menej rozptyľovalo štúdium. Hoci som bol taký študent, 9. ročník bol pre mňa významný. Krvavý nos, len som musel dostať dobré známky.

Už na jar, v očakávaní kúpy PC, sa stala asi najvýznamnejšia udalosť v mojom živote. Snažím sa myslieť dopredu, a tak som jedného krásneho dňa povedal otcovi:
- Ocko, neviem, ako používať počítač. Poďme sa prihlásiť na kurzy

Len čo sa povie, tak urobí. Po otvorení novín s inzerátmi našiel otec blok napísaný malým písmom s nadpisom "Počítačové kurzy". Zavolal som učiteľom a o pár dní som už bol na týchto kurzoch. Kurzy sa konali na druhej strane mesta, v starej panelovej Chruščovovej budove, na treťom poschodí. V jednej miestnosti boli tri PC za sebou a tí, čo sa chceli učiť, sa na nich vlastne školili.

Pamätám si svoju prvú lekciu. Windows 98 sa načítal dlho, potom sa slova ujal učiteľ:
- Takže. Pred vami je pracovná plocha systému Windows. Obsahuje ikony programu. V spodnej časti je tlačidlo Štart. Pamätajte! Všetky práce začínajú tlačidlom Štart. Kliknite naň ľavým tlačidlom myši.
Pokračoval.
- Tu - vidíte nainštalované programy. Kalkulačka, Poznámkový blok, Word, Excel. Počítač môžete vypnúť aj kliknutím na tlačidlo „Vypnúť“. Skús to.
Nakoniec presedlal na pre mňa v tom čase náročnejšiu časť.
„Na pracovnej ploche,“ povedal učiteľ, môžete vidieť aj programy, ktoré sa dajú spustiť dvojitým kliknutím.
- Dvojité!? - Ako je to vo všeobecnosti?
- Vyskúšajme. Poznámkový blok spustíte dvojitým kliknutím naň ľavým tlačidlom myši.

Áno, schaass. Najťažšie bolo v tej chvíli držať myš na jednom mieste a zároveň rýchlo dvakrát kliknúť. Pri druhom kliknutí sa myš trochu zaškubala a s ňou aj skratka. Ale napriek tomu sa mi počas hodiny podarilo prekonať takú neprekonateľnú úlohu.
Potom nasledovalo školenie vo Worde a Exceli. Jedného dňa ma jednoducho nechali prezerať si obrázky prírody a architektonických pamiatok. Bola to najzaujímavejšia aktivita v mojej pamäti. Oveľa zábavnejšie ako učenie sa, ako formátovať text vo Worde.

Vedľa môjho PC študovali ďalší študenti. Niekoľkokrát som narazil na chlapcov, ktorí písali programy, pričom som o tomto procese horlivo diskutoval. Toto zaujalo aj mňa. Keď som si spomenul na film Hackeri a bol som unavený z MS Office, požiadal som o preradenie na kurzy
programovanie. Ako všetky významné udalosti v živote, aj toto sa stalo spontánne, zo záujmu.

Na prvú hodinu programovania som prišiel s mamou. Nepamätám si prečo. Zrejme musela vyjednávať o nových kurzoch a platiť. Vonku bola jar, už bola tma. Precestovali sme celé mesto mikrobusom-Gazelle až na perifériu, dostali sa k notoricky známym
panel Chruščov, vystúpil na poschodie a pustil nás dnu.
Posadili ma ku koncovému počítaču a otvorili program s úplne modrou obrazovkou a žltými písmenami.
- Toto je Turbo Pascal. Učiteľ sa k jeho činu vyjadril.
- Pozri, tu som napísal dokumentáciu o tom, ako to funguje. Prečítajte si to a pozrite sa.
Predo mnou bolo plátno žltého, absolútne nezrozumiteľného textu. Snažil som sa niečo zistiť pre seba, ale nepodarilo sa mi to. Čínska gramatika a to je všetko.
Nakoniec mi po nejakom čase vedúci kurzu podal vytlačený papier formátu A4. Bolo na ňom napísané niečo zvláštne, čo som predtým zahliadol na monitoroch chalanov z kurzov programovania.
- Prepíšte, čo je tu napísané. Učiteľ zavelil a odišiel.
Začal som písať:
program Summa;

Písal som a súčasne som hľadal anglické písmená na klávesnici. Vo Worde som sa aspoň natrénoval v ruštine, ale tu sa musím naučiť iné písmenká. Program bol písaný jedným prstom, ale veľmi opatrne.
začiatok, koniec, var, celé číslo - Čo to je? Hoci som sa od prvej triedy učila angličtinu a poznala som význam mnohých slov, nevedela som to všetko spojiť. Ako cvičený medveď na bicykli som pokračoval v pedálovaní. Konečne niečo známe:
writeln('Zadajte prvé číslo');
Potom - writeln('Zadajte druhé číslo');
Potom - writeln('Vysledok = ',c);
Programátorská kariéra. Kapitola 1. Prvý program
Úplne prvý program Turbo Pascal

Fíha, napísal som to. Zložil som ruky z klávesnice a čakal, kým sa objaví guru pre ďalšie pokyny. Nakoniec prišiel, prezrel obrazovku a povedal mi, aby som stlačil kláves F9.
"Teraz je program skompilovaný a skontrolovaný na chyby," povedal guru
Nedošlo k žiadnym chybám. Potom povedal stlačiť Ctrl+F9, čo som tiež musel prvýkrát krok za krokom vysvetliť. Musíte podržať kláves Ctrl a potom stlačiť F9. Obrazovka stmavla a konečne sa na nej objavila správa, ktorej som rozumel: „Zadajte prvé číslo.
Na povel učiteľa som zadal 7. Potom druhé číslo. Zadám 3 a stlačím Enter.

Na obrazovke sa rýchlosťou blesku objaví riadok „Výsledok = 10“. Bola to eufória a nič podobné som ešte v živote nezažil. Akoby sa predo mnou otvoril celý Vesmír a ja som sa ocitla v akomsi portáli. Telom mi prešlo teplo, na tvári sa mi objavil úsmev a kdesi hlboko v podvedomí som si uvedomil - že toto je moje. Veľmi intuitívne, na emocionálnej úrovni som začal cítiť obrovský potenciál v tejto bzučiacej krabici pod stolom. Je toľko vecí, ktoré môžete robiť vlastnými rukami a ona to urobí!
Že toto je nejaká mágia. Bolo úplne mimo moje chápanie, ako sa ten žltý, nezrozumiteľný text na modrej obrazovke zmenil na pohodlný a zrozumiteľný program. Čo sa tiež počíta! Čo ma prekvapilo, nebol samotný výpočet, ale to, že písané hieroglyfy sa zmenili na kalkulačku. Medzi týmito dvoma udalosťami bola v tom čase medzera. Intuitívne som však cítil, že tento kus hardvéru dokáže takmer čokoľvek.

Takmer celú cestu v mikrobuse domov som sa cítil ako vo vesmíre. V hlave sa mi krútil tento obrázok s nápisom „Výsledok“, ako sa to stalo, čo ešte tento stroj dokáže, či môžem niečo napísať sám bez kúsku papiera. Tisíc otázok, ktoré ma zaujali, nadchli a inšpirovali zároveň. Mal som 14 rokov. V ten deň si ma profesia vybrala.

Ak sa chcete pokračovať ...

Zdroj: hab.com

Pridať komentár