Cariera de programare. Capitolul 1. Primul program

Cariera de programare. Capitolul 1. Primul programDragi cititori ai Habr, vă prezint atenției o serie de postări pe care pe viitor am de gând să le combin într-o carte. Am vrut să mă adâncesc în trecut și să spun povestea mea despre cum am devenit dezvoltator și am continuat să fiu unul.

Despre premisele pentru a intra în IT, calea încercării și erorii, auto-învățare și naivitatea copilărească. Îmi voi începe povestea din prima copilărie și o voi încheia cu astăzi. Sper că această carte va fi deosebit de utilă celor care tocmai învață pentru o specialitate IT.
Iar cei care lucrează deja în IT vor face probabil paralele cu propriul lor drum.

În această carte veți găsi referiri la literatura pe care am citit-o, experiența comunicării cu oameni cu care m-am intersectat în timp ce studiam, lucram și lansam un startup.
Începând de la profesori universitari la mari investitori de risc și proprietari de companii de mai multe milioane de dolari.
De astăzi, 3.5 capitole ale cărții sunt gata, dintr-un posibil 8-10. Dacă primele capitole găsesc un răspuns pozitiv din partea publicului, voi publica întreaga carte.

Despre mine

Nu sunt John Carmack, Nikolai Durov sau Richard Matthew Stallman. Nu am lucrat în companii precum Yandex, VKontakte sau Mail.ru.
Deși aveam experiență de lucru într-o mare corporație, despre care cu siguranță o să vă povestesc. Dar cred că ideea nu ține atât de marele nume, cât de istoria căii de a deveni dezvoltator și, mai departe, de victoriile și înfrângerile care au avut loc pe parcursul carierei mele de 12 ani în dezvoltarea comercială. Desigur, unii dintre voi au mult mai multă experiență în IT. Dar cred că dramele și victoriile care au avut loc în timpul carierei mele actuale merită descrise. Au fost o mulțime de evenimente și toate au fost diverse.

Cine sunt eu astăzi ca dezvoltator
— A participat la peste 70 de proiecte comerciale, dintre care multe le-a scris de la zero
— Într-o duzină de proiecte proprii: open-source, startup-uri
— 12 ani în IT. Acum 17 ani - a scris primul program
- Cea mai valoroasă persoană Microsoft 2016
— Profesionist certificat Microsoft
— Scrum Master certificat
— Am o bună cunoaștere a C#/C++/Java/Python/JS
— Salariu — 6000-9000 $/lună. in functie de sarcina
— Locul meu principal de muncă astăzi este bursa de freelance Upwork. Prin el lucrez pentru o companie care se ocupă de NLP/AI/ML. Are o bază de 1 milion de utilizatori
— Au lansat 3 aplicații în AppStore și GooglePlay
— Mă pregătesc să-mi întemeiez propria companie IT în jurul proiectului pe care îl dezvolt în prezent

Pe lângă dezvoltare, scriu articole pentru bloguri populare, predau tehnologii noi și vorbesc la conferințe. Mă relaxez în clubul de fitness și cu familia mea.

Probabil că asta este totul despre mine în ceea ce privește tema cărții. Urmează povestea mea.

Poveste. Start.

Prima dată am învățat ce este un computer când aveam 7 ani. Tocmai am început clasa întâi și la ora de artă ni s-au dat teme să facem un computer din carton, cauciuc spumă și pixuri. Bineînțeles, părinții mei m-au ajutat. Mama a studiat la o universitate tehnică la începutul anilor 80 și știa direct ce este un computer. În timpul antrenamentului, ea a reușit chiar să perforeze cărți perforate și să le încarce în mașina sovietică gigantică care ocupa cea mai mare parte din sala de antrenament.

Ne-am terminat temele cu nota 5 pentru că am făcut totul cu sârguință. Am găsit o foaie groasă de carton A4. Am tăiat cercuri din jucării vechi din spumă și am folosit pixuri pentru a desena interfața cu utilizatorul. Dispozitivul nostru avea doar câteva butoane, dar eu și mama le-am atribuit funcționalitatea necesară, iar în timpul lecției i-am arătat profesorului cum, apăsând butonul „Pornit”, se aprindea un bec în colțul „ecranului, ” în timp ce desenează simultan un cerc roșu cu un creion.

