Programming karriêre. Haadstik 1. Earste programma

Programming karriêre. Haadstik 1. Earste programmaBêste lêzers fan Habr, ik presintearje jo oandacht in rige berjochten dy't ik yn 'e takomst fan plan bin te kombinearjen yn in boek. Ik woe dûke yn it ferline en fertelle myn ferhaal fan hoe't ik waard in ûntwikkelder en bliuwe te wêzen ien.

Oer de betingsten om yn IT te kommen, it paad fan probearje en flater, sels learen en bernlike naïviteit. Ik sil myn ferhaal begjinne fan 'e iere jeugd en it einigje mei hjoed. Ik hoopje dat dit boek foaral nuttich sil wêze foar dyjingen dy't gewoan studearje foar in IT-spesjaliteit.
En dyjingen dy't al yn IT wurkje, sille wierskynlik parallellen lûke mei har eigen paad.

Yn dit boek fine jo ferwizings nei de literatuer dy't ik haw lêzen, de ûnderfining fan kommunikaasje mei minsken mei wa't ik krúst paden by it studearjen, wurkjen en it starten fan in startup.
Begjinnend fan universitêre leararen oant grutte venture-ynvestearders en eigners fan bedriuwen fan meardere miljoenen dollars.
Fan hjoed de dei leit 3.5 haadstik fan it boek klear, fan in mooglike 8-10. As de earste haadstikken in positive reaksje fan it publyk fine, sil ik it hiele boek publisearje.

Oer mysels

Ik bin net John Carmack, Nikolai Durov of Richard Matthew Stallman. Ik wurke net yn bedriuwen lykas Yandex, VKontakte of Mail.ru.
Hoewol't ik hie ûnderfining wurkjen yn in grutte korporaasje, dêr't ik sil grif fertelle oer. Mar ik tink dat it punt net sasear is yn 'e grutte namme, mar yn' e heule skiednis fan 'e paad om in ûntwikkelder te wurden, en fierder, yn' e oerwinningen en nederlagen dy't barde tidens myn 12-jierrige karriêre yn kommersjele ûntwikkeling. Fansels hawwe guon fan jo folle mear ûnderfining yn IT. Mar ik leau dat de drama's en oerwinningen dy't bard binne yn myn hjoeddeistige karriêre it wurdich binne te beskriuwen. Der wiene in protte eveneminten, en se wiene allegear ferskaat.

Wa bin ik hjoed as ûntwikkelder
- Meidien oan mear as 70 kommersjele projekten, wêrfan hy in protte fanôf skreau
- Yn in tsiental fan ús eigen projekten: iepen boarne, startups
- 12 jier yn IT. 17 jier lyn - skreau it earste programma
- Microsoft meast weardefolle persoan 2016
- Microsoft Certified Professional
- Sertifisearre Scrum Master
- Ik haw in goed kommando fan C # / C ++ / Java / Python / JS
- Salaris - 6000-9000 $ / moanne. ôfhinklik fan load
- Myn wichtichste wurkplak hjoed is de freelance útwikseling Upwork. Dêrtroch wurkje ik foar in bedriuw dat him dwaande hâldt mei NLP/AI/ML. Hat in basis fan 1 miljoen brûkers
- 3 applikaasjes frijlitten yn 'e AppStore en GooglePlay
- Ik meitsje my op om myn eigen IT-bedriuw op te rjochtsjen om it projekt dat ik op it stuit ûntwikkelje

Njonken ûntwikkeling skriuw ik artikels foar populêre blogs, lear ik nije technologyen en sprek ik op konferinsjes. Ik ûntspanne yn 'e fitnessklub en mei myn famylje.

Dat giet nei alle gedachten oer my wat it tema fan it boek oanbelanget. Folgjende is myn ferhaal.

Ferhaal. Start.

Ik learde earst wat in kompjûter is doe't ik 7 jier âld wie. Ik bin krekt begûn mei de earste klasse en yn de keunstklasse krigen wy húswurk om fan karton, foamrubber en viltstiften in kompjûter te meitsjen. Fansels holpen myn âlden my. Mem studearre oan in technyske universiteit yn 'e iere jierren '80 en wist út eigen hannen wat in kompjûter wie. Yn 'e rin fan' e training wist se sels ponskaarten te slaan en se te laden yn 'e gigantyske Sovjet-masine dy't it liuw syn diel fan' e trainingskeamer besette.

