Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelma

Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelmaHyvät Habrin lukijat, esitän huomionne sarjan julkaisuja, jotka aion yhdistää tulevaisuudessa kirjaksi. Halusin sukeltaa menneisyyteen ja kertoa tarinani siitä, kuinka minusta tuli kehittäjä ja jatkan sellaisena.

Tietotekniikkaan pääsemisen edellytyksistä, yrityksen ja erehdyksen tiestä, itseoppimisesta ja lapsellisesta naivuudesta. Aloitan tarinani varhaislapsuudesta ja lopetan sen tähän päivään. Toivon, että tämä kirja on erityisen hyödyllinen niille, jotka vain opiskelevat IT-erikoisuuksia varten.
Ja ne, jotka jo työskentelevät IT-alalla, tulevat todennäköisesti vetämään yhtäläisyyksiä oman polkunsa kanssa.

Tästä kirjasta löydät viittauksia lukemaani kirjallisuuteen, kokemuksia kommunikoinnista ihmisten kanssa, joiden kanssa polut risteytyvät opiskelun, työskentelyn ja startupin perustamisen aikana.
Yliopisto-opettajista suuriin pääomasijoittajiin ja usean miljoonan dollarin yritysten omistajiin.
Tähän päivään mennessä kirjasta on valmiina 3.5 lukua mahdollisista 8-10 luvusta. Jos ensimmäiset luvut saavat positiivisen vastaanoton yleisöltä, julkaisen koko kirjan.

Tietoja minusta

En ole John Carmack, Nikolai Durov tai Richard Matthew Stallman. En työskennellyt sellaisissa yrityksissä kuin Yandex, VKontakte tai Mail.ru.
Vaikka minulla oli kokemusta työskentelystä suuressa yrityksessä, kerron siitä varmasti. Mutta mielestäni pointti ei ole niinkään suuressa nimessä, vaan kehittäjäksi tulemisen polun historiassa ja edelleen voitoissa ja tappioissa, jotka tapahtuivat 12-vuotisen kaupallisen kehitysurani aikana. Tietysti joillakin teistä on paljon enemmän kokemusta IT:stä. Mutta uskon, että nykyisen urani aikana tapahtuneet draamat ja voitot ovat kuvauksen arvoisia. Tapahtumia oli paljon, ja ne kaikki olivat erilaisia.

Kuka minä olen nykyään kehittäjänä
— Osallistui yli 70 kaupalliseen projektiin, joista monet hän kirjoitti tyhjästä
— Kymmenessä omassa projektissamme: avoimessa lähdekoodissa, startupeissa
— 12 vuotta IT-alalla. 17 vuotta sitten - kirjoitti ensimmäisen ohjelman
- Microsoftin arvokkain henkilö 2016
- Microsoft Certified Professional
— Sertifioitu Scrum Master
— Minulla on hyvä C#/C++/Java/Python/JS-taito
- Palkka - 6000-9000 $/kk. kuormituksesta riippuen
— Päätyöpaikkani on tänään freelance-pörssi Upwork. Sen kautta työskentelen yrityksessä, joka käsittelee NLP/AI/ML. Sillä on miljoona käyttäjää
— Julkaisi 3 sovellusta AppStoressa ja GooglePlayssa
– Valmistaudun perustamaan omaa IT-yritystä parhaillaan kehittämäni projektin ympärille

Kehittämisen lisäksi kirjoitan artikkeleita suosittuihin blogeihin, opetan uusia teknologioita ja puhun konferensseissa. Rentoudun kuntosalilla ja perheeni kanssa.

Siinä varmaan kaikki minusta kirjan teeman osalta. Seuraava on minun tarinani.

Tarina. Alkaa.

