programmeerder loopbaan. Hoofstuk 1. Die eerste program

programmeerder loopbaan. Hoofstuk 1. Die eerste programGeagte lesers van Habr, ek bied aan julle aandag 'n reeks plasings wat ek in die toekoms beplan om in 'n boek te kombineer. Ek wou in die verlede delf en my storie vertel van hoe ek 'n ontwikkelaar geword het en steeds een is.

Oor die voorvereistes om in IT te kom, die pad van beproewing en fout, selfleer en kinderlike naïwiteit. Ek begin my storie van kleintyd af en eindig dit met vandag. Ek hoop dat hierdie boek veral nuttig sal wees vir diegene wat net vir 'n IT-spesialiteit studeer.
En diegene wat reeds in IT werk, sal waarskynlik parallelle trek met hul eie pad.

In hierdie boek sal jy verwysings vind na die literatuur wat ek gelees het, die ervaring om te kommunikeer met mense met wie ek paaie gekruis het terwyl ek studeer, werk en 'n beginonderneming begin het.
Begin van universiteitsonderwysers tot groot waagbeleggers en eienaars van multi-miljoen dollar maatskappye.
Van vandag af is 3.5 hoofstukke van die boek gereed, uit 'n moontlike 8-10. As die eerste hoofstukke 'n positiewe reaksie van die gehoor kry, sal ek die hele boek publiseer.

About Me

Ek is nie John Carmack, Nikolai Durov of Richard Matthew Stallman nie. Ek het nie in maatskappye soos Yandex, VKontakte of Mail.ru gewerk nie.
Alhoewel ek ondervinding gehad het om in 'n groot korporasie te werk, waarvan ek jou beslis sal vertel. Maar ek dink die punt is nie soseer in die groot naam nie, maar in die geskiedenis van die pad om 'n ontwikkelaar te word, en verder in die oorwinnings en nederlae wat tydens my 12-jarige loopbaan in kommersiële ontwikkeling plaasgevind het. Van julle het natuurlik baie meer ervaring in IT. Maar ek glo dat die dramas en oorwinnings wat tydens my huidige loopbaan plaasgevind het, die moeite werd is om te beskryf. Daar was baie geleenthede, en hulle was almal uiteenlopend.

Wie is ek vandag as 'n ontwikkelaar
— Het aan meer as 70 kommersiële projekte deelgeneem, waarvan hy baie van voor af geskryf het
— In 'n dosyn van ons eie projekte: oopbron, opstart
— 12 jaar in IT. 17 jaar gelede - het die eerste program geskryf
- Microsoft Mees Waardevolle Persoon 2016
- Microsoft Certified Professional
— Gesertifiseerde skrummeester
— Ek het 'n goeie beheer van C#/C++/Java/Python/JS
— Salaris — 6000-9000 $/maand. afhangende van vrag
— My hoofwerkplek vandag is die vryskutbeurs Upwork. Daardeur werk ek vir 'n maatskappy wat met NLP/AI/ML te doen het. Het 'n basis van 1 miljoen gebruikers
— 3 toepassings in die AppStore en GooglePlay vrygestel
— Ek berei voor om my eie IT-maatskappy te stig rondom die projek wat ek tans ontwikkel

Benewens ontwikkeling, skryf ek artikels vir gewilde blogs, onderrig nuwe tegnologieë en praat by konferensies. Ek ontspan in die fiksheidsklub en saam met my gesin.

Dit gaan seker alles oor my wat die tema van die boek betref. Volgende is my storie.

Storie. Begin.

Ek het die eerste keer geleer wat 'n rekenaar is toe ek 7 jaar oud was. Ek het pas met eerste graad begin en in die kunsklas het ons huiswerk gekry om 'n rekenaar van karton, skuimrubber en viltpenne te maak. Natuurlik het my ouers my gehelp. Ma het in die vroeë 80's aan 'n tegniese universiteit gestudeer en het eerstehands geweet wat 'n rekenaar is. Tydens die opleiding het sy dit selfs reggekry om ponskaarte te slaan en dit in die reuse Sowjet-masjien te laai wat die leeueaandeel van die oefenlokaal beset het.

Ons het ons huiswerk met 'n graad 5 voltooi, want ons het alles ywerig gedoen. Ons het 'n dik vel A4-karton gekry. Sirkels is uit ou speelgoed van skuimrubber gesny, en die gebruikerskoppelvlak is met viltpenne geteken. Ons toestel het net 'n paar knoppies gehad, maar ek en my ma het die nodige funksionaliteit aan hulle toegewys, en tydens die les het ek vir die onderwyser gewys hoe deur die "Aan"-knoppie te druk, 'n gloeilamp in die hoek van die "skerm, ” terwyl jy terselfdertyd ’n rooi sirkel met ’n viltpen teken.