Wy hawwe ús húswurk ôfmakke mei in graad 5, om't wy alles mei fleurich dien hawwe. Wy fûnen in dik blêd fan A4 karton. Sirkels waarden knipt út âlde boartersguod út foam rubber, en de brûkersynterface waard tekene mei vilt-tip pennen. Us apparaat hie mar in pear knoppen, mar myn mem en ik hawwe harren de nedige funksjonaliteit tawiisd, en yn 'e les liet ik de learaar sjen hoe't troch op de knop "Aan" te drukken, in gloeilampe soe opljochtsje yn 'e hoeke fan it "skerm, ” wylst tagelyk in reade sirkel tekene mei in viltstift.

Myn folgjende moeting mei kompjûtertechnology barde om deselde leeftyd hinne. Yn it wykein ha ik faak by myn pake en beppe west, dy't op har beurt ferskate rommel ferkochten en ek graach foar pennies kochten. Alde horloazjes, samovars, boilers, badges, swurden fan 13e ieuske krigers en mear. Under al dit ferskaat oan dingen brocht ien him in kompjûter dy't rûn fan in tv en in audiorecorder. Gelokkich hie myn beppe beide. Sowjet-makke, fansels. TV Electron mei acht knoppen om kanalen te feroarjen. En in Vega-bânrecorder mei twa kassetten, dy't sels audiobânnen opnij opnimme koe.
Programming karriêre. Haadstik 1. Earste programma
Sovjet komputer "Poisk" en perifeare apparaten: TV "Electron", bandrecorder "Vega" en audio cassette mei BASIC taal

Wy begûnen út te finen hoe't dit hiele systeem wurket. By de kompjûter sieten in pear audio-kassettes, in tige droegen hânlieding en in oare brosjuere mei de titel "BASIC Programming Language". Nettsjinsteande myn bernetiid besocht ik aktyf mei te dwaan oan it proses fan it ferbinen fan koarden mei de bandrecorder en TV. Dêrnei sette wy ien fan 'e kassetten yn' e fak fan 'e bandrecorder, drukten op de knop "Foarút" (dat wol sizze, start ôfspieljen), en in ûnbegryplike pseudo-grafyk fan tekst en streepkes ferskynde op it tv-skerm.

De kop ienheid sels like op in skriuwmasine, allinnich frij fergulde en fan merkber gewicht. Mei de opwining fan in bern drukte ik op alle toetsen, seach gjin taastbere resultaten, en rûn en gong te kuierjen. Hoewol't ik doe noch in hânboek oer de BASIC-taal foar my hie mei foarbylden fan programma's dy't ik troch myn leeftyd gewoan net oerskriuwe koe.

Ut bernetiid oantinkens, ik wit wis alle gadgets dy't myn âlden kocht foar my, hawwen útwurke mei oare sibben. De earste ratel wie it bekende spul "Wolf Catches Eggs". Ik makke it frij gau ôf, seach de langferwachte tekenfilm oan 'e ein en woe wat mear. Dan wie der Tetris. Op dat stuit wie it wurdich 1,000,000 coupons. Ja, it wie yn 'e Oekraïne yn' e iere jierren '90, en ik krige in miljoen foar myn akademysk súkses. Fertsjinne fiele as in miljonêr, bestelde ik dit komplekser spultsje foar myn âlden, wêr't se figueren fan ferskate foarmen dy't fan boppen falle, korrekt moatte regelje. Op de dei fan oankeap waard Tetris my sûnder kontrôle ôfnommen troch myn âlden, dy't sels twa dagen net kwyt koenen.

Programming karriêre. Haadstik 1. Earste programma
Ferneamde "Wolf Catches Eggs and Tetris"

Doe wiene d'r spultsje konsoles. Us húshâlding wenne yn in lyts hûs, dêr't myn omke en muoike ek yn de neiste keamer wennen. Myn omke wie in militêr piloat, hy gie troch hot spots, dus nettsjinsteande syn beskiedenens wie hy tige fêsthâlden en wie bang foar lyts, nei echte
militêre operaasjes. Krekt as in protte minsken yn 'e jierren '90, myn omke gie yn bedriuw en hie in aardich goed ynkommen. Dus in ymportearre TV, in VCR, en dan in Subor set-top box (analooch oan Dendy) ferskynde yn syn keamer. It naam myn azem fuort te sjen hoe't hy Super Mario, TopGun, Terminator en oare spultsjes spielde. En doe't er my de joystick yn hannen joech, wist myn lok gjin grinzen.

Programming karriêre. Haadstik 1. Earste programma
Acht-bit konsole "Syubor" en de legindaryske "Super Mario"

Ja, lykas alle gewoane bern dy't yn 'e njoggentiger jierren opgroeiden, haw ik de hiele dei yn 't hôf west. Of pioniersbal spylje, of badminton, of beammen klimme yn 'e tún, dêr't in protte ferskillende fruchten groeiden.
Mar dit nije produkt, as jo Mario kinne kontrolearje, oer obstakels springe en de prinsesse rêde, wie in protte kearen ynteressanter as de buff, ladushka en klassikers fan elke bline man. Dêrom, sjoen myn echte belangstelling foar foarheaksels, joech myn âlden my de taak om de multiplikaasjetabel te learen. Dan sille se myn dream ferfolje. Se leare har yn de twadde klasse, en ik krekt klear de earste. Mar, sein en dien.

It wie ûnmooglik om te tinken oan in sterker motivaasje dan it hawwen fan jo eigen spultsje konsole. En binnen in wike beantwurde ik maklik de fragen "sân njoggen", "seis trije" en sa. De test waard trochjûn en se kochten my it begeerde kado. Lykas jo fierder sille leare, spielden konsoles en kompjûterspultsjes in wichtige rol om my ynteressearre te meitsjen foar programmearring.

Sa gie it jier nei jier. De folgjende generaasje spielkonsoles kaam út. Earst Sega 16-bit, dan Panasonic, dan Sony PlayStation. Spultsjes wiene myn fermaak doe't ik wie goed. As der in probleem wie op skoalle of thús, namen se myn joysticks fuort en koe ik fansels net spylje. En fansels, it fangen fan it momint datst werom kaam fan skoalle, en dyn heit wie noch net werom fan it wurk om de tv te besetten, wie ek in soarte fan gelok. Dus it is ûnmooglik om te sizzen dat ik wie in gokken addict of trochbrocht hiele dei spylje games. Der wie gjin sa'n kâns. Ik ha leaver de hiele dei yn 't hôf west, dêr't ik ek wat fine koe
nijsgjirrich. Bygelyks, in folslein wyld spul - loft shootouts. Tsjintwurdich sjochst soks net op binnenpleatsen, mar doe wie it in echte oarloch. Paintball is gewoan bernespul yn ferliking mei it bloedbad dat wy feroarsake hawwe. Der wiene loftballonnen
laden mei dichte plestik kûgels. En nei't er in oare keardel sketten hie, liet hy in kneuzing op 'e helte fan syn earm of mage. Sa wennen wy.

Programming karriêre. Haadstik 1. Earste programma
Toy gun út bernetiid

It soe net mis wêze om de film "Hackers" te neamen. It waard krekt yn 1995 frijlitten, mei de 20-jierrige Angelina Jolie yn 'e haadrol. Om te sizzen dat de film in sterke yndruk op my makke is om neat te sizzen. Ommers, it tinken fan bern sjocht alles op nominale wearde.
En hoe't dizze jonges ferneamd pinautomaten skjinmakken, ferkearsljochten útsette en troch de stêd mei elektrisiteit boarten - foar my wie it magy. Doe kaam de gedachte by my op dat it cool wêze soe om sa almachtig te wurden as de Hackers.
In pear jier letter kocht ik elke útjefte fan it tydskrift Hacker en besocht it Pentagon te hacken, hoewol ik noch gjin ynternet hie.

Programming karriêre. Haadstik 1. Earste programma
Myn helden út 'e film "Hackers"

In echte ûntdekking foar my wie in echte PC, mei in 15-inch lampmonitor en in systeemienheid basearre op in Intel Pentium II-prosessor. Fansels waard it kocht troch syn omke, dy't oan 'e ein fan 'e njoggentiger jierren heech genôch opstien wie om te beteljen
sokke boartersguod. De earste kear dat se in wedstriid foar my oansetten, wie it net al te spannend. Mar op in dei, de dei fan it oardiel kaam, de stjerren aligned en wy kamen te besykjen ús omke, dy't wie net thús. Ik frege:
- Kin ik de kompjûter oansette?
"Ja, doch mei him wat jo wolle," antwurde de leave muoike.

Fansels haw ik mei him dien wat ik woe. D'r wiene ferskate ikoanen op it Windows 98-buroblêd. WinRar, Wurd, FAR, Klondike, spultsjes. Nei it klikken op alle ikoanen, rjochte myn oandacht op FAR Manager. It liket op in ûnbegryplik blau skerm, mar mei in lange list (fan bestannen) dy't kin wurde lansearre. Troch op elk op 'e beurt te klikken, fong ik it effekt fan wat der barde. Guon wurken, guon net. Nei in skoftke realisearre ik dat bestannen dy't einigje op ".exe" de meast ynteressante binne. Se lansearje ferskate koele foto's wêrop jo ek kinne klikke. Dat ik ha nei alle gedachten alle beskikbere exe-bestannen op de kompjûter fan myn omke lansearre, en doe lutsen se my amper oan 'e earen fan it superynteressante boartersguod en namen my nei hûs.

Programming karriêre. Haadstik 1. Earste programma
Deselde FAR Manager

Doe wiene der kompjûterklubs. Myn freon en ik gongen dêr faak om Counter Strike en Quake online te spyljen, wat wy thús net koene. Ik frege myn âlden faak om feroaring, sadat ik in healoere by de klup spylje koe. Seagen myn eagen, lykas de kat fan Shrek, en beaen my noch in lukratyf kontrakt oan. Ik einigje it skoaljier sûnder C-graden, en se keapje my in kompjûter. It kontrakt waard begjin fan it jier, yn septimber, tekene en de begeerde PC soe al yn juny komme moatte, ûnder foarbehâld fan it neilibjen fan de ôfspraken.
Ik besocht myn bêst. Ik ferkocht sels myn leafste Sony Playstation út emoasje om minder ôfliede te wurden fan myn stúdzje. Hoewol't ik wie in so-sa studint, 9e klasse wie wichtich foar my. Bloednoas, ik moast gewoan goede sifers krije.

Al yn 'e maitiid, foarútsjen op de oankeap fan in PC, is wierskynlik it meast wichtige barren yn myn libben bard. Ik besykje foarút te tinken, en sa sei ik op in moaie dei tsjin heit:
- Heit, ik wit net hoe't ik in kompjûter brûke moat. Litte wy ús oanmelde foar kursussen

Net earder sein as dien. Nei't er de krante iepene hie mei advertinsjes, fûn de heit in blokje mei de koptekst "Computerkursussen". Ik belle de leararen en in pear dagen letter siet ik al op dizze kursussen. De kursussen fûnen plak oan 'e oare kant fan' e stêd, yn in âld paniel Chroesjtsjov gebou, op 'e tredde ferdjipping. Yn ien seal stiene trije pc's op in rige, en wa't studearje woe, waarden der eins op traind.

Ik herinner my myn earste les. Windows 98 duorre lang om te laden, doe naam de learaar it wurd:
- Sa. Foardat jo in Windows-buroblêd binne. It befettet programma-ikoanen. Oan de ûnderkant is de Start knop. Unthâld! Alle wurk begjint mei de Start knop. Klikje derop mei de lofter mûsknop.
Hy gie troch.
- Hjir - jo sjogge ynstallearre programma's. Calculator, Notepad, Word, Excel. Jo kinne ek útsette jo kompjûter troch te klikken op de "Shut down" knop. Besykje it.
Uteinlik gie er oer nei it dreger part foar my yn dy tiid.
"Op it buroblêd," sei de learaar, kinne jo ek programma's sjen dy't kinne wurde lansearre troch te dûbelklikken.
- Dûbel!? - Hoe is dit yn 't algemien?
- Litte we it besykje. Start Notepad troch te dûbelklikken mei de lofter mûsknop.

Ja, schaass. It dreechste wie op dat stuit om de mûs op ien plak te hâlden en tagelyk fluch twa kear te klikken. By de twadde klik trille de mûs in bytsje en de fluchtoets derby. Mar dochs wist ik sa'n ûnoerkomlike taak yn de les te oerwinnen.
Dêrnei waard der traind yn Word en Excel. Op in dei lieten se my gewoan troch foto's sjen fan natuer- en boumonuminten. It wie de meast nijsgjirrige aktiviteit yn myn ûnthâld. Folle leuker dan learen hoe't jo tekst opmeitsje yn Word.

Neist myn PC studearren oare studinten. In pear kear kaam ik jonges tsjin dy't programma's skreauden, wylst se heulend oer dit proses besprutsen. Dit ynteressearre my ek. Unthâld de film Hackers en wurch fan MS Office, Ik frege om oerdroegen wurde oan kursussen
programmearring. Lykas alle wichtige barrens yn it libben, dit barde spontaan, út ynteresse.

Ik kaam by myn earste programmearles mei myn mem oan. Ik wit net mear wêrom. Blykber moast se ûnderhannelje foar nije kursussen en beteljen meitsje. It wie maitiid bûten, it wie al tsjuster. Wy reizgen troch de hiele stêd troch minibus-Gazelle nei de râne, berikte de beruchte
paniel Chroesjtsjov, gie op 'e flier en liet ús yn.
Se sieten my by de einkomputer en iepene in programma mei in folslein blau skerm en giele letters.
- Dit is Turbo Pascal. De learaar joech kommentaar oer syn aksje.
- Sjoch, hjir haw ik dokumintaasje skreaun oer hoe't it wurket. Lês it en besjoch it.
Foar my siet in doek fan giele, absolút ûnbegryplike tekst. Ik besocht wat foar mysels út te finen, mar ik koe net. Sineeske grammatika en dat is it.
Uteinlik joech de kursuslieder my nei ferrin fan tiid in printe A4-papier. Dêr stie wat nuver op skreaun, dat ik earder op de monitors fan de jonges fan programmearkursussen sjoen hie.
- Herskriuwe wat hjir skreaun is. De learaar befel en gie fuort.
Ik begon te skriuwen:
programma Summa;

Ik skreau, tagelyk socht nei Ingelske letters op it toetseboerd. Yn Word haw ik yn elts gefal in Russysk traind, mar hjir moat ik oare letters leare. It programma waard mei ien finger typt, mar tige foarsichtich.
begjinne, ein, var, integer - Wat is dit? Hoewol't ik fan 'e earste klasse ôf Ingelsk studearre en de betsjutting fan in protte wurden wist, koe ik it net allegear meiinoar ferbine. As in trained bear op in fyts ried ik fierder. Einliks wat bekend:
writeln('Fier earste nûmer yn');
Dan - writeln('Fier twadde nûmer yn');
Dan - writeln('Result = ',c);
Programming karriêre. Haadstik 1. Earste programma
Dat alderearste Turbo Pascal-programma

Pff, ik haw it skreaun. Ik naam myn hannen fan it toetseboerd en wachte oant de guru ferskynde foar fierdere ynstruksjes. Uteinlik kaam er oer, scande it skerm en fertelde my om op de F9-kaai te drukken.
"No is it programma kompilearre en kontrolearre op flaters," sei de guru
Der wiene gjin flaters. Doe sei er om op Ctrl+F9 te drukken, wat ik ek foar it earst stap foar stap útlizze moast. Wat jo hoege te dwaan is Ctrl te hâlden, druk dan op F9. It skerm waard swart en der ferskynde úteinlik in berjocht dat ik begriep: "Fier it earste nûmer yn."
Op befel fan de juf ha ik 7 ynfierd. Doe it twadde nûmer. Ik ynfiere 3 en druk op Enter.

De rigel 'Resultaat = 10' ferskynt op it skerm mei bliksemsnelheid. It wie eufory en ik hie noch noait earder yn myn libben meimakke. It wie as iepene it hiele Universum foar my en ik fûn mysels yn in soarte fan portal. Waarmte gie troch myn lichem, in glimke ferskynde op myn gesicht, en earne heul djip yn it ûnderbewuste besefte ik - dat dit fan my is. Hiel yntuïtyf, op emosjoneel nivo, begon ik it enoarme potensjeel te fielen yn dizze brûzjende doaze ûnder de tafel. D'r binne safolle dingen dy't jo mei jo eigen hannen dwaan kinne, en se sil it dwaan!
Dat dit in soarte fan magy is. It gie folslein boppe myn begryp hoe't dy giele, ûnbegryplike tekst op in blau skerm feroare yn in handich en begryplik programma. Wat sels ek telt! Wat my fernuvere wie net de berekkening sels, mar it feit dat de skreaune hiëroglyfen feroare yn in rekkenmasine. Der wie in gat tusken dizze twa eveneminten yn dy tiid. Mar yntuïtyf fielde ik dat dit stik hardware hast alles koe dwaan.

Hast de hiele wei nei hûs yn 'e minibus fielde ik dat ik yn 'e romte wie. Dizze foto mei de opskrift "Resultaat" draaide my yn 'e holle, hoe kaam it, wat kin dizze masine noch, kin ik sels wat skriuwe sûnder in stikje papier. Tûzen fragen dy't my ynteressearre, optein en ynspirearre my tagelyk. Ik wie 14 jier âld. Dy deis keas it berop my.

Oanhâlde wurde ...

Boarne: www.habr.com

Add a comment