Programmeringskarriere. Kapittel 1. Første program

Programmeringskarriere. Kapittel 1. Første programKjære lesere av Habr, jeg presenterer for din oppmerksomhet en serie innlegg som jeg i fremtiden planlegger å kombinere til en bok. Jeg ønsket å fordype meg i fortiden og fortelle min historie om hvordan jeg ble en utvikler og fortsetter å være det.

Om forutsetningene for å komme inn på IT, veien til prøving og feiling, selvlæring og barnslig naivitet. Jeg vil starte historien min fra tidlig barndom og avslutte den med i dag. Jeg håper at denne boken vil være spesielt nyttig for de som bare studerer for en IT-spesialitet.
Og de som allerede jobber innen IT vil nok trekke paralleller med sin egen vei.

I denne boken finner du referanser til litteraturen jeg har lest, opplevelsen av å kommunisere med mennesker jeg krysset veier med mens jeg studerte, jobbet og startet oppstart.
Fra universitetslærere til store venture-investorer og eiere av multi-million dollar selskaper.
Per i dag er 3.5 kapitler av boken klare, av 8-10 mulige. Hvis de første kapitlene finner positiv respons fra publikum, vil jeg gi ut hele boken.

Om meg

Jeg er ikke John Carmack, Nikolai Durov eller Richard Matthew Stallman. Jeg jobbet ikke i selskaper som Yandex, VKontakte eller Mail.ru.
Selv om jeg hadde erfaring med å jobbe i et stort selskap, som jeg definitivt vil fortelle deg om. Men jeg tror poenget ikke er så mye i det store navnet, men i selve historien til veien til å bli en utvikler, og videre, i seirene og nederlagene som skjedde i løpet av min 12 år lange karriere innen kommersiell utvikling. Noen av dere har selvfølgelig mye mer erfaring innen IT. Men jeg mener at dramaene og seirene som har skjedd i løpet av min nåværende karriere er verdt å beskrive. Det var mange arrangementer, og de var alle forskjellige.

Hvem er jeg i dag som utvikler
— Deltok i mer enn 70 kommersielle prosjekter, mange av dem skrev han fra bunnen av
— I et dusin av våre egne prosjekter: åpen kildekode, startups
— 12 år innen IT. For 17 år siden - skrev det første programmet
- Microsofts mest verdifulle person 2016
— Microsoft Certified Professional
— Sertifisert Scrum Master
— Jeg har god beherskelse av C#/C++/Java/Python/JS
— Lønn — 6000-9000 $/måned. avhengig av belastning
— Min hovedarbeidsplass i dag er frilansbørsen Upwork. Gjennom den jobber jeg for et selskap som driver med NLP/AI/ML. Har en base på 1 million brukere
— Utgitt 3 applikasjoner i AppStore og GooglePlay
— Jeg forbereder meg på å etablere mitt eget IT-selskap rundt prosjektet jeg utvikler nå

I tillegg til utvikling skriver jeg artikler for populære blogger, underviser i nye teknologier og snakker på konferanser. Jeg slapper av i treningssenteret og med familien min.

Det handler nok bare om meg når det gjelder bokens tema. Neste er min historie.

Historie. Start.

Jeg lærte først hva en datamaskin er da jeg var 7 år gammel. Jeg har nettopp begynt i første klasse og i kunsttimen fikk vi lekser for å lage en datamaskin av papp, skumgummi og tusj. Selvfølgelig hjalp foreldrene mine meg. Mor studerte ved et teknisk universitet på begynnelsen av 80-tallet og visste på egenhånd hva en datamaskin var. I løpet av treningen klarte hun til og med å stanse hullkort og laste dem inn i den gigantiske sovjetiske maskinen som okkuperte brorparten av treningsrommet.

Vi fullførte leksene våre med karakteren 5 fordi vi gjorde alt flittig. Vi fant et tykt ark med A4-papp. Det ble kuttet ut sirkler av gamle leker fra skumgummi, og brukergrensesnittet ble tegnet med tusj. Enheten vår hadde bare noen få knapper, men min mor og jeg tildelte dem den nødvendige funksjonaliteten, og i løpet av leksjonen viste jeg læreren hvordan ved å trykke på "På"-knappen, ville en lyspære lyse opp i hjørnet av "skjermen, ” mens du samtidig tegner en rød sirkel med en tusj.

