Programerska kariera. Poglavje 1. Prvi program

Programerska kariera. Poglavje 1. Prvi programDragi bralci Habra, predstavljam vam serijo objav, ki jih nameravam v prihodnosti združiti v knjigo. Želel sem se poglobiti v preteklost in povedati svojo zgodbo o tem, kako sem postal razvijalec in to še naprej ostajam.

O predpogojih za vstop v IT, poti poskusov in napak, samoučenja in otroške naivnosti. Svojo zgodbo bom začela iz zgodnjega otroštva in jo končala z današnjim dnem. Upam, da bo ta knjiga še posebej uporabna za tiste, ki šele študirajo IT specialnost.
In tisti, ki že delajo v IT-ju, bodo verjetno potegnili vzporednice s svojo potjo.

V tej knjigi boste našli reference na literaturo, ki sem jo prebral, izkušnje komuniciranja z ljudmi, s katerimi sem se srečal med študijem, delom in ustanovitvijo startupa.
Od univerzitetnih učiteljev do velikih tveganih vlagateljev in lastnikov večmilijonskih podjetij.
Z današnjim dnem je pripravljenih 3.5 poglavja knjige od možnih 8-10. Če bodo prva poglavja naletela na pozitiven odziv občinstva, bom izdal celotno knjigo.

O sebi

Nisem John Carmack, Nikolaj Durov ali Richard Matthew Stallman. Nisem delal v podjetjih, kot so Yandex, VKontakte ali Mail.ru.
Čeprav sem imel izkušnje z delom v veliki korporaciji, o kateri vam bom zagotovo povedal. Ampak mislim, da poanta ni toliko v velikem imenu, ampak v sami zgodovini poti do tega, da sem postal razvijalec, in nadalje, v zmagah in porazih, ki so se zgodili v moji 12-letni karieri v komercialnem razvoju. Seveda imate nekateri veliko več izkušenj na področju IT. A verjamem, da so drame in zmage, ki so se dogajale v moji trenutni karieri, vredne opisa. Dogodkov je bilo veliko in vsi so bili raznoliki.

Kdo sem danes kot razvijalec
— Sodeloval pri več kot 70 komercialnih projektih, od katerih je mnoge napisal iz nič
— V ducatu lastnih projektov: odprtokodnih, startupih
— 12 let v IT. Pred 17 leti - napisal prvi program
- Najdragocenejša Microsoftova oseba 2016
— Microsoft Certified Professional
— Certificirani mojster Scrum
— Dobro obvladam C#/C++/Java/Python/JS
— Plača — 6000-9000 $/mesec. odvisno od obremenitve
— Moje glavno delovno mesto danes je samostojna borza Upwork. Preko njega delam za podjetje, ki se ukvarja z NLP/AI/ML. Ima bazo 1 milijon uporabnikov
— Izdane 3 aplikacije v AppStore in GooglePlay
— Pripravljam se na ustanovitev lastnega IT podjetja okoli projekta, ki ga trenutno razvijam

Poleg razvoja pišem članke za priljubljene bloge, poučujem nove tehnologije in govorim na konferencah. Sprostim se v fitnesu in z družino.

To je verjetno vse o meni, kar zadeva temo knjige. Naslednja je moja zgodba.

Zgodba. Začetek.

Prvič sem se naučil, kaj je računalnik, ko sem bil star 7 let. Ravno sem šel v prvi razred in pri likovnem pouku smo dobili domačo nalogo, da naredimo računalnik iz kartona, penaste gume in flomastrov. Seveda so mi starši pomagali. Mama je v zgodnjih 80-ih študirala na tehnični univerzi in je iz prve roke vedela, kaj je računalnik. Med usposabljanjem ji je celo uspelo luknjati karte in jih naložiti v velikanski sovjetski stroj, ki je zavzemal levji delež vadbene sobe.

Domačo nalogo smo opravili z oceno 5, ker smo vse naredili pridno. Našli smo debel list A4 kartona. Iz penaste gume so iz starih igrač izrezali kroge, uporabniški vmesnik pa narisali s flomastri. Naša naprava je imela le nekaj gumbov, vendar sva jim z mamo dodelili potrebno funkcionalnost, med poukom pa sem učitelju pokazal, kako s pritiskom na gumb »Vklop« zasveti žarnica v kotu »zaslona, ” in hkrati s flomastrom risal rdeč krog.