My volgende ontmoeting met rekenaartegnologie het omtrent dieselfde ouderdom plaasgevind. Naweke het ek gereeld by my grootouers gekuier, wat op hul beurt verskeie rommel verkoop het en dit ook gewillig vir pennies gekoop het. Ou horlosies, samowars, ketels, kentekens, swaarde van 13de eeuse krygers en meer. Tussen al hierdie verskeidenheid dinge het iemand vir hom 'n rekenaar gebring wat vanaf 'n TV en 'n oudio-opnemer gehardloop het. Gelukkig het my ouma albei gehad. Sowjet-gemaak, natuurlik. TV-elektron met agt knoppies om kanale te verander. En 'n Vega-twee-kassetbandopnemer, wat selfs oudiobande weer kan opneem.
programmeerder loopbaan. Hoofstuk 1. Die eerste program
Sowjet-rekenaar "Poisk" en randapparatuur: TV "Electron", bandopnemer "Vega" en klankkasset met BASIESE taal

Ons het begin uitvind hoe hierdie hele stelsel werk. Ingesluit by die rekenaar was 'n paar oudiokassette, 'n baie verslete handleiding en nog 'n brosjure met die titel "BASIESE Programmeertaal". Ten spyte van my kinderjare het ek probeer om aktief deel te neem aan die proses om toue aan die bandopnemer en TV te koppel. Toe het ons een van die kassette in die bandopnemer-kompartement gesit, die "Voorwaarts"-knoppie gedruk (d.w.s. begin afspeel), en 'n onverstaanbare pseudo-grafika van teks en strepies verskyn op die TV-skerm.

Die hoofeenheid self het soos 'n tikmasjien gelyk, net redelik vergeel en van merkbare gewig. Met die opgewondenheid van 'n kind het ek al die sleutels gedruk, geen tasbare resultate gesien nie, en gehardloop en gaan stap. Alhoewel ek toe reeds 'n handleiding oor die BASIESE taal voor my gehad het met voorbeelde van programme wat ek weens my ouderdom eenvoudig nie kon herskryf nie.

Uit kinderherinneringe onthou ek beslis al die gadgets wat my ouers vir my gekoop het, nadat hulle saam met ander familielede uitgewerk het. Die eerste gerammel was die bekende speletjie “Wolf vang eiers”. Ek het dit redelik vinnig klaargemaak, die langverwagte spotprent aan die einde gesien en wou iets meer hê. Dan was daar Tetris. Op daardie tydstip was dit 1,000,000 90 XNUMX koepons werd. Ja, dit was in die vroeë XNUMX's in die Oekraïne, en ek is 'n miljoen gegee vir my akademiese sukses. Ek het welverdiend soos 'n miljoenêr gevoel en hierdie meer komplekse speletjie vir my ouers bestel, waar hulle figure van verskillende vorms wat van bo af val, korrek moes rangskik. Op die dag van aankoop is Tetris onbeheerbaar van my weggeneem deur my ouers, wat self vir twee dae nie daarvan ontslae kon raak nie.

programmeerder loopbaan. Hoofstuk 1. Die eerste program
Bekende "Wolf vang eiers en tetris"

Dan was daar spelkonsoles. Ons gesin het in 'n klein huisie gewoon, waar my oom en tannie ook in die kamer langsaan gewoon het. My oom was 'n militêre vlieënier, hy het deur warm plekke gegaan, so ten spyte van sy beskeidenheid was hy baie hardnekkig en was bang vir min, na werklike
militêre operasies. Net soos baie mense in die 90's, het my oom in besigheid gegaan en 'n redelike goeie inkomste gehad. So het 'n ingevoerde TV, 'n videorecorder, en toe 'n Subor-dekkerboks (analoog aan Dendy) in sy kamer verskyn. Dit het my asem weggeslaan om te sien hoe hy Super Mario, TopGun, Terminator en ander speletjies speel. En toe hy die joystick in my hande gee, het my geluk geen perke geken nie.

programmeerder loopbaan. Hoofstuk 1. Die eerste program
Agt-bis konsole "Syubor" en die legendariese "Super Mario"