Următoarea mea întâlnire cu tehnologia computerelor a avut loc cam la aceeași vârstă. În weekend, îmi mergeam des la bunici, care, la rândul lor, vindeau diverse vechituri și, de asemenea, le cumpărau de bunăvoie pentru bănuți. Ceasuri vechi, samovare, cazane, insigne, săbii ale războinicilor din secolul al XIII-lea și multe altele. Printre toată această varietate de lucruri, cineva i-a adus un computer care mergea de la un televizor și un recorder audio. Din fericire, bunica le avea pe amândouă. Fabricat sovietic, desigur. TV Electron cu opt butoane pentru a schimba canalele. Și un magnetofon Vega cu două casete, care ar putea chiar să reînregistreze casete audio.
Cariera de programare. Capitolul 1. Primul program
Calculator sovietic „Poisk” și periferice: TV „Electron”, casetofon „Vega” și casetă audio cu limbaj BASIC

Am început să ne dăm seama cum funcționează întregul sistem. Cu computerul erau incluse câteva casete audio, un manual de instrucțiuni foarte uzat și o altă broșură cu titlul „Limbajul de programare de bază”. În ciuda copilăriei mele, am încercat să particip activ la procesul de conectare a cablurilor la magnetofon și la televizor. Apoi am introdus una dintre casete în compartimentul magnetofonului, am apăsat butonul „Înainte” (adică, începem redarea) și pe ecranul televizorului a apărut o pseudo-grafică de neînțeles de text și liniuțe.

Unitatea principală în sine arăta ca o mașină de scris, doar destul de îngălbenită și de o greutate vizibilă. Cu entuziasmul unui copil, am apăsat toate tastele, nu am văzut niciun rezultat tangibil și am alergat și am plecat la plimbare. Deși și atunci aveam în față un manual pe limbajul BASIC cu exemple de programe pe care, din cauza vârstei mele, pur și simplu nu le puteam rescrie.

Din amintirile din copilărie, îmi amintesc cu siguranță toate gadgeturile pe care părinții mei mi le-au cumpărat, după ce am lucrat cu alte rude. Primul zornăitură a fost binecunoscutul joc „Lupul prinde ouă”. L-am terminat destul de repede, am văzut desenul animat mult așteptat la final și mi-am dorit ceva mai mult. Apoi a fost Tetris. La acea vreme valora 1,000,000 de cupoane. Da, a fost în Ucraina la începutul anilor 90 și am primit un milion pentru succesul meu academic. Simțindu-mă pe bună dreptate milionar, am comandat acest joc mai complex pentru părinții mei, în care trebuiau să aranjeze corect figurile de diferite forme care cad de sus. În ziua achiziției, Tetris mi-a fost luat în mod necontrolat de părinții mei, care ei înșiși nu au putut scăpa de el timp de două zile.

Cariera de programare. Capitolul 1. Primul program
Celebrul „Lupul prinde ouă și Tetris”

Apoi au fost console de jocuri. Familia noastră locuia într-o casă mică, unde locuiau și unchiul și mătușa mea în camera alăturată. Unchiul meu a fost pilot militar, a trecut prin puncte fierbinți, așa că, în ciuda modestiei lui, era foarte tenace și se temea de puțin, după real
operațiuni militare. La fel ca mulți oameni în anii 90, unchiul meu a intrat în afaceri și a avut un venit destul de bun. Așa că în camera lui au apărut un televizor importat, un VCR și apoi un set-top box Subor (analog cu Dendy). Mi-a tăiat răsuflarea văzându-l jucând Super Mario, TopGun, Terminator și alte jocuri. Și când mi-a dat joystick-ul în mâini, fericirea mea nu a cunoscut limite.

Cariera de programare. Capitolul 1. Primul program
Consola pe opt biți „Syubor” și legendarul „Super Mario”