Mitt neste møte med datateknologi skjedde rundt samme alder. I helgene var jeg ofte på besøk hos besteforeldrene mine, som på sin side solgte diverse søppel og også villig kjøpte det for kroner. Gamle klokker, samovarer, kjeler, merker, sverd fra 13-tallets krigere og mer. Blant alt dette mangfoldet av ting, tok noen med seg en datamaskin som kjørte fra en TV og en lydopptaker. Heldigvis hadde min bestemor begge deler. Sovjet-laget, selvfølgelig. TV-elektron med åtte knapper for å bytte kanal. Og en Vega båndopptaker med to kassetter, som til og med kunne ta opp lydbånd på nytt.
Programmeringskarriere. Kapittel 1. Første program
Sovjetisk datamaskin "Poisk" og periferiutstyr: TV "Electron", båndopptaker "Vega" og lydkassett med BASIC-språk

Vi begynte å finne ut hvordan hele dette systemet fungerer. Inkludert med datamaskinen var et par lydkassetter, en svært slitt bruksanvisning og en annen brosjyre med tittelen "BASIC Programming Language". Til tross for barndommen min prøvde jeg å delta aktivt i prosessen med å koble ledninger til båndopptakeren og TV-en. Så satte vi en av kassettene inn i båndopptakerrommet, trykket på "Forover"-knappen (dvs. start avspilling), og en uforståelig pseudografikk av tekst og bindestreker dukket opp på TV-skjermen.

Selve hovedenheten så ut som en skrivemaskin, bare ganske gulnet og av merkbar vekt. Med et barns begeistring trykket jeg på alle tastene, så ingen håndgripelige resultater, og løp og gikk en tur. Selv om jeg allerede da hadde foran meg en manual om BASIC-språket med eksempler på programmer som jeg på grunn av min alder rett og slett ikke klarte å skrive om.

Fra barndomsminner husker jeg absolutt alle dingsene som foreldrene mine kjøpte til meg, etter å ha trent med andre slektninger. Den første ranglen var det velkjente spillet "Wolf Catches Eggs". Jeg ble ferdig med den ganske raskt, så den etterlengtede tegneserien på slutten og ville ha noe mer. Så var det Tetris. På den tiden var det verdt 1,000,000 kuponger. Ja, det var i Ukraina på begynnelsen av 90-tallet, og jeg fikk en million for min akademiske suksess. Fortjent å føle meg som en millionær, bestilte jeg dette mer komplekse spillet til foreldrene mine, der de måtte ordne figurer med forskjellige former som faller ovenfra på riktig måte. På kjøpsdagen ble Tetris ukontrollert tatt fra meg av foreldrene mine, som selv ikke kunne kvitte seg med den på to dager.

Programmeringskarriere. Kapittel 1. Første program
Berømte "Wolf Catches Eggs and Tetris"

Så var det spillkonsoller. Familien vår bodde i et lite hus, der min onkel og tante også bodde i naborommet. Onkelen min var en militærpilot, han gikk gjennom hot spots, så til tross for sin beskjedenhet var han veldig seig og var redd for lite, etter ekte
militære operasjoner. Akkurat som mange mennesker på 90-tallet, gikk onkelen min i virksomhet og hadde en ganske god inntekt. Så en importert TV, en videospiller og deretter en Subor set-top-boks (analog med Dendy) dukket opp på rommet hans. Det tok pusten fra meg å se ham spille Super Mario, TopGun, Terminator og andre spill. Og da han ga joysticken i hendene mine, kjente min lykke ingen grenser.

Programmeringskarriere. Kapittel 1. Første program
Åtte-bits konsoll "Syubor" og den legendariske "Super Mario"