Opin ensimmäisen kerran, mitä tietokone on, kun olin 7-vuotias. Aloitin juuri ensimmäisellä luokalla ja taidetunnilla annettiin kotitehtävä tehdä tietokone pahvista, vaahtomuovista ja huopakynistä. Tietysti vanhempani auttoivat minua. Äiti opiskeli teknisessä yliopistossa 80-luvun alussa ja tiesi omakohtaisesti, mitä tietokone on. Harjoittelun aikana hän onnistui jopa lyömään reikäkortteja ja lataamaan ne jättimäiseen Neuvostoliiton koneeseen, joka valtasi leijonan osan harjoitushuoneesta.

Teimme läksymme arvosanalla 5, koska teimme kaiken ahkerasti. Löysimme paksun A4-pahvin. Vanhoista leluista leikattiin ympyröitä vaahtomuovista ja käyttöliittymä piirrettiin huopakynillä. Laitteessamme oli vain muutama painike, mutta minä ja äitini annoimme niille tarvittavat toiminnot, ja tunnilla näytin opettajalle, kuinka "On"-painiketta painamalla "näytön" kulmaan syttyy hehkulamppu, ” piirtäen samalla huopakynällä punaista ympyrää.

Seuraava tapaukseni tietotekniikan kanssa tapahtui suunnilleen saman ikäisenä. Viikonloppuisin kävin usein isovanhempieni luona, jotka puolestaan ​​myivät erilaista roskaa ja ostivat sitä myös mielellään penneillä. Vanhoja kelloja, samovaareja, kattiloita, merkkejä, 13-luvun sotureiden miekkoja ja paljon muuta. Kaiken tämän monimuotoisuuden joukossa joku toi hänelle tietokoneen, joka toimi televisiosta ja äänitallentimesta. Onneksi isoäidilläni oli molemmat. Neuvostoliiton tuotantoa tietysti. TV Electron kahdeksalla painikkeella kanavan vaihtamiseen. Ja Vegan kaksikasettinen nauhuri, jolla voi jopa äänittää ääninauhat uudelleen.
Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelma
Neuvostoliiton tietokone "Poisk" ja oheislaitteet: TV "Electron", nauhuri "Vega" ja äänikasetti BASIC-kielellä

Aloimme selvittää, kuinka tämä koko järjestelmä toimii. Tietokoneen mukana tuli pari äänikasettia, erittäin kulunut käyttöohje ja toinen esite, jonka otsikko oli ”BASIC Programming Language”. Lapsuudestani huolimatta yritin osallistua aktiivisesti johtojen liittämiseen nauhuriin ja televisioon. Sitten laitoimme yhden kaseteista nauhurin lokeroon, painoimme "Eteenpäin"-painiketta (eli aloita toisto), ja TV-ruudulle ilmestyi käsittämätön pseudografiikka tekstistä ja viivoista.

Itse pääyksikkö näytti kirjoituskoneelta, vain melko kellastunut ja huomattavan painoinen. Lapsen jännityksellä painoin kaikkia näppäimiä, en nähnyt mitään konkreettisia tuloksia, ja juoksin ja lähdin kävelylle. Vaikka minulla oli silloinkin edessäni BASIC-kielen käsikirja, jossa oli esimerkkejä ohjelmista, joita en ikäni takia yksinkertaisesti voinut kirjoittaa uudelleen.

Lapsuuden muistoista muistan varmasti kaikki vempaimet, jotka vanhempani ostivat minulle treenattuaan muiden sukulaisten kanssa. Ensimmäinen helistin oli tunnettu peli "Wolf Catches Eggs". Sain sen valmiiksi melko nopeasti, näin kauan odotetun sarjakuvan lopussa ja halusin jotain lisää. Sitten oli Tetris. Tuolloin sen arvo oli 1,000,000 90 XNUMX kuponkia. Kyllä, se tapahtui Ukrainassa XNUMX-luvun alussa, ja minulle annettiin miljoona akateemisesta menestyksestäni. Tunsin ansaittua miljonääriksi, tilasin vanhemmilleni tämän monimutkaisemman pelin, jossa heidän piti järjestää oikein ylhäältä putoavia erimuotoisia hahmoja. Ostopäivänä vanhempani ottivat Tetrisin minulta hallitsemattomasti pois, eivätkä he itse päässeet eroon siitä kahteen päivään.

Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelma
Kuuluisa "Wolf Catches Muns and Tetris"