Da, ca toți copiii obișnuiți care au crescut în anii nouăzeci, am petrecut toată ziua în curte. Fie jucând mingea de pionier, fie badminton, fie cățărându-se în copaci în grădină, unde creșteau multe fructe diferite.
Dar acest nou produs, când poți să-l controlezi pe Mario, să sari peste obstacole și să salvezi prințesa, a fost de multe ori mai interesant decât pasionații oricărui orb, ladushka și clasicii. Prin urmare, văzând interesul meu real pentru prefixe, părinții mi-au dat sarcina de a învăța tabla înmulțirii. Atunci îmi vor îndeplini visul. Ei o predau in clasa a doua, iar eu tocmai am terminat-o pe prima. Dar, spus și făcut.

Era imposibil să te gândești la o motivație mai puternică decât să ai propria ta consolă de jocuri. Și într-o săptămână răspundeam cu ușurință la întrebările „șapte nouă”, „șase trei” și altele asemenea. Testul a fost trecut și mi-au cumpărat cadoul râvnit. După cum veți afla mai departe, consolele și jocurile pe calculator au jucat un rol important în a mă interesa de programare.

Așa a mers an de an. Următoarea generație de console de jocuri ieșea. Mai întâi Sega pe 16 biți, apoi Panasonic, apoi Sony PlayStation. Jocurile erau distracția mea când eram bun. Când era vreo problemă la școală sau acasă, mi-au luat joystick-urile și, bineînțeles, nu mă puteam juca. Și bineînțeles, a surprinde momentul în care te-ai întors de la școală, iar tatăl tău încă nu se întorsese de la serviciu să ocupe televizorul, a fost și un fel de noroc. Deci, este imposibil să spun că am fost un dependent de jocuri de noroc sau că am petrecut toată ziua jucând jocuri. Nu a existat o astfel de oportunitate. Mai degrabă am petrecut toată ziua în curte, unde găseam și eu ceva
interesant. De exemplu, un joc complet sălbatic - lovituri de aer. În zilele noastre nu vei vedea așa ceva în curți, dar pe atunci era un adevărat război. Paintball-ul este doar o joacă de copii în comparație cu măcelul pe care l-am provocat. Erau baloane cu aer
încărcat cu gloanțe dense de plastic. Și după ce a împușcat un alt tip la o distanță directă, a lăsat o vânătaie pe jumătate de braț sau pe stomac. Așa am trăit noi.

Cariera de programare. Capitolul 1. Primul program
Pistol de jucărie din copilărie

Nu ar fi greșit să menționăm filmul „Hackeri”. A fost lansat chiar în 1995, cu Angelina Jolie, în vârstă de 20 de ani. A spune că filmul mi-a făcut o impresie puternică înseamnă a nu spune nimic. La urma urmei, gândirea copiilor percepe totul la valoarea nominală.
Și cum băieții ăștia au curățat bancomatele, au stins semafoarele și s-au jucat cu electricitatea în tot orașul - pentru mine a fost magie. Atunci mi-a venit gândul că ar fi mișto să devin la fel de omnipotenți ca Hackerii.
Câțiva ani mai târziu, am cumpărat fiecare număr al revistei Hacker și am încercat să sparg Pentagonul, deși încă nu aveam internet.

Cariera de programare. Capitolul 1. Primul program
Eroii mei din filmul „Hackeri”

O adevărată descoperire pentru mine a fost un PC adevărat, cu un monitor cu lampă de 15 inchi și o unitate de sistem bazată pe un procesor Intel Pentium II. Bineînțeles, a fost cumpărat de unchiul său, care până la sfârșitul anilor XNUMX se ridicase suficient de sus pentru a-și permite
astfel de jucării. Prima dată când au activat un joc pentru mine, nu a fost prea interesant. Dar într-o zi, a venit ziua judecății, stelele s-au aliniat și am venit să-l vizităm pe unchiul nostru, care nu era acasă. Am întrebat:
— Pot să pornesc computerul?
„Da, fă ce vrei cu el”, a răspuns mătușa iubitoare.

Desigur, am făcut ce am vrut cu el. Pe desktopul Windows 98 existau pictograme diferite. WinRar, Word, FAR, Klondike, jocuri. După ce am dat clic pe toate pictogramele, atenția mea s-a concentrat pe FAR Manager. Arată ca un ecran albastru de neînțeles, dar cu o listă lungă (de fișiere) care poate fi lansată. Făcând clic pe fiecare pe rând, am prins efectul a ceea ce se întâmplă. Unii au funcționat, alții nu. După un timp, mi-am dat seama că fișierele care se termină în „.exe” sunt cele mai interesante. Ei lansează diferite imagini interesante pe care, de asemenea, puteți da clic. Așa că, probabil, am lansat toate fișierele exe disponibile pe computerul unchiului meu și apoi abia m-au tras de urechi de jucăria super-interesantă și m-au dus acasă.