Ja, som alle vanlige barn som vokste opp på nittitallet, tilbrakte jeg hele dagen i gården. Enten spille pionerball, eller badminton, eller klatre i trær i hagen, hvor det vokste mange forskjellige frukter.
Men dette nye produktet, når du kan kontrollere Mario, hoppe over hindringer og redde prinsessen, var mange ganger mer interessant enn noen blindmanns buff, ladushka og klassikere. Da jeg så min oppriktige interesse for prefikser, ga foreldrene mine meg derfor i oppgave å lære multiplikasjonstabellen. Da vil de oppfylle drømmen min. De lærer henne i andre klasse, og jeg fullførte akkurat den første. Men, sagt og gjort.

Det var umulig å tenke på en sterkere motivasjon enn å ha en egen spillkonsoll. Og i løpet av en uke svarte jeg lett på spørsmålene "sju ni", "seks tre" og lignende. Testen ble bestått og de kjøpte den ettertraktede gaven til meg. Som du vil lære videre, spilte konsoller og dataspill en betydelig rolle i å få meg til å interessere meg for programmering.

Slik gikk det år etter år. Neste generasjon spillkonsoller kom ut. Først Sega 16-bit, så Panasonic, så Sony PlayStation. Spill var underholdningen min når jeg var god. Når det var et slags problem på skolen eller hjemme, tok de joystickene mine, og jeg kunne selvfølgelig ikke spille. Og selvfølgelig var det en slags flaks å fange øyeblikket da du kom tilbake fra skolen, og faren din ennå ikke hadde kommet tilbake fra jobb for å okkupere TV-en. Så det er umulig å si at jeg var en spilleavhengig eller brukte hele dagen på å spille spill. Det var ingen slik mulighet. Jeg brukte heller hele dagen på gården, hvor jeg også kunne finne noe
interessant. For eksempel et helt vilt vilt - luftskyting. Nå for tiden vil du ikke se noe slikt i gårdsrom, men den gang var det en skikkelig krig. Paintball er bare en barnelek sammenlignet med blodbadet vi forårsaket. Det var luftballonger
lastet med tette plastkuler. Og etter å ha skutt en annen fyr på skarpt hold, etterlot han et blåmerke på halve armen eller magen. Det var slik vi levde.

Programmeringskarriere. Kapittel 1. Første program
Lekepistol fra barndommen

Det ville ikke være galt å nevne filmen "Hackers". Den ble utgitt bare i 1995, med 20 år gamle Angelina Jolie i hovedrollen. Å si at filmen gjorde sterkt inntrykk på meg er å si ingenting. Tross alt oppfatter barns tenkning alt for pålydende.
Og hvordan disse gutta berømt ryddet ut minibanker, skrudde av trafikklys og lekte med elektrisitet i hele byen - for meg var det magi. Da gikk tanken opp for meg at det ville være kult å bli like allmektig som Hackerne.
Noen år senere kjøpte jeg hvert nummer av magasinet Hacker og prøvde å hacke Pentagon, selv om jeg ikke hadde internett ennå.

Programmeringskarriere. Kapittel 1. Første program
Mine helter fra filmen "Hackers"

En virkelig oppdagelse for meg var en ekte PC, med en 15-tommers lampeskjerm og en systemenhet basert på en Intel Pentium II-prosessor. Selvfølgelig ble det kjøpt av onkelen hans, som på slutten av nittitallet hadde reist seg høyt nok til å ha råd til
slike leker. Første gang de satte på et spill for meg, var det ikke så spennende. Men en dag, dommens dag, kom stjernene på linje og vi kom for å besøke onkelen vår, som ikke var hjemme. Jeg spurte:
— Kan jeg slå på datamaskinen?
"Ja, gjør hva du vil med ham," svarte den kjærlige tanten.

Selvfølgelig gjorde jeg det jeg ville med ham. Det var forskjellige ikoner på Windows 98-skrivebordet. WinRar, Word, FAR, Klondike, spill. Etter å ha klikket på alle ikonene, fokuserte min oppmerksomhet på FAR Manager. Det ser ut som en uforståelig blå skjerm, men med en lang liste (med filer) som kan startes. Ved å klikke på hver av dem etter tur, fanget jeg effekten av det som skjedde. Noen fungerte, noen gjorde det ikke. Etter en stund innså jeg at filer som slutter på ".exe" er de mest interessante. De lanserer forskjellige kule bilder som du også kan klikke på. Så jeg lanserte sannsynligvis alle tilgjengelige exe-filer på onkelens datamaskin, og så trakk de meg så vidt i ørene fra den superinteressante leken og tok meg med hjem.