Sitten oli pelikonsoleita. Perheemme asui pienessä talossa, jossa setäni ja tätini asuivat myös viereisessä huoneessa. Setäni oli sotilaslentäjä, hän kävi läpi kuumia pisteitä, joten vaatimattomuudestaan ​​​​huolimatta hän oli erittäin sitkeä ja pelkäsi vähän.
sotilaallisia operaatioita. Aivan kuten monet ihmiset 90-luvulla, setäni aloitti liiketoiminnan ja hänellä oli melko hyvät tulot. Niinpä hänen huoneeseensa ilmestyi tuotu televisio, videonauhuri ja sitten Subor-digisovitin (Dendyn tapaan). Hengitykseni salpasi, kun katsoin hänen pelaavan Super Marioa, TopGunia, Terminaattoria ja muita pelejä. Ja kun hän ojensi ohjaussauvan käsiini, onnellani ei ollut rajoja.

Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelma
Kahdeksan bittinen konsoli "Syubor" ja legendaarinen "Super Mario"

Kyllä, kuten kaikki tavalliset lapset, jotka kasvoivat XNUMX-luvulla, vietin koko päivän pihalla. Joko pioneeripalloa, sulkapalloa tai kiipeilyä puutarhassa, jossa kasvoi monia erilaisia ​​hedelmiä.
Mutta tämä uusi tuote, jossa voit hallita Mariota, hypätä esteiden yli ja pelastaa prinsessa, oli monta kertaa kiinnostavampi kuin mikään sokean miehen ihailija, ladushka ja klassikot. Siksi vanhempani näkivät aidon kiinnostukseni etuliitteitä kohtaan ja antoivat minulle tehtävän oppia kertotaulukko. Sitten he toteuttavat unelmani. He opettavat häntä toisella luokalla, ja minä lopetin juuri ensimmäisen. Mutta sanottu ja tehty.

Oli mahdotonta kuvitella vahvempaa motivaatiota kuin oma pelikonsoli. Ja viikon sisällä vastasin helposti kysymyksiin "seitsemän yhdeksän", "kuusi kolme" ja vastaavia. Testi läpäistiin ja minulle ostettiin haluttu lahja. Kuten opit lisää, konsolit ja tietokonepelit olivat merkittävässä roolissa saamaan minut kiinnostumaan ohjelmoinnista.

Näin se meni vuodesta toiseen. Seuraavan sukupolven pelikonsolit olivat tulossa ulos. Ensin 16-bittinen Sega, sitten Panasonic ja sitten Sony PlayStation. Pelit olivat viihteeni, kun olin hyvä. Kun koulussa tai kotona oli jokin ongelma, he ottivat ohjaussauvat pois, enkä tietenkään voinut pelata. Ja tietysti se hetki, kun palasit koulusta ja isäsi ei ollut vielä palannut töistä television ääreen, oli myös eräänlaista onnea. Joten on mahdotonta sanoa, että olin uhkapeliriippuvainen tai vietin koko päivän pelejä. Sellaista mahdollisuutta ei ollut. Vietin mieluummin koko päivän pihalla, josta myös jotain löytyi
mielenkiintoista. Esimerkiksi täysin villi riista - ilmalaukut. Nykyään et näe mitään tällaista pihoilla, mutta tuolloin se oli todellinen sota. Paintball on vain lasten leikkiä verrattuna aiheuttamaanmme verilöylyyn. Siellä oli ilmapalloja
täynnä tiheitä muoviluoteja. Ammuttuaan toisen tyypin tyhjästä etäisyydestä hän jätti mustelman puoleen käteensä tai vatsaansa. Näin me elimme.

Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelma
Leluase lapsuudesta

