Programmeercarrière. Hoofdstuk 1. Eerste programma

Programmeercarrière. Hoofdstuk 1. Eerste programmaBeste lezers van Habr, Ik presenteer onder uw aandacht een reeks berichten die ik in de toekomst in een boek wil combineren. Ik wilde in het verleden duiken en mijn verhaal vertellen over hoe ik ontwikkelaar werd en er één blijf.

Over de voorwaarden om in de IT te komen, het pad van vallen en opstaan, zelfleren en kinderlijke naïviteit. Ik begin mijn verhaal vanaf mijn kindertijd en eindig het met vandaag. Ik hoop dat dit boek vooral nuttig zal zijn voor degenen die net studeren voor een IT-specialiteit.
En degenen die al in de IT werken, zullen waarschijnlijk parallellen trekken met hun eigen pad.

In dit boek vind je verwijzingen naar de literatuur die ik heb gelezen, de ervaring van het communiceren met mensen met wie ik mijn pad kruiste tijdens mijn studie, werk en het lanceren van een startup.
Van universitaire docenten tot grote durfinvesteerders en eigenaren van miljoenenbedrijven.
Vanaf vandaag zijn 3.5 hoofdstukken van het boek klaar, van de mogelijke 8 tot 10. Als de eerste hoofdstukken positief worden ontvangen door het publiek, zal ik het hele boek publiceren.

Over mij

Ik ben niet John Carmack, Nikolai Durov of Richard Matthew Stallman. Ik heb niet gewerkt in bedrijven zoals Yandex, VKontakte of Mail.ru.
Hoewel ik ervaring had met werken bij een groot bedrijf, waarover ik je zeker zal vertellen. Maar ik denk dat het punt niet zozeer in de grote naam zit, maar in de geschiedenis van het pad om ontwikkelaar te worden, en verder, in de overwinningen en nederlagen die plaatsvonden tijdens mijn twaalfjarige carrière in commerciële ontwikkeling. Natuurlijk hebben sommigen van jullie veel meer ervaring in de IT. Maar ik geloof dat de drama's en overwinningen die zich tijdens mijn huidige carrière hebben voorgedaan het waard zijn om te beschrijven. Er waren veel evenementen en ze waren allemaal divers.

Wie ben ik vandaag als ontwikkelaar
— Heeft deelgenomen aan meer dan zeventig commerciële projecten, waarvan hij er vele helemaal opnieuw schreef
— In een tiental van onze eigen projecten: open-source, startups
— 12 jaar in de IT. 17 jaar geleden - schreef het eerste programma
- Microsoft meest waardevolle persoon 2016
— Microsoft gecertificeerde professional
– Gecertificeerde Scrummaster
— Ik beheers C#/C++/Java/Python/JS goed
— Salaris — 6000-9000 $/maand. afhankelijk van de belasting
— Mijn belangrijkste werkplek vandaag is de freelancebeurs Upwork. Hierdoor werk ik voor een bedrijf dat zich bezighoudt met NLP/AI/ML. Heeft een basis van 1 miljoen gebruikers
— 3 applicaties uitgebracht in de AppStore en GooglePlay
— Ik bereid me voor om mijn eigen IT-bedrijf op te richten rond het project dat ik momenteel aan het ontwikkelen ben

Naast ontwikkeling schrijf ik artikelen voor populaire blogs, geef ik les in nieuwe technologieën en spreek ik op conferenties. Ik ontspan in de fitnessclub en met mijn gezin.

Dat gaat waarschijnlijk allemaal over mij wat betreft het thema van het boek. Het volgende is mijn verhaal.

Verhaal. Begin.

Ik leerde voor het eerst wat een computer is toen ik 7 jaar oud was. Ik ben net begonnen in de eerste klas en in de tekenles kregen we huiswerk om een ​​computer te maken van karton, schuimrubber en viltstiften. Natuurlijk hebben mijn ouders mij geholpen. Mijn moeder studeerde begin jaren tachtig aan een technische universiteit en wist uit de eerste hand wat een computer was. Tijdens de training slaagde ze er zelfs in ponskaarten te ponsen en deze in de gigantische Sovjet-machine te laden die het leeuwendeel van de trainingsruimte in beslag nam.

We hebben ons huiswerk afgerond met een 5, omdat we alles met veel toewijding hebben gedaan. We vonden een dik vel A4-karton. Uit oud speelgoed werden cirkels uit schuimrubber gesneden en de gebruikersinterface werd getekend met viltstiften. Ons apparaat had maar een paar knoppen, maar mijn moeder en ik gaven ze de nodige functionaliteit, en tijdens de les liet ik de leraar zien hoe door op de “Aan”-knop te drukken, er een lampje zou oplichten in de hoek van het “scherm”, ' terwijl je tegelijkertijd een rode cirkel tekent met een viltstift.

Mijn volgende ontmoeting met computertechnologie vond rond dezelfde leeftijd plaats. In de weekenden ging ik vaak op bezoek bij mijn grootouders, die op hun beurt allerlei rommel verkochten en ook graag voor centen kochten. Oude horloges, samovars, ketels, insignes, zwaarden van 13e-eeuwse krijgers en meer. Tussen al deze verschillende dingen bracht iemand hem een ​​computer die op een tv liep en een audiorecorder. Gelukkig had mijn grootmoeder beide. Van Russische makelij uiteraard. TV Electron met acht knoppen om van zender te wisselen. En een Vega-bandrecorder met twee cassettes, die zelfs audiobanden opnieuw kon opnemen.
Programmeercarrière. Hoofdstuk 1. Eerste programma
Sovjetcomputer "Poisk" en randapparatuur: TV "Electron", bandrecorder "Vega" en audiocassette met BASIC-taal

We begonnen uit te zoeken hoe dit hele systeem werkt. Bij de computer werden een paar audiocassettes meegeleverd, een zeer versleten handleiding en nog een brochure met de titel “BASIC Programming Language”. Ondanks mijn jeugd probeerde ik actief deel te nemen aan het proces van het aansluiten van snoeren op de bandrecorder en tv. Vervolgens plaatsten we een van de cassettes in het compartiment van de bandrecorder, drukten op de knop "Vooruit" (dat wil zeggen, start het afspelen) en er verscheen een onbegrijpelijke pseudo-afbeelding van tekst en streepjes op het tv-scherm.

De hoofdeenheid zelf zag eruit als een typemachine, alleen tamelijk vergeeld en merkbaar zwaar. Met de opwinding van een kind drukte ik op alle toetsen, zag geen tastbare resultaten, rende en ging wandelen. Hoewel ik toen al een handleiding voor me had over de BASIC-taal met voorbeelden van programma's die ik vanwege mijn leeftijd simpelweg niet kon herschrijven.

Uit jeugdherinneringen herinner ik me zeker alle gadgets die mijn ouders voor mij kochten, nadat ze met andere familieleden hadden samengewerkt. De eerste rammelaar was het bekende spel “Wolf Vangt Eieren”. Ik had het vrij snel uit, zag de langverwachte tekenfilm aan het einde en wilde iets meer. Toen was er Tetris. Destijds was het 1,000,000 coupons waard. Ja, het was begin jaren negentig in Oekraïne en ik kreeg een miljoen voor mijn academische succes. Omdat ik me terecht een miljonair voelde, bestelde ik dit complexere spel voor mijn ouders, waarbij ze figuren van verschillende vormen correct moesten rangschikken die van bovenaf vielen. Op de dag van aankoop werd Tetris ongecontroleerd van mij afgenomen door mijn ouders, die er zelf twee dagen niet vanaf konden komen.

Programmeercarrière. Hoofdstuk 1. Eerste programma
Beroemde "Wolf vangt eieren en Tetris"

Toen waren er spelconsoles. Ons gezin woonde in een klein huis, waar mijn oom en tante ook in de kamer ernaast woonden. Mijn oom was militair piloot, hij ging door hotspots, dus ondanks zijn bescheidenheid was hij erg vasthoudend en was hij voor weinig bang, uiteindelijk
militaire operaties. Net als veel mensen in de jaren negentig ging mijn oom zaken doen en had hij een behoorlijk goed inkomen. Dus verschenen er een geïmporteerde tv, een videorecorder en vervolgens een Subor-settopbox (analoog aan Dendy) in zijn kamer. Het was adembenemend om hem Super Mario, TopGun, Terminator en andere spellen te zien spelen. En toen hij de joystick in mijn handen overhandigde, kende mijn geluk geen grenzen.

Programmeercarrière. Hoofdstuk 1. Eerste programma
Acht-bit console "Syubor" en de legendarische "Super Mario"

Ja, net als alle gewone kinderen die in de jaren negentig opgroeiden, bracht ik de hele dag in de tuin door. Ofwel pioniersbal spelen, of badminton spelen, of in bomen klimmen in de tuin, waar veel verschillende soorten fruit groeiden.
Maar dit nieuwe product, waarin je Mario kunt besturen, over obstakels kunt springen en de prinses kunt redden, was vele malen interessanter dan welke blinde man dan ook, ladushka en klassiekers. Omdat ze mijn oprechte interesse in voorvoegsels zagen, gaven mijn ouders mij daarom de taak om de tafel van vermenigvuldiging te leren. Dan zullen ze mijn droom vervullen. Ze geven haar les in de tweede klas, en ik heb net de eerste afgerond. Maar gezegd en gedaan.

Een sterkere motivatie dan het hebben van een eigen gameconsole was niet denkbaar. En binnen een week beantwoordde ik gemakkelijk de vragen “zeven negen”, “zes drie” en dergelijke. De test werd doorstaan ​​en ze kochten het felbegeerde geschenk voor mij. Zoals je verder zult leren, speelden consoles en computerspellen een belangrijke rol bij het interesseren van mij voor programmeren.

Zo ging het jaar na jaar. De volgende generatie gameconsoles kwam uit. Eerst Sega 16-bit, daarna Panasonic en vervolgens Sony PlayStation. Spellen waren mijn vermaak toen ik goed was. Als er een probleem was op school of thuis, namen ze mijn joysticks af en kon ik natuurlijk niet spelen. En natuurlijk was het ook een soort geluk om het moment vast te leggen waarop je terugkwam van school en je vader nog niet was teruggekeerd van zijn werk om de tv te bezetten. Het is dus onmogelijk om te zeggen dat ik een gokverslaafde was of de hele dag games speelde. Een dergelijke mogelijkheid bestond niet. Het liefst zat ik de hele dag in de tuin, waar ik ook wel wat kon vinden
interessant. Bijvoorbeeld een volledig wild spel - luchtschietpartijen. Tegenwoordig zie je zoiets niet meer op hofjes, maar toen was het een echte oorlog. Paintball is slechts kinderspel vergeleken met het bloedbad dat we hebben aangericht. Er waren luchtballonnen
geladen met dichte plastic kogels. En nadat hij een andere man van dichtbij had neergeschoten, liet hij een blauwe plek achter op de helft van zijn arm of buik. Zo leefden wij.

Programmeercarrière. Hoofdstuk 1. Eerste programma
Speelgoedpistool uit de kindertijd

Het zou niet verkeerd zijn om de film "Hackers" te noemen. De film werd pas in 1995 uitgebracht, met in de hoofdrol de 20-jarige Angelina Jolie. Als ik zeg dat de film een ​​sterke indruk op mij heeft gemaakt, wil ik niets zeggen. Het denken van kinderen neemt immers alles op het eerste gezicht waar.
En hoe deze jongens op beroemde wijze geldautomaten opruimden, verkeerslichten uitzetten en met elektriciteit speelden in de hele stad - voor mij was het magie. Toen kwam de gedachte bij me op dat het cool zou zijn om net zo almachtig te worden als de Hackers.
Een paar jaar later kocht ik elk nummer van het tijdschrift Hacker en probeerde het Pentagon te hacken, hoewel ik nog geen internet had.

Programmeercarrière. Hoofdstuk 1. Eerste programma
Mijn helden uit de film "Hackers"

Een echte ontdekking voor mij was een echte pc, met een 15-inch lampmonitor en een systeemeenheid gebaseerd op een Intel Pentium II-processor. Natuurlijk werd het gekocht door zijn oom, die eind jaren negentig hoog genoeg was gestegen om het zich te kunnen veroorloven
dergelijk speelgoed. De eerste keer dat ze een spel voor mij aanzetten, was het niet zo spannend. Maar op een dag kwam de dag des oordeels, de sterren stonden op één lijn en we kwamen op bezoek bij onze oom, die niet thuis was. Ik heb gevraagd:
— Kan ik de computer aanzetten?
"Ja, doe met hem wat je wilt", antwoordde de liefhebbende tante.

Natuurlijk deed ik met hem wat ik wilde. Er waren verschillende pictogrammen op het Windows 98-bureaublad. WinRar, Word, FAR, Klondike, spellen. Nadat ik op alle iconen had geklikt, richtte mijn aandacht zich op FAR Manager. Het lijkt op een onbegrijpelijk blauw scherm, maar met een lange lijst (van bestanden) die gestart kunnen worden. Door op elk ervan te klikken, ving ik het effect op van wat er gebeurde. Sommigen werkten, anderen niet. Na een tijdje realiseerde ik me dat bestanden die eindigen op “.exe” het meest interessant zijn. Ze lanceren verschillende coole foto's waar je ook op kunt klikken. Dus ik heb waarschijnlijk alle beschikbare exe-bestanden op de computer van mijn oom gelanceerd, en toen trokken ze me nauwelijks bij de oren van het superinteressante speeltje en brachten me naar huis.

Programmeercarrière. Hoofdstuk 1. Eerste programma
Dezelfde FAR-manager

Toen waren er computerclubs. Mijn vriend en ik gingen er vaak heen om Counter Strike en Quake online te spelen, wat we thuis niet konden doen. Vaak vroeg ik mijn ouders om kleingeld, zodat ik een halfuurtje op de club kon spelen. Omdat ze mijn ogen zagen als die van de kat uit Shrek, boden ze me nog een lucratief contract aan. Ik rond het schooljaar af zonder C-cijfers, en ze kopen een computer voor mij. Het contract werd begin dit jaar, in september, getekend en de felbegeerde pc zou al in juni arriveren, onder voorbehoud van het nakomen van de afspraken.
Ik heb mijn best gedaan. Uit emotie heb ik zelfs mijn geliefde Sony Playstation verkocht om minder afgeleid te worden van mijn studie. Hoewel ik een matige leerling was, was groep 9 belangrijk voor mij. Bloedneus, ik moest gewoon goede cijfers halen.

Al in het voorjaar, vooruitlopend op de aankoop van een pc, vond waarschijnlijk de belangrijkste gebeurtenis in mijn leven plaats. Ik probeer vooruit te denken, en dus zei ik op een mooie dag tegen mijn vader:
- Pa, ik weet niet hoe ik een computer moet gebruiken. Laten we ons inschrijven voor cursussen

Zo gezegd zo gedaan. Nadat hij de krant met advertenties had opengeslagen, vond de vader een blok met de kop in kleine letters geschreven "Computercursussen". Ik belde de docenten en een paar dagen later zat ik al op deze cursussen. De cursussen vonden plaats aan de andere kant van de stad, in een oud Chroesjtsjov-paneelgebouw, op de derde verdieping. In één kamer stonden drie pc's achter elkaar, en degenen die wilden studeren werden er daadwerkelijk op getraind.

Ik herinner me mijn eerste les. Het laden van Windows 98 duurde lang, waarna de leraar het woord nam:
- Dus. Voordat je een Windows-bureaublad bent. Het bevat programmapictogrammen. Onderaan bevindt zich de Start-knop. Herinneren! Al het werk begint met de Start-knop. Klik erop met de linkermuisknop.
Hij ging verder.
- Hier - zie je geïnstalleerde programma's. Rekenmachine, Kladblok, Word, Excel. U kunt uw computer ook uitschakelen door op de knop “Afsluiten” te klikken. Probeer het.
Uiteindelijk ging hij verder met het op dat moment moeilijkere deel voor mij.
“Op het bureaublad”, zei de docent, zie je ook programma’s die je kunt starten door te dubbelklikken.
- Dubbel!? - Hoe is dit in het algemeen?
- Laten we proberen. Start Kladblok door erop te dubbelklikken met de linkermuisknop.

Ja schaas. Het moeilijkste op dat moment was om de muis op één plek vast te houden en tegelijkertijd snel twee keer te klikken. Bij de tweede klik trilde de muis een beetje en de snelkoppeling mee. Maar toch slaagde ik erin om tijdens de les zo'n onoverkomelijke taak te overwinnen.
Daarna werd er getraind in Word en Excel. Op een dag lieten ze me gewoon door foto's van de natuur en architectonische monumenten kijken. Het was de meest interessante activiteit in mijn geheugen. Veel leuker dan leren hoe je tekst opmaakt in Word.

Naast mijn pc zaten andere studenten te studeren. Een paar keer kwam ik jongens tegen die programma's aan het schrijven waren, terwijl ze dit proces heftig bespraken. Dit interesseerde mij ook. Ik herinnerde me de film Hackers en was MS Office beu en vroeg om overplaatsing naar cursussen
programmering. Zoals alle belangrijke gebeurtenissen in het leven gebeurde dit spontaan, uit interesse.

Samen met mijn moeder arriveerde ik bij mijn eerste programmeerles. Ik weet niet meer waarom. Blijkbaar moest ze onderhandelen over nieuwe cursussen en betalen. Buiten was het lente, het was al donker. We reisden met de minibus-Gazelle door de hele stad naar de buitenwijken en bereikten de beruchte
paneel Chroesjtsjov, ging naar de vloer en liet ons binnen.
Ze lieten me achter de eindcomputer zitten en openden een programma met een volledig blauw scherm en gele letters.
- Dit is TurboPascal. De leraar gaf commentaar op zijn actie.
- Kijk, hier heb ik documentatie geschreven over hoe het werkt. Lees het en neem een ​​kijkje.
Voor mij lag een canvas met gele, absoluut onbegrijpelijke tekst. Ik probeerde iets voor mezelf te ontdekken, maar het lukte niet. Chinese grammatica en dat is alles.
Uiteindelijk overhandigde de cursusleider mij na enige tijd een gedrukt A4-tje. Er stond iets vreemds op, dat ik eerder had gezien op de monitoren van de jongens van programmeercursussen.
- Herschrijf wat hier staat. De leraar beval en vertrok.
Ik begon te schrijven:
programma Summa;

Ik schreef en zocht tegelijkertijd naar Engelse letters op het toetsenbord. In Word heb ik tenminste Russisch getraind, maar hier moet ik andere letters leren. Het programma werd met één vinger getypt, maar heel voorzichtig.
begin, einde, var, geheel getal - Wat is dit? Hoewel ik vanaf de eerste klas Engels studeerde en de betekenis van veel woorden kende, kon ik het niet allemaal met elkaar verbinden. Als een getrainde beer op de fiets bleef ik trappen. Eindelijk iets bekends:
writeln('Voer het eerste getal in');
Dan - writeln('Voer het tweede getal in');
Dan - writeln('Resultaat = ',c);
Programmeercarrière. Hoofdstuk 1. Eerste programma
Dat allereerste Turbo Pascal programma

Pff, ik heb het geschreven. Ik haalde mijn handen van het toetsenbord en wachtte tot de goeroe verscheen voor verdere instructies. Uiteindelijk kwam hij langs, scande het scherm en zei dat ik op de F9-toets moest drukken.
“Nu wordt het programma gecompileerd en gecontroleerd op fouten”, zei de goeroe
Er waren geen fouten. Toen zei hij dat ik op Ctrl+F9 moest drukken, wat ik ook voor het eerst stap voor stap moest uitleggen. Wat u moet doen, is Ctrl ingedrukt houden en vervolgens op F9 drukken. Het scherm werd zwart en er verscheen eindelijk een bericht dat ik begreep: “Voer het eerste nummer in.”
Op bevel van de leraar heb ik 7 ingevoerd. Toen het tweede getal. Ik voer 3 in en druk op Enter.

De regel 'Resultaat = 10' verschijnt razendsnel op het scherm. Het was een euforie en ik had nog nooit in mijn leven zoiets meegemaakt. Het was alsof het hele universum zich voor mij opende en ik mezelf in een soort portaal bevond. Warmte stroomde door mijn lichaam, er verscheen een glimlach op mijn gezicht en ergens heel diep in het onderbewustzijn besefte ik: dat dit van mij is. Heel intuïtief, op emotioneel niveau, begon ik het enorme potentieel te voelen in deze zoemende doos onder de tafel. Er zijn zoveel dingen die je met je eigen handen kunt doen, en zij zal het doen!
Dat dit een soort magie is. Het ging mijn begrip totaal te boven hoe die gele, onbegrijpelijke tekst op een blauw scherm veranderde in een handig en begrijpelijk programma. Wat ook zichzelf telt! Wat mij verraste was niet de berekening zelf, maar het feit dat de geschreven hiërogliefen in een rekenmachine veranderden. Er was destijds een kloof tussen deze twee gebeurtenissen. Maar intuïtief voelde ik dat dit stukje hardware bijna alles kon.

Bijna de hele weg naar huis in de minibus had ik het gevoel dat ik in de ruimte was. Deze foto met het opschrift "Resultaat" draaide in mijn hoofd, hoe gebeurde het, wat kan deze machine nog meer, kan ik zelf iets schrijven zonder een vel papier. Duizend vragen die mij tegelijkertijd interesseerden, enthousiast maakten en inspireerden. Ik was 14 jaar oud. Die dag koos het beroep mij.

Wordt vervolgd ...

Bron: www.habr.com

Voeg een reactie