Programmeringskarriere. Kapittel 1. Første program
Samme FAR Manager

Så var det dataklubber. Min venn og jeg dro ofte dit for å spille Counter Strike og Quake online, noe vi ikke kunne gjøre hjemme. Jeg spurte ofte foreldrene mine om bytte slik at jeg kunne spille på klubben i en halvtime. Da de så øynene mine, som katten fra Shrek, tilbød de meg nok en lukrativ kontrakt. Jeg avslutter skoleåret uten C-karakterer, og de kjøper en datamaskin til meg. Kontrakten ble signert i begynnelsen av året, i september, og den ettertraktede PC-en skulle komme allerede i juni, forutsatt at avtalene overholdes.
Jeg prøvde mitt beste. Jeg solgte til og med min elskede Sony Playstation av følelser for å bli mindre distrahert fra studiene. Selv om jeg var en så som så student, var 9. klasse viktig for meg. For helvete, jeg måtte bare få gode karakterer.

Allerede på våren, i påvente av kjøp av en PC, skjedde sannsynligvis den viktigste hendelsen i livet mitt. Jeg prøver å tenke fremover, og så en vakker dag sa jeg til faren min:
- Pappa, jeg vet ikke hvordan jeg bruker en datamaskin. La oss melde oss på kurs

Ikke før sagt enn gjort. Etter å ha åpnet avisen med annonser, fant faren en blokk skrevet med liten skrift med overskriften "Datakurs". Jeg ringte lærerne og et par dager senere var jeg allerede på disse kursene. Kursene fant sted på den andre siden av byen, i en gammel panelbygning i Khrusjtsjov, i tredje etasje. I ett rom sto det tre PC-er på rad, og de som ville studere ble faktisk trent på dem.

Jeg husker min første leksjon. Windows 98 tok lang tid å laste, så tok læreren ordet:
- Så. Før du er et Windows-skrivebord. Den inneholder programikoner. Nederst er Start-knappen. Huske! Alt arbeid begynner med Start-knappen. Klikk på den med venstre museknapp.
Han fortsatte.
- Her - ser du installerte programmer. Kalkulator, Notisblokk, Word, Excel. Du kan også slå av datamaskinen ved å klikke på "Slå av"-knappen. Prøv det.
Til slutt gikk han videre til den vanskeligere delen for meg på den tiden.
"På skrivebordet," sa læreren, kan du også se programmer som kan startes ved å dobbeltklikke.
- Dobbelt!? – Hvordan er dette generelt?
- La oss prøve. Start Notisblokk ved å dobbeltklikke på den med venstre museknapp.

Ja, schaass. Det vanskeligste i det øyeblikket var å holde musen på ett sted og samtidig raskt klikke to ganger. Ved det andre klikket rykket musen litt og snarveien sammen med den. Men likevel klarte jeg å overvinne en så uoverkommelig oppgave i løpet av timen.
Deretter ble det opplæring i Word og Excel. En dag lot de meg rett og slett se gjennom bilder av natur og arkitektoniske monumenter. Det var den mest interessante aktiviteten i mitt minne. Mye morsommere enn å lære å formatere tekst i Word.

Ved siden av PC-en min studerte andre studenter. Et par ganger kom jeg over gutter som skrev programmer, mens de diskuterte denne prosessen heftig. Dette interesserte meg også. Jeg husket filmen Hackers og var lei av MS Office, og ba om å bli overført til kurs
programmering. Som alle viktige hendelser i livet, skjedde dette spontant, av interesse.