Ja, soos alle gewone kinders wat in die negentigerjare grootgeword het, het ek heeldag in die erf deurgebring. Of speel pionierbal, of pluimbal, of boomklim in die tuin, waar baie verskillende vrugte gegroei het.
Maar hierdie nuwe produk, wanneer jy Mario kan beheer, oor hindernisse kan spring en die prinses kan red, was baie keer interessanter as enige blinde man se buff, ladushka en klassieke. Daarom, aangesien my opregte belangstelling in voorvoegsels gesien het, het my ouers my die taak gegee om die vermenigvuldigingstabel te leer. Dan sal hulle my droom verwesenlik. Hulle leer haar in die tweede graad, en ek het sopas die eerste klaargemaak. Maar, gesê en gedoen.

Dit was onmoontlik om aan 'n sterker motivering te dink as om jou eie speletjiekonsole te hê. En binne 'n week het ek maklik die vrae "sewe nege", "ses drie" en dies meer beantwoord. Die toets is geslaag en hulle het vir my die gesogte geskenk gekoop. Soos jy verder sal leer, het konsoles en rekenaarspeletjies 'n belangrike rol gespeel om my in programmering te laat belangstel.

Dit is hoe dit jaar na jaar gegaan het. Die volgende generasie speletjiekonsoles het uitgekom. Eers Sega 16-bis, dan Panasonic, dan Sony PlayStation. Speletjies was my vermaak toe ek goed was. Wanneer daar een of ander probleem by die skool of by die huis was, het hulle my joysticks weggeneem en natuurlik kon ek nie speel nie. En natuurlik was dit ook 'n soort geluk om die oomblik te vang toe jy van die skool af teruggekeer het, en jou pa nog nie van die werk af teruggekeer het om die TV te beset nie. Dit is dus onmoontlik om te sê dat ek 'n dobbelverslaafde was of die hele dag speletjies gespeel het. Daar was nie so 'n geleentheid nie. Ek het eerder die hele dag in die erf deurgebring, waar ek ook iets kon kry
interessant. Byvoorbeeld, 'n heeltemal wilde wild - lugskietgevegte. Deesdae sal jy nie so iets in binnehowe sien nie, maar destyds was dit 'n ware oorlog. Paintball is net kinderspeletjies in vergelyking met die bloedbad wat ons veroorsaak het. Daar was lugballonne
gelaai met digte plastiekkoeëls. En nadat hy 'n ander ou op 'n punt geskiet het, het hy 'n kneusplek op die helfte van sy arm of maag gelos. Dis hoe ons gelewe het.

programmeerder loopbaan. Hoofstuk 1. Die eerste program
Speelgoedgeweer van kleintyd af

Dit sal nie verkeerd wees om die film "Hackers" te noem nie. Dit is pas in 1995 vrygestel, met die 20-jarige Angelina Jolie in die hoofrol. Om te sê die film het 'n sterk indruk op my gemaak, is om niks te sê nie. Kinders se denke neem immers alles op sigwaarde waar.
En hoe hierdie ouens bekende kitsbanke skoongemaak het, verkeersligte afgeskakel het en deur die stad met elektrisiteit gespeel het – vir my was dit magic. Toe kom die gedagte by my op dat dit gaaf sou wees om so almagtig soos die Hackers te word.
’n Paar jaar later het ek elke uitgawe van Hacker-tydskrif gekoop en probeer om die Pentagon te hack, hoewel ek nog nie die internet gehad het nie.

programmeerder loopbaan. Hoofstuk 1. Die eerste program
My helde uit die film "Hackers"

'n Ware ontdekking vir my was 'n regte rekenaar, met 'n 15-duim-lampmonitor en 'n stelseleenheid gebaseer op 'n Intel Pentium II-verwerker. Natuurlik is dit gekoop deur sy oom, wat teen die einde van die negentigerjare hoog genoeg gestyg het om te bekostig
sulke speelgoed. Die eerste keer dat hulle 'n wedstryd vir my aangeskakel het, was dit nie te opwindend nie. Maar eendag, die dag van oordeel het aangebreek, het die sterre in lyn gebring en ons het ons oom, wat nie tuis was nie, kom besoek. Ek het gevra:
— Kan ek die rekenaar aanskakel?
“Ja, doen wat jy wil met hom,” antwoord die liefdevolle tannie.

Natuurlik het ek met hom gedoen wat ek wou. Daar was verskillende ikone op die Windows 98-lessenaar. WinRar, Word, FAR, Klondike, speletjies. Nadat ek op al die ikone geklik het, het my aandag gefokus op FAR Manager. Dit lyk soos 'n onverstaanbare blou skerm, maar met 'n lang lys (lêers) wat geloods kan word. Deur om die beurt op elkeen te klik, het ek die effek van wat besig was om te gebeur vasgevang. Sommige het gewerk, sommige nie. Na 'n rukkie het ek besef dat lêers wat eindig op ".exe" die interessantste is. Hulle loods verskillende oulike prente waarop jy ook kan klik. So ek het seker al die beskikbare exe-lêers op my oom se rekenaar geloods, en toe trek hulle my skaars aan die ore van die super-interessante speelding en vat my huis toe.

programmeerder loopbaan. Hoofstuk 1. Die eerste program
Dieselfde FAR Bestuurder

Dan was daar rekenaarklubs. Ek en my vriend het gereeld daarheen gegaan om Counter Strike en Quake aanlyn te speel, wat ons nie by die huis kon doen nie. Ek het my ouers gereeld vir kleingeld gevra sodat ek vir 'n halfuur by die klub kon speel. Toe hulle my oë sien, soos die kat van Shrek, het hulle my nog 'n winsgewende kontrak aangebied. Ek voltooi die skooljaar sonder C-grade, en hulle koop vir my 'n rekenaar. Die kontrak is aan die begin van die jaar, in September, onderteken en die gesogte PC was veronderstel om so vroeg as Junie te kom, onderhewig aan die nakoming van die ooreenkomste.
Ek het my bes probeer. Ek het selfs my geliefde Sony Playstation uit emosie verkoop om minder van my studies afgelei te word. Alhoewel ek 'n so-so student was, was graad 9 vir my betekenisvol. Bloedneus, ek moes net goeie punte kry.

Reeds in die lente, in afwagting van die aankoop van 'n rekenaar, het waarskynlik die belangrikste gebeurtenis in my lewe gebeur. Ek probeer vooruit dink, en so een mooi dag het ek vir my pa gesê:
- Pa, ek weet nie hoe om 'n rekenaar te gebruik nie. Kom ons teken in vir kursusse

Nie gou gesê as gedaan nie. Nadat die pa die koerant met advertensies oopgemaak het, het die pa 'n blokkie gevind wat in kleinskrif geskryf is met die opskrif "Rekenaar kursusse". Ek het die onderwysers gebel en 'n paar dae later was ek reeds op hierdie kursusse. Die kursusse het aan die ander kant van die stad plaasgevind, in 'n ou paneel Khrushchev-gebou, op die derde verdieping. In een vertrek was daar drie PC's in 'n ry, en diegene wat wou studeer, is eintlik daarop opgelei.

Ek onthou my eerste les. Windows 98 het lank geneem om te laai, toe neem die onderwyser die woord:
- Dus. Voor jy is 'n Windows-lessenaar. Dit bevat program-ikone. Aan die onderkant is die Start-knoppie. Onthou! Alle werk begin met die Start-knoppie. Klik dit met die linker muisknoppie.
Hy het voortgegaan.
- Hier - jy sien geïnstalleerde programme. Sakrekenaar, Notepad, Word, Excel. Jy kan ook jou rekenaar afskakel deur op die "Sluit af"-knoppie te klik. Probeer dit.
Uiteindelik het hy aanbeweeg na die moeiliker deel vir my op daardie tydstip.
“Op die lessenaar,” het die onderwyser gesê, kan jy ook programme sien wat geloods kan word deur te dubbelklik.
- Dubbel!? - Hoe is dit in die algemeen?
- Kom ons probeer. Begin Notepad deur met die linkermuisknoppie daarop te dubbelklik.

Ja, skaas. Die moeilikste ding op daardie oomblik was om die muis op een plek te hou en terselfdertyd vinnig twee keer te klik. Met die tweede klik het die muis 'n bietjie geruk en die kortpad daarmee saam. Maar tog het ek dit reggekry om so 'n onbegonne taak tydens die les te oorkom.
Dan was daar opleiding in Word en Excel. Eendag het hulle my bloot deur prente van die natuur en argitektoniese monumente laat kyk. Dit was die interessantste aktiwiteit in my geheue. Baie lekkerder as om te leer hoe om teks in Word te formateer.

Langs my rekenaar was ander studente besig om te studeer. Ek het 'n paar keer op ouens afgekom wat besig was om programme te skryf, terwyl ek heftig oor hierdie proses gepraat het. Dit het my ook geïnteresseerd. Ek het die film Hackers onthou en moeg was vir MS Office, en ek het gevra om na kursusse oorgeplaas te word
Programmering. Soos alle belangrike gebeurtenisse in die lewe, het dit spontaan gebeur, uit belangstelling.

Ek het saam met my ma by my eerste programmeringsles aangekom. Ek onthou nie hoekom nie. Sy moes glo vir nuwe kursusse onderhandel en betaling maak. Dit was lente buite, dit was al donker. Ons het deur die hele stad gereis per minibus-Gazelle tot by die buitewyke, bereik die berugte
paneel Khrushchev, het op die vloer gegaan en ons ingelaat.
Hulle het my by die eindrekenaar gaan sit en 'n program met 'n heeltemal blou skerm en geel letters oopgemaak.
- Dit is Turbo Pascal. Die onderwyser het kommentaar gelewer op sy optrede.
- Kyk, hier het ek dokumentasie geskryf oor hoe dit werk. Lees dit en kyk.
Voor my was ’n doek van geel, absoluut onverstaanbare teks. Ek het iets vir myself probeer uitvind, maar ek kon nie. Chinese grammatika en dit is dit.
Uiteindelik, na 'n geruime tyd, het die kursusleier 'n gedrukte A4-papier aan my gegee. Een of ander vreemde ding is daarop geskryf, wat ek voorheen op die monitors van die ouens van programmeringskursusse gesien het.
- Herskryf wat hier geskryf is. Die onderwyser het beveel en vertrek.
Ek het begin skryf:
program Summa;

Ek het geskryf, terselfdertyd op soek na Engelse letters op die sleutelbord. In Word het ek darem in Russies opgelei, maar hier moet ek ander letters leer. Die program is met een vinger getik, maar baie versigtig.
begin, einde, var, heelgetal - Wat is hierdie? Alhoewel ek van die eerste graad af Engels studeer het en die betekenis van baie woorde geken het, kon ek dit nie alles met mekaar verbind nie. Soos 'n geoefende beer op 'n fiets het ek aangehou trap. Uiteindelik iets bekends:
writeln('Voer eerste nommer in');
Toe - writeln('Voer tweede nommer in');
Toe - writeln('Resultaat = ',c);
programmeerder loopbaan. Hoofstuk 1. Die eerste program
Daardie heel eerste Turbo Pascal-program

Pff, ek het dit geskryf. Ek het my hande van die sleutelbord afgehaal en gewag vir die ghoeroe om te verskyn vir verdere instruksies. Uiteindelik het hy gekom, die skerm geskandeer en vir my gesê om die F9-sleutel te druk.
"Nou is die program saamgestel en nagegaan vir foute," het die ghoeroe gesê
Daar was geen foute nie. Toe sê hy om Ctrl+F9 te druk, wat ek ook vir die eerste keer stap vir stap moes verduidelik. Wat jy moet doen is om Ctrl te hou en dan F9 te druk. Die skerm het swart geword en 'n boodskap wat ek verstaan ​​het, het uiteindelik daarop verskyn: "Voer die eerste nommer in."
Op die onderwyser se bevel het ek 7 ingevoer. Toe die tweede nommer. Ek tik 3 in en druk Enter.

Die reël 'Resultaat = 10' verskyn blitsvinnig op die skerm. Dit was euforie en ek het nog nooit in my lewe so iets beleef nie. Dit was asof die hele Heelal voor my oopgegaan het en ek myself in een of ander portaal bevind het. Warmte het deur my liggaam gegaan, 'n glimlag het op my gesig verskyn, en iewers baie diep in die onderbewussyn het ek besef - dat dit myne is. Baie intuïtief, op 'n emosionele vlak, het ek die enorme potensiaal in hierdie gonsdoos onder die tafel begin voel. Daar is soveel dinge wat jy met jou eie hande kan doen, en sy sal dit doen!
Dat dit 'n soort magie is. Dit was heeltemal my verstand te bowe hoe daardie geel, onverstaanbare teks op 'n blou skerm in 'n gerieflike en verstaanbare program verander het. Wat ook self tel! Wat my verras het, was nie die berekening self nie, maar die feit dat die geskrewe hiërogliewe in 'n sakrekenaar verander het. Daar was 'n gaping tussen hierdie twee gebeurtenisse in daardie tyd. Maar intuïtief het ek gevoel dat hierdie stuk hardeware amper enigiets kon doen.

Byna die hele pad huis toe in die minibus het ek gevoel asof ek in die ruimte was. Hierdie prentjie met die inskripsie “Resultaat” het in my kop gedraai, hoe het dit gebeur, wat anders kan hierdie masjien doen, kan ek self iets skryf sonder 'n stuk papier. Duisend vrae wat my geïnteresseer het, opgewonde en terselfdertyd geïnspireer het. Ek was 14 jaar oud. Daardie dag het die beroep my gekies.

Vervolg…

Bron: will.com

Voeg 'n opmerking