Cariera de programare. Capitolul 1. Primul program
Același FAR Manager

Apoi au fost cluburi de informatică. Eu și prietenul meu mergeam adesea acolo pentru a juca Counter Strike și Quake online, ceea ce nu puteam face acasă. De multe ori le-am cerut părinților mei schimbare pentru a putea juca la club jumătate de oră. Văzându-mi ochii, ca pisica din Shrek, mi-au oferit un alt contract profitabil. Termin anul școlar fără note C și îmi cumpără un computer. Contractul a fost semnat la începutul anului, în septembrie, iar râvnitul PC trebuia să ajungă încă din iunie, sub rezerva respectării acordurilor.
Am încercat tot posibilul. Mi-am vândut chiar și iubita mea Sony Playstation din emoție pentru a fi mai puțin distras de la studii. Deși eram un elev așa așa, clasa a IX-a a fost semnificativă pentru mine. Nasul sângeros, trebuia doar să iau note bune.

Deja în primăvară, anticipând achiziția unui PC, s-a întâmplat probabil cel mai semnificativ eveniment din viața mea. Încerc să mă gândesc înainte și așa că într-o bună zi i-am spus tatălui meu:
- Tată, nu știu să folosesc un computer. Să ne înscriem la cursuri

Făcut repede şi foarte bine. După ce a deschis ziarul cu reclame, tatăl a găsit un bloc scris cu litere mici cu titlul „Cursuri de calculator”. Am sunat profesorii și câteva zile mai târziu eram deja la aceste cursuri. Cursurile s-au desfășurat în partea cealaltă a orașului, într-o clădire veche cu panouri Hrușciov, la etajul trei. Într-o cameră erau trei PC-uri la rând, iar cei care doreau să studieze erau de fapt instruiți cu ele.

Îmi amintesc prima mea lecție. Windows 98 a durat mult să se încarce, apoi profesorul a luat cuvântul:
- Asa de. Înainte de tine este un desktop Windows. Conține pictograme de program. În partea de jos este butonul Start. Tine minte! Toate lucrările începe cu butonul Start. Faceți clic pe el cu butonul stâng al mouse-ului.
El a continuat.
- Aici - vezi programe instalate. Calculator, Notepad, Word, Excel. De asemenea, puteți opri computerul făcând clic pe butonul „Închideți”. Incearca-l.
În cele din urmă, a trecut la partea mai dificilă pentru mine în acel moment.
„Pe desktop”, a spus profesorul, puteți vedea și programe care pot fi lansate făcând dublu clic.
- Dublu!? - Cum este asta în general?
- Sa incercam. Lansați Notepad făcând dublu clic pe el cu butonul stâng al mouse-ului.

Da, schaass. Cel mai dificil lucru în acel moment a fost să ții mouse-ul într-un singur loc și, în același timp, să faci rapid clic de două ori. La al doilea clic, mouse-ul s-a zvâcnit puțin și scurtătura odată cu el. Dar totuși, am reușit să depășesc o sarcină atât de insurmontabilă în timpul lecției.
Apoi a fost antrenament în Word și Excel. Într-o zi, pur și simplu m-au lăsat să mă uit prin poze cu natură și monumente arhitecturale. A fost cea mai interesantă activitate din memoria mea. Mult mai distractiv decât să înveți cum să formatezi textul în Word.

Lângă calculatorul meu, alți studenți studiau. De câteva ori am întâlnit tipi care scriau programe, în timp ce discutau aprins despre acest proces. M-a interesat și asta. Amintindu-mi filmul Hackers și obosindu-mă de MS Office, am cerut să fiu transferat la cursuri
programare. Ca toate evenimentele semnificative din viață, acest lucru s-a întâmplat spontan, din interes.