Ei olisi väärin mainita elokuvaa "Hakkerit". Se julkaistiin vasta vuonna 1995, pääosassa 20-vuotias Angelina Jolie. Sanoa, että elokuva teki minuun vahvan vaikutuksen, on sanomatta mitään. Loppujen lopuksi lasten ajattelu näkee kaiken nimellisarvolla.
Ja kuinka nämä kaverit tunnetusti siivosivat pankkiautomaatteja, sammuttivat liikennevalot ja leikkivät sähköllä kaikkialla kaupungissa - minulle se oli taikuutta. Sitten mieleeni tuli ajatus, että olisi siistiä tulla yhtä kaikkivoipaksi kuin Hakkerit.
Muutama vuosi myöhemmin ostin Hacker-lehden jokaisen numeron ja yritin hakkeroida Pentagonia, vaikka minulla ei vielä ollut Internetiä.

Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelma
Sankarini elokuvasta "Hakkerit"

Todellinen löytö minulle oli todellinen PC, jossa oli 15 tuuman lamppunäyttö ja Intel Pentium II -prosessoriin perustuva järjestelmäyksikkö. Tietysti sen osti hänen setänsä, joka XNUMX-luvun lopulla oli noussut tarpeeksi korkealle varaakseen
sellaisia ​​leluja. Kun he käynnistivät pelin minulle ensimmäistä kertaa, se ei ollut kovin jännittävää. Mutta eräänä päivänä tuomiopäivä koitti, tähdet asettuivat kohdakkain ja tulimme tapaamaan setämme, joka ei ollut kotona. Kysyin:
– Voinko käynnistää tietokoneen?
"Kyllä, tee hänen kanssaan mitä haluat", vastasi rakastava täti.

Tietysti tein hänen kanssaan mitä halusin. Windows 98 -työpöydällä oli erilaisia ​​kuvakkeita. WinRar, Word, FAR, Klondike, pelit. Napsautettuani kaikkia kuvakkeita, huomioni keskittyi FAR Manageriin. Se näyttää käsittämättömältä siniseltä näytöltä, mutta siinä on pitkä luettelo (tiedostoista), jotka voidaan käynnistää. Napsauttamalla kutakin vuorotellen huomasin tapahtuneen vaikutuksen. Osa toimi, osa ei. Jonkin ajan kuluttua tajusin, että tiedostot, jotka päättyvät ".exe":hen, ovat mielenkiintoisimpia. He käynnistävät erilaisia ​​hienoja kuvia, joita voit myös klikata. Joten luultavasti käynnistin kaikki saatavilla olevat exe-tiedostot setäni tietokoneella, ja sitten he tuskin vetivät minut korvista kiinni erittäin mielenkiintoisesta lelusta ja veivät minut kotiin.

Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelma
Sama FAR Manager

Sitten oli tietokonekerhoja. Kävimme ystäväni kanssa usein pelaamassa Counter Strike and Quakea verkossa, mitä emme voineet tehdä kotona. Pyysin usein vanhemmiltani vaihtoa, jotta voisin pelata klubilla puoli tuntia. Nähdessään silmäni, kuten Shrekin kissa, he tarjosivat minulle toista tuottoisaa sopimusta. Lopetan kouluvuoden ilman C-luokkia, ja minulle ostetaan tietokone. Sopimus allekirjoitettiin vuoden alussa, syyskuussa, ja halutun PC:n oli määrä saapua jo kesäkuussa sopimusten täyttyessä.
Yritin parhaani. Myin jopa rakkaan Sony Playstationini tunteestani, jotta saisi vähemmän hajamielinen opiskelustani. Vaikka olin niin-so-oppilas, 9. luokka oli minulle tärkeä. Verinen nenä, minun piti vain saada hyvät arvosanat.

Jo keväällä PC:n hankintaa odotellessa tapahtui ehkä elämäni merkittävin tapahtuma. Yritän ajatella eteenpäin, ja niin eräänä kauniina päivänä sanoin isälleni:
- Isä, en osaa käyttää tietokonetta. Ilmoittaudutaan kursseille