Moje naslednje srečanje z računalniško tehnologijo se je zgodilo približno iste starosti. Ob vikendih sem pogosto obiskoval stare starše, ki so nato prodajali razno kramo in jo tudi rade volje kupili za drobiž. Stare ure, samovari, kotli, značke, meči bojevnikov iz 13. stoletja in drugo. Med vso to pestrostjo mu je nekdo prinesel računalnik, ki je deloval iz televizorja in snemalnika zvoka. Na srečo je imela moja babica oboje. Sovjetske izdelave, seveda. TV Electron z osmimi gumbi za menjavo kanalov. In dvokasetni magnetofon Vega, ki je znal celo presnemati zvočne kasete.
Programerska kariera. Poglavje 1. Prvi program
Sovjetski računalnik "Poisk" in periferne naprave: TV "Electron", magnetofon "Vega" in avdio kaseta z jezikom BASIC

Začeli smo ugotavljati, kako deluje celoten sistem. Z računalnikom je bilo priloženih nekaj avdio kaset, zelo obrabljena navodila za uporabo in še ena brošura z naslovom "OSNOVNI programski jezik". Kljub otroštvu sem poskušal aktivno sodelovati v procesu povezovanja kablov na magnetofon in TV. Nato smo eno od kaset vstavili v predal za magnetofon, pritisnili na gumb »Naprej« (tj. Začetek predvajanja) in na TV-zaslonu se je pojavila nerazumljiva psevdografika besedila in pomišljajev.

Sama glavna enota je bila videti kot pisalni stroj, le precej porumenel in opazne teže. Z otroškim navdušenjem sem pritiskala na vse tipke, nisem videla nobenih oprijemljivih rezultatov in tekla in šla na sprehod. Čeprav sem že takrat imel pred sabo priročnik o jeziku BASIC s primeri programov, ki ga zaradi starosti preprosto nisem mogel prepisati.

Iz otroških spominov se prav gotovo spomnim vseh pripomočkov, ki so mi jih kupili starši, ko so trenirali z drugimi sorodniki. Prvi klopotec je bila znana igra "Volk lovi jajca". Kar hitro sem jo končala, videla težko pričakovano risanko na koncu in si zaželela nekaj več. Potem je bil tu še Tetris. Takrat je bil vreden 1,000,000 kuponov. Da, bilo je v Ukrajini v zgodnjih 90-ih, in dobil sem milijon za moj akademski uspeh. Ker sem se zasluženo počutil kot milijonar, sem staršem naročil to bolj zapleteno igro, kjer so morali pravilno razporediti figure različnih oblik, ki so padale od zgoraj. Tetris so mi na dan nakupa nenadzorovano odvzeli starši, ki se ga sami niso mogli znebiti dva dni.

Programerska kariera. Poglavje 1. Prvi program
Slavni "Volk lovi jajca in tetris"

Potem so bile igralne konzole. Naša družina je živela v majhni hiši, kjer sta v sosednji sobi živela še stric in teta. Moj stric je bil vojaški pilot, šel je skozi vroče točke, zato je bil kljub svoji skromnosti zelo vztrajen in se je bal malo, po resnici
vojaške operacije. Tako kot mnogi ljudje v 90-ih je tudi moj stric začel poslovati in imel precej dober dohodek. Tako so se v njegovi sobi pojavili uvoženi televizor, videorekorder in nato sprejemnik Subor (analogno Dendyju). Jemalo mi je dih, ko sem ga gledal, kako igra Super Mario, TopGun, Terminator in druge igre. In ko mi je predal joystick v roke, moji sreči ni bilo meja.

Programerska kariera. Poglavje 1. Prvi program
Osem-bitna konzola "Syubor" in legendarni "Super Mario"

Ja, kot vsi običajni otroci, ki so odraščali v devetdesetih, sem cele dneve preživel na dvorišču. Ali igranje pionirske žoge ali badmintona ali plezanje po drevesih na vrtu, kjer je raslo veliko različnih sadežev.
Toda ta novi izdelek, ko lahko nadzirate Maria, preskakujete ovire in rešite princeso, je bil velikokrat bolj zanimiv kot kateri koli slepec, laduška in klasika. Zato so mi starši, ko so videli moje resnično zanimanje za predpone, dali nalogo, da se naučim tabelo množenja. Potem bodo izpolnili moje sanje. Učijo jo v drugem razredu, jaz pa sem končala prvega. Ampak, rečeno in storjeno.

Nemogoče si je bilo zamisliti močnejšo motivacijo od lastne igralne konzole. In v enem tednu sem zlahka odgovarjal na vprašanja "sedem devet", "šest tri" in podobno. Test je bil opravljen in kupili so mi želeno darilo. Kot boste izvedeli v nadaljevanju, so igrale konzole in računalniške igre pomembno vlogo pri tem, da so me navdušile za programiranje.

Tako je šlo leto za letom. Prihajala je naslednja generacija igralnih konzol. Najprej Sega 16-bit, nato Panasonic, nato Sony PlayStation. Igre so bile moja zabava, ko sem bil dober. Ko je bila v šoli ali doma kakšna težava, so mi vzeli igralne palice in seveda nisem mogel igrati. In seveda je bila svojevrstna sreča tudi ujeti trenutek, ko si se vrnil iz šole, oče pa se še ni vrnil iz službe, da bi zasedel televizijo. Zato je nemogoče reči, da sem bil odvisen od iger na srečo ali da sem cele dneve preživel ob igricah. Te priložnosti ni bilo. Raje sem ves dan preživel na dvorišču, kjer sem lahko tudi kaj našel
zanimivo. Na primer povsem divja igra - streljanje v zrak. Danes kaj takega na dvoriščih ne boste videli, takrat pa je bila prava vojna. Paintball je le otroška igra v primerjavi s pokolom, ki smo ga povzročili. Tam so bili zračni baloni
napolnjene z gostimi plastičnimi naboji. In ko je ustrelil drugega tipa iz neposredne bližine, mu je pustil modrico na polovici roke ali trebuha. Tako smo živeli.

Programerska kariera. Poglavje 1. Prvi program
Igrača pištola iz otroštva

Ne bi bilo odveč omeniti filma "Hekerji". Izšel je šele leta 1995, v njem pa je igrala 20-letna Angelina Jolie. Če rečem, da je film name naredil močan vtis, pomeni nič. Navsezadnje otroško razmišljanje vse dojema po nominalni vrednosti.
In kako so ti fantje slavno čistili bankomate, ugašali semaforje in se igrali z elektriko po vsem mestu – zame je bila to čarovnija. Potem se mi je porodila misel, da bi bilo kul postati tako vsemogočen kot Hekerji.
Nekaj ​​let kasneje sem kupil vsako številko revije Hacker in poskušal vdreti v Pentagon, čeprav še nisem imel interneta.

Programerska kariera. Poglavje 1. Prvi program
Moji junaki iz filma "Hekerji"

Pravo odkritje zame je bil pravi osebni računalnik s 15-palčnim monitorjem in sistemsko enoto, ki temelji na procesorju Intel Pentium II. Seveda ga je kupil njegov stric, ki se je do konca devetdesetih povzpel dovolj visoko, da si ga je lahko privoščil
take igrače. Prvič, ko so mi prižgali igro, ni bilo preveč razburljivo. Nekega dne pa je prišel sodni dan, zvezde so se poklopile in prišla sva na obisk k stricu, ki ga ni bilo doma. Vprašal sem:
— Ali lahko prižgem računalnik?
"Ja, delaj z njim, kar hočeš," je odgovorila ljubeča teta.

Seveda sem z njim delala, kar sem hotela. Na namizju Windows 98 so bile različne ikone. WinRar, Word, FAR, Klondike, igre. Po kliku na vse ikone se je moja pozornost usmerila na FAR Manager. Videti je kot nerazumljiv modri zaslon, vendar z dolgim ​​seznamom (datotek), ki jih je mogoče zagnati. S klikom na vsakega po vrsti sem ujel učinek dogajanja. Nekateri so delovali, nekateri ne. Čez nekaj časa sem ugotovil, da so datoteke, ki se končajo na ".exe", najbolj zanimive. Lansirajo različne kul slike, na katere lahko tudi kliknete. Tako sem verjetno na stričevem računalniku pognal vse razpoložljive exe datoteke, potem pa so me komaj za ušesa potegnili iz super zanimive igrače in me odpeljali domov.

Programerska kariera. Poglavje 1. Prvi program
Isti FAR Manager

Potem so bili računalniški klubi. S prijateljem sva pogosto hodila tja igrat Counter Strike in Quake na spletu, česar doma nisva mogla. Pogosto sem starše prosil za drobiž, da sem lahko pol ure igral v klubu. Ko so videli moje oči, so mi kot mačku iz Shreka ponudili še eno donosno pogodbo. Šolsko leto končam brez trojk, pa mi kupijo računalnik. Pogodbo so podpisali v začetku leta, septembra, želeni osebni računalnik pa naj bi ob upoštevanju dogovorov prišel že junija.
Trudil sem se po najboljših močeh. Zaradi čustev sem celo prodal svoj ljubljeni Sony Playstation, da bi me manj motil študij. Čeprav sem bila tako-tako učenka, je bil 9. razred zame pomemben. Krvav nos, samo dobre ocene sem moral dobiti.

Že spomladi se je v pričakovanju nakupa osebnega računalnika zgodil verjetno najpomembnejši dogodek v mojem življenju. Poskušam razmišljati vnaprej in tako sem nekega lepega dne rekel očetu:
- Oče, ne znam uporabljati računalnika. Vpišimo se na tečaje

Nič prej rečeno kot storjeno. Ko je oče odprl časopis z oglasi, je našel blok z majhnim tiskom napisan z naslovom "Računalniški tečaji". Poklicala sem učitelje in čez nekaj dni sem že bila na teh tečajih. Tečaji so potekali na drugem koncu mesta, v stari panelni hruščovki, v tretjem nadstropju. V eni sobi so bili v vrsti trije osebni računalniki in tisti, ki so se želeli učiti, so se dejansko usposabljali na njih.

Spominjam se svoje prve lekcije. Windows 98 se je dolgo nalagal, potem je besedo prevzel učitelj:
- Torej. Pred vami je namizje Windows. Vsebuje programske ikone. Na dnu je gumb Start. Ne pozabite! Vse delo se začne z gumbom Start. Kliknite nanj z levim gumbom miške.
Nadaljeval je.
- Tukaj - vidite nameščene programe. Kalkulator, Beležnica, Word, Excel. Računalnik lahko tudi izklopite s klikom na gumb »Zaustavi«. Poskusi.
Končno je prešel na zame težji del v tistem času.
"Na namizju," je rekel učitelj, lahko vidite tudi programe, ki jih lahko zaženete z dvojnim klikom.
- Dvojno!? - Kako je to na splošno?
- Poskusimo. Zaženite Beležnico tako, da dvokliknete nanjo z levim gumbom miške.

Ja, schaass. Najtežje je bilo v tistem trenutku držati miško na enem mestu in hkrati hitro dvakrat klikniti. Pri drugem kliku je miška malo trznila in bližnjica z njo. A vseeno mi je med poukom uspelo premagati tako nepremostljivo nalogo.
Sledilo je usposabljanje v Wordu in Excelu. Nekega dne so mi preprosto dovolili, da pogledam slike narave in arhitekturnih spomenikov. To je bila najbolj zanimiva dejavnost v mojem spominu. Veliko bolj zabavno kot učenje oblikovanja besedila v Wordu.

Poleg mojega računalnika so se učili drugi študenti. Nekajkrat sem srečal fante, ki so pisali programe, medtem ko so vneto razpravljali o tem procesu. To je tudi mene zanimalo. Ko sem se spomnil filma Hekerji in naveličan MS Officea, sem prosil za premestitev na tečaje
programiranje. Kot vsi pomembni dogodki v življenju se je tudi to zgodilo spontano, iz zanimanja.

Na prvo uro programiranja sem prišel z mamo. Ne spomnim se zakaj. Očitno se je morala pogajati za nove tečaje in plačati. Zunaj je bila pomlad, bila je že tema. Potovali smo skozi celotno mesto z minibusom-Gazela do obrobja, prišli do razvpitega
panel Hruščov, je šel v nadstropje in nas spustil noter.
Posedli so me za končni računalnik in odprli program s popolnoma modrim zaslonom in rumenimi črkami.
- To je Turbo Pascal. Učiteljica je komentirala njegovo dejanje.
- Poglej, tukaj sem napisal dokumentacijo o tem, kako deluje. Preberite in si oglejte.
Pred mano je bilo platno rumenega, popolnoma nerazumljivega besedila. Poskušal sem ugotoviti nekaj zase, a mi ni uspelo. Kitajska slovnica in to je to.
Končno, čez nekaj časa, mi je vodja tečaja izročil natisnjen A4 list papirja. Na njem je pisalo nekaj čudnega, kar sem pred tem zasledil na monitorjih fantov s tečajev programiranja.
- Prepišite, kar je tukaj napisano. Učitelj je ukazal in odšel.
Začel sem pisati:
program Summa;

Pisal sem, hkrati pa iskal angleške črke na tipkovnici. V Wordu sem vsaj treniral ruščino, tukaj pa se moram naučiti še druge črke. Program je bil tipkan z enim prstom, a zelo previdno.
začetek, konec, var, celo število - Kaj je to? Čeprav sem se angleščine učila od prvega razreda in poznala pomen mnogih besed, nisem znala vsega povezati. Kot dresiran medved na kolesu sem še naprej vrtel pedala. Končno nekaj znanega:
writeln('Vnesite prvo številko');
potem - writeln('Vnesite drugo številko');
potem - writeln('Rezultat = ',c);
Programerska kariera. Poglavje 1. Prvi program
Tisti prvi program Turbo Pascal

Fuj, sem napisala. Odmaknil sem roke s tipkovnice in čakal, da se je pojavil guru za nadaljnja navodila. Končno je prišel, pregledal zaslon in mi rekel, naj pritisnem tipko F9.
"Zdaj je program preveden in preverjen za napake," je rekel guru
Ni bilo napak. Nato je rekel, naj pritisnem Ctrl+F9, kar sem moral tudi prvič razložiti korak za korakom. Kar morate storiti je, da držite Ctrl in nato pritisnete F9. Zaslon je postal črn in na njem se je končno pojavilo sporočilo, ki sem ga razumel: "Vnesite prvo številko."
Na učiteljev ukaz sem vpisala 7. Nato drugo številko. Vnesem 3 in pritisnem Enter.

Vrstica 'Rezultat = 10' se pojavi na zaslonu z bliskovito hitrostjo. Bila je evforija in česa takega v življenju še nisem doživel. Bilo je, kot da se je pred mano odprlo celotno Vesolje in znašla sem se v nekakšnem portalu. Skozi telo mi je prešla toplota, na obrazu se mi je pojavil nasmeh in nekje globoko v podzavesti sem ugotovila - da je to moje. Zelo intuitivno, na čustveni ravni, sem začel čutiti ogromen potencial v tej brneči škatli pod mizo. Toliko stvari lahko naredite z lastnimi rokami in ona bo to naredila!
Da je to neke vrste čarovnija. Popolnoma mi ni bilo jasno, kako se je to rumeno, nerazumljivo besedilo na modrem zaslonu spremenilo v priročen in razumljiv program. Kar tudi šteje! Presenetil me ni sam izračun, ampak dejstvo, da so se napisani hieroglifi spremenili v kalkulator. Med tema dvema dogodkoma je bil takrat prepad. Toda intuitivno sem čutil, da ta kos strojne opreme zmore skoraj vse.

Skoraj vso pot domov v minibusu sem se počutil kot v vesolju. Tale slika z napisom "Rezultat" se mi je vrtela v glavi, kako se je to zgodilo, kaj še zmore ta stroj, ali lahko sam kaj napišem brez papirja. Tisoč vprašanj, ki so me zanimala, vznemirjala in navdihovala hkrati. Stara sem bila 14 let. Tisti dan me je poklic izbral.

Se nadaljuje ...

Vir: www.habr.com

Dodaj komentar