Am ajuns la prima mea lecție de programare cu mama. Nu-mi amintesc de ce. Se pare că a trebuit să negocieze pentru noi cursuri și să plătească. Afară era primăvară, era deja întuneric. Am călătorit prin tot orașul cu microbuzul-Gazelle până la periferie, am ajuns la notorii
panel Hrușciov, s-a urcat la podea și ne-a lăsat să intrăm.
M-au așezat la computerul de la capăt și au deschis un program cu un ecran complet albastru și litere galbene.
- Acesta este Turbo Pascal. Profesorul a comentat actiunea lui.
- Uite, aici am scris documentație despre cum funcționează. Citiți-l și aruncați o privire.
În fața mea era o pânză de text galben, absolut de neînțeles. Am încercat să aflu ceva pentru mine, dar nu am reușit. Gramatica chineză și atât.
În cele din urmă, după ceva timp, conducătorul cursului mi-a înmânat o foaie de hârtie A4 tipărită. Pe el era scris ceva ciudat, pe care îl văzusem anterior pe monitoarele băieților de la cursurile de programare.
- Rescrie ce este scris aici. Profesorul a poruncit și a plecat.
Am inceput sa scriu:
programul Summa;

Am scris, cautând simultan litere engleze pe tastatură. În Word, măcar m-am format în limba rusă, dar aici trebuie să învăț și alte litere. Programul a fost tastat cu un deget, dar foarte atent.
început, sfârșit, var, întreg - Ce este asta? Deși am studiat engleza încă din clasa întâi și știam semnificația multor cuvinte, nu le-am putut lega pe toate. Ca un urs antrenat pe o bicicletă, am continuat să pedalez. In sfarsit ceva familiar:
writeln('Introduceți primul număr');
Apoi - writeln('Introduceți al doilea număr');
Apoi - writeln('Rezultat = ',c);
Cariera de programare. Capitolul 1. Primul program
Primul program Turbo Pascal

Pf, am scris-o. Mi-am luat mâinile de pe tastatură și am așteptat să apară guru pentru instrucțiuni suplimentare. În cele din urmă, a venit, a scanat ecranul și mi-a spus să apăs tasta F9.
„Acum programul este compilat și verificat pentru erori”, a spus guru
Nu au fost greșeli. Apoi mi-a spus să apăsăm Ctrl+F9, ceea ce a trebuit să explic pas cu pas pentru prima dată. Ceea ce trebuie să faceți este să țineți apăsat Ctrl, apoi să apăsați F9. Ecranul s-a înnegrit și a apărut în sfârșit pe el un mesaj pe care l-am înțeles: „Introduceți primul număr”.
La comanda profesorului am introdus 7. Apoi al doilea număr. Eu introduc 3 și apăs pe Enter.

Linia „Rezultat = 10” apare pe ecran cu viteza fulgerului. A fost euforie și nu am mai experimentat așa ceva până acum în viața mea. Era ca și cum întregul Univers s-a deschis în fața mea și m-am trezit într-un fel de portal. Căldura mi-a trecut prin corp, un zâmbet mi-a apărut pe față și undeva foarte adânc în subconștient mi-am dat seama - că acesta este al meu. Foarte intuitiv, la nivel emoțional, am început să simt potențialul enorm din această cutie zgomotoasă de sub masă. Sunt atât de multe lucruri pe care le poți face cu propriile mâini și ea le va face!
Că asta e un fel de magie. Era cu totul dincolo de înțelegerea mea cum acel text galben, de neînțeles de pe un ecran albastru s-a transformat într-un program convenabil și de înțeles. Ceea ce se numără și de la sine! Ceea ce m-a surprins nu a fost calculul în sine, ci faptul că hieroglifele scrise s-au transformat într-un calculator. A existat un decalaj între aceste două evenimente la acel moment. Dar intuitiv am simțit că această piesă hardware poate face aproape orice.

Aproape pe tot drumul spre casă în microbuz, m-am simțit ca în spațiu. Această imagine cu inscripția „Rezultat” mi se învârtea în cap, cum s-a întâmplat, ce altceva poate face această mașină, pot să scriu eu însumi ceva fără o bucată de hârtie. O mie de întrebări care m-au interesat, m-au entuziasmat și m-au inspirat în același timp. Aveam 14 ani. În ziua aceea, profesia m-a ales.

Pentru a fi continuat ...

Sursa: www.habr.com

Adauga un comentariu