Ei ennemmin sanottu kuin tehty. Avattuaan ilmoituksia sisältävän sanomalehden isä löysi pienellä kirjaimilla kirjoitetun lohkon otsikolla "Tietokonekurssit". Soitin opettajille ja pari päivää myöhemmin olin jo näillä kursseilla. Kurssit pidettiin kaupungin toisella puolella, vanhassa Hruštšov-paneelirakennuksessa, kolmannessa kerroksessa. Yhdessä huoneessa oli kolme PC:tä peräkkäin, ja ne, jotka halusivat opiskella, itse asiassa koulutettiin niille.

Muistan ensimmäisen oppitunnini. Windows 98:n latautuminen kesti kauan, sitten opettaja otti puheenvuoron:
- Joten. Ennen kuin olet Windows-työpöytä. Se sisältää ohjelmakuvakkeita. Alareunassa on Käynnistä-painike. Muistaa! Kaikki työ alkaa Start-painikkeella. Napsauta sitä hiiren vasemmalla painikkeella.
Hän jatkoi.
- Tässä - näet asennetut ohjelmat. Laskin, Muistio, Word, Excel. Voit myös sammuttaa tietokoneesi napsauttamalla "Sammuta" -painiketta. Kokeile.
Lopulta hän siirtyi minulle tuolloin vaikeampaan osaan.
"Työpöydällä", opettaja sanoi, voit nähdä myös ohjelmia, jotka voidaan käynnistää kaksoisnapsauttamalla.
- Kaksinkertainen!? - Miten tämä yleensä on?
- Kokeillaan. Käynnistä Muistio kaksoisnapsauttamalla sitä hiiren vasemmalla painikkeella.

Joo, schaass. Vaikeinta sillä hetkellä oli pitää hiirtä yhdessä paikassa ja samalla nopeasti napsauttaa kahdesti. Toisella napsautuksella hiiri nykisi hieman ja pikakuvake sen mukana. Mutta silti onnistuin voittamaan niin ylitsepääsemättömän tehtävän oppitunnin aikana.
Sitten oli Wordin ja Excelin koulutus. Eräänä päivänä he vain antoivat minun katsoa läpi kuvia luonnosta ja arkkitehtonisista monumenteista. Se oli mieleenpainuvin aktiviteetti muistissani. Paljon hauskempaa kuin tekstin muotoilun oppiminen Wordissa.

Tietokoneeni vieressä muut opiskelijat opiskelivat. Pari kertaa törmäsin miehiin, jotka kirjoittivat ohjelmia keskusteltuaan kiivaasti tästä prosessista. Tämä kiinnosti minuakin. Muistellessani Hakkerit-elokuvaa ja väsyneenä MS Officeen pyysin siirtoa kursseille
ohjelmointi. Kuten kaikki merkittävät tapahtumat elämässä, tämä tapahtui spontaanisti, kiinnostuksesta.

Saavuin ensimmäiselle ohjelmointitunnilleni äitini kanssa. En muista miksi. Ilmeisesti hänen piti neuvotella uusista kursseista ja maksaa. Ulkona oli kevät, oli jo pimeää. Matkustimme läpi koko kaupungin minibussilla-Gazellella laitamille, saavuimme pahamaineisen
paneeli Hruštšov, nousi lattialle ja päästi meidät sisään.
He istuttivat minut päätytietokoneelle ja avasivat ohjelman, jossa oli täysin sininen näyttö ja keltaiset kirjaimet.
- Tämä on Turbo Pascal. Opettaja kommentoi toimintaansa.
- Katsos, tänne kirjoitin dokumentin siitä, miten se toimii. Lue se ja katso.
Edessäni oli kangas keltaista, täysin käsittämätöntä tekstiä. Yritin selvittää itselleni jotain, mutta en onnistunut. Kiinan kielioppi ja siinä se.
Lopulta jonkin ajan kuluttua kurssin johtaja ojensi minulle painetun A4-paperin. Siihen oli kirjoitettu jotain outoa, jonka olin aiemmin nähnyt ohjelmointikurssien poikien monitoreista.
- Kirjoita uudelleen, mitä täällä on kirjoitettu. Opettaja käski ja lähti.
Aloin kirjoittaa:
ohjelma Summa;

Kirjoitin etsien samalla englanninkielisiä kirjaimia näppäimistöltä. Wordissa ainakin harjoittelin venäjää, mutta täällä minun on opittava muita kirjaimia. Ohjelma kirjoitettiin yhdellä sormella, mutta erittäin huolellisesti.
alku, loppu, var, kokonaisluku - Mikä tämä on? Vaikka opiskelin englantia ensimmäiseltä luokalta lähtien ja tiesin monien sanojen merkityksen, en voinut yhdistää niitä kaikkia. Kuten koulutettu karhu polkupyörällä, jatkoin polkemista. Lopuksi jotain tuttua:
writeln('Anna ensimmäinen numero');
Sitten- writeln('Syötä toinen numero');
Sitten- writeln('Tulos = ',c);
Ohjelmoinnin ura. Luku 1. Ensimmäinen ohjelma
Tuo aivan ensimmäinen Turbo Pascal -ohjelma

Huh, kirjoitin sen. Otin käteni irti näppäimistöltä ja odotin gurun ilmestyvän lisäohjeita varten. Lopulta hän tuli luokse, skannaa näyttöä ja käski painaa F9-näppäintä.
"Nyt ohjelma on käännetty ja tarkistettu virheiden varalta", guru sanoi
Virheitä ei ollut. Sitten hän käski painaa Ctrl+F9, joka minun piti myös selittää askel askeleelta ensimmäistä kertaa. Sinun tarvitsee vain pitää Ctrl-näppäintä painettuna ja painaa sitten F9. Näyttö muuttui mustaksi ja siihen ilmestyi vihdoin viesti, jonka ymmärsin: "Syötä ensimmäinen numero."
Opettajan käskystä kirjoitin 7. Sitten toinen numero. Kirjoitan 3 ja painan Enter.

Rivi 'Result = 10' ilmestyy näytölle salaman nopeudella. Se oli euforiaa, enkä ollut koskaan ennen elämässäni kokenut mitään vastaavaa. Tuntui kuin koko universumi avautuisi eteeni ja löysin itseni jonkinlaisesta portaalista. Lämpö kulki kehoni läpi, hymy ilmestyi kasvoilleni ja jossain hyvin syvällä alitajunnassa tajusin - että tämä on minun. Hyvin intuitiivisesti, tunnetasolla, aloin tuntea valtavan potentiaalin tässä pöydän alla surinassa olevassa laatikossa. On niin monia asioita, joita voit tehdä omin käsin, ja hän tekee sen!
Että tämä on jonkinlaista taikuutta. Se oli täysin ymmärrykseni ulkopuolella, kuinka tuo keltainen, käsittämätön teksti sinisellä näytöllä muuttui käteväksi ja ymmärrettäväksi ohjelmaksi. Mikä myös laskee itsensä! Se, mikä minua yllätti, ei ollut itse laskelma, vaan se, että kirjoitetut hieroglyfit muuttuivat laskimeksi. Tuolloin näiden kahden tapahtuman välillä oli kuilu. Mutta intuitiivisesti tunsin, että tällä laitteistolla voi tehdä melkein mitä tahansa.

Melkein koko kotimatkan minibussissa tunsin olevani avaruudessa. Tämä kuva "Tulos"-kirjoituksella pyöri päässäni, miten se tapahtui, mitä muuta tämä kone voi tehdä, voinko kirjoittaa jotain itse ilman paperia. Tuhat kysymystä, jotka kiinnostivat minua, innostivat ja inspiroivat minua samanaikaisesti. Olin 14-vuotias. Sinä päivänä ammatti valitsi minut.

Jatkuu ...

Lähde: will.com

Lisää kommentti