Jeg kom til min første programmeringstime med min mor. Jeg husker ikke hvorfor. Tilsynelatende måtte hun forhandle om nye kurs og betale. Det var vår ute, det var allerede mørkt. Vi reiste gjennom hele byen med minibuss-Gazelle til utkanten, nådde den beryktede
panel Khrusjtsjov, gikk opp på gulvet og slapp oss inn.
De satte meg ved sluttdatamaskinen og åpnet et program med helt blå skjerm og gule bokstaver.
– Dette er Turbo Pascal. Læreren kommenterte handlingen hans.
– Se, her skrev jeg dokumentasjon på hvordan det fungerer. Les den og ta en titt.
Foran meg lå et lerret med gul, helt uforståelig tekst. Jeg prøvde å finne ut noe selv, men jeg klarte det ikke. Kinesisk grammatikk og det er det.
Til slutt, etter litt tid, ga kurslederen meg et trykt A4-ark. Det var skrevet noe merkelig på den, som jeg tidligere hadde sett på monitorene til gutta fra programmeringskurs.
– Skriv om det som står her. Læreren kommanderte og gikk.
Jeg begynte å skrive:
program Summa;

Jeg skrev og lette samtidig etter engelske bokstaver på tastaturet. I Word trente jeg i hvert fall russisk, men her må jeg lære andre bokstaver. Programmet ble skrevet med én finger, men veldig nøye.
begynne, slutt, var, heltall - Hva er dette? Selv om jeg studerte engelsk fra første klasse og visste betydningen av mange ord, klarte jeg ikke å koble det hele sammen. Som en trent bjørn på sykkel fortsatte jeg å tråkke. Endelig noe kjent:
writeln('Skriv inn første tall');
Deretter - writeln('Skriv inn andre tall');
Deretter - writeln('Resultat = ',c);
Programmeringskarriere. Kapittel 1. Første program
Det aller første Turbo Pascal-programmet

Puh, jeg skrev det. Jeg tok hendene mine fra tastaturet og ventet på at guruen skulle dukke opp for ytterligere instruksjoner. Til slutt kom han bort, skannet skjermen og ba meg trykke på F9-tasten.
"Nå er programmet kompilert og sjekket for feil," sa guruen
Det var ingen feil. Så sa han å trykke Ctrl+F9, som jeg også måtte forklare steg for steg for første gang. Det du trenger å gjøre er å holde nede Ctrl, og deretter trykke på F9. Skjermen ble svart og en melding som jeg forsto til slutt dukket opp på den: "Skriv inn det første tallet."
På lærerens kommando skrev jeg inn 7. Så det andre tallet. Jeg skriver inn 3 og trykker Enter.

Linjen 'Resultat = 10' vises på skjermen med lynets hastighet. Det var eufori og jeg hadde aldri opplevd noe lignende før i mitt liv. Det var som om hele universet åpnet seg for meg og jeg befant meg i en slags portal. Varmen gikk gjennom kroppen min, et smil dukket opp på ansiktet mitt, og et sted veldig dypt i underbevisstheten skjønte jeg - at dette er mitt. Veldig intuitivt, på et følelsesmessig nivå, begynte jeg å føle det enorme potensialet i denne summende boksen under bordet. Det er så mange ting du kan gjøre med dine egne hender, og hun vil gjøre det!
At dette er en slags magi. Det var helt utenfor min fatteevne hvordan den gule, uforståelige teksten på en blå skjerm ble til et praktisk og forståelig program. Som også teller seg selv! Det som overrasket meg var ikke selve regnestykket, men det faktum at de skrevne hieroglyfene ble til en kalkulator. Det var et gap mellom disse to hendelsene på den tiden. Men intuitivt følte jeg at denne maskinvaren kunne gjøre nesten hva som helst.

Nesten hele veien hjem i minibussen følte jeg at jeg var i verdensrommet. Dette bildet med påskriften "Resultat" snurret i hodet mitt, hvordan skjedde det, hva annet kan denne maskinen gjøre, kan jeg skrive noe selv uten et stykke papir. Tusen spørsmål som interesserte meg, begeistret og inspirerte meg på samme tid. Jeg var 14 år gammel. Den dagen valgte yrket meg.

To be continued ...

Kilde: www.habr.com

Legg til en kommentar