Programa kariero. Ĉapitro 1. Unua programo

Programa kariero. Ĉapitro 1. Unua programoKaraj legantoj de Habr, mi prezentas al via atento serion da afiŝoj, kiujn estonte mi planas kombini en libron. Mi volis enprofundiĝi en la pasintecon kaj rakonti mian historion pri kiel mi fariĝis programisto kaj daŭre estas tia.

Pri la antaŭkondiĉoj por eniri IT, la vojo de provo kaj eraro, memlernado kaj infana naiveco. Mi komencos mian rakonton de frua infanaĝo kaj finos ĝin per hodiaŭ. Mi esperas, ke ĉi tiu libro estos speciale utila por tiuj, kiuj nur studas por IT-fako.
Kaj tiuj, kiuj jam laboras en IT, verŝajne faros paralelojn kun sia propra vojo.

En ĉi tiu libro vi trovos referencojn al la literaturo, kiun mi legis, la sperton komuniki kun homoj, kun kiuj mi interkruciĝis dum studado, laboro kaj lanĉo de starto.
Komencante de universitataj instruistoj ĝis grandaj investinvestoj kaj posedantoj de multmilionaj dolaraj kompanioj.
Ĝis hodiaŭ, 3.5 ĉapitroj de la libro estas pretaj, el eblaj 8-10. Se la unuaj ĉapitroj trovos pozitivan respondon de la publiko, mi publikigos la tutan libron.

Pri mi

Mi ne estas John Carmack, Nikolaj Durov aŭ Richard Matthew Stallman. Mi ne laboris en kompanioj kiel Yandex, VKontakte aŭ Mail.ru.
Kvankam mi havis sperton laboranta en granda korporacio, pri kiu mi certe rakontos al vi. Sed mi pensas, ke la punkto estas ne tiom en la granda nomo, sed en la historio mem de la vojo al iĝi programisto, kaj plue, en la venkoj kaj malvenkoj kiuj okazis dum mia 12-jara kariero en komerca evoluo. Kompreneble, iuj el vi havas multe pli da sperto pri IT. Sed mi kredas, ke la dramoj kaj venkoj, kiuj okazis dum mia nuna kariero, estas priskribeblaj. Okazis multaj eventoj, kaj ĉiuj estis diversaj.

Kiu mi estas hodiaŭ kiel programisto
— Partoprenis pli ol 70 komercajn projektojn, multajn el kiuj li verkis de nulo
— En dekduo da niaj propraj projektoj: malfermfonte, noventreprenoj
— 12 jaroj en IT. Antaŭ 17 jaroj - skribis la unuan programon
- Microsoft Plej Valora Persono 2016
— Microsoft Certified Professional
— Atestita Scrum Master
— Mi bone regas C#/C++/Java/Python/JS
— Salajro — 6000-9000 $/monato. depende de ŝarĝo
— Mia ĉefa laborloko hodiaŭ estas la sendependa interŝanĝo Upwork. Per ĝi mi laboras por firmao kiu traktas NLP/AI/ML. Havas bazon de 1 miliono da uzantoj
— Liberigis 3 aplikojn en la AppStore kaj GooglePlay
— Mi prepariĝas fondi mian propran IT-kompanion ĉirkaŭ la projekto, kiun mi nuntempe disvolvas

Krom disvolviĝo, mi skribas artikolojn por popularaj blogoj, instruas novajn teknologiojn, kaj parolas en konferencoj. Mi malstreĉiĝas en la sportklubo kaj kun mia familio.

Tio verŝajne temas pri mi koncerne la temon de la libro. Sekva estas mia rakonto.

Rakonto. Komencu.

Mi unue lernis kio estas komputilo kiam mi estis 7-jara. Mi ĵus komencis la unuan klason kaj en arta klaso oni donis al ni hejmtaskon por fari komputilon el kartono, ŝaŭmkaŭĉuko kaj pentkrajonoj. Kompreneble miaj gepatroj helpis min. Panjo studis en teknika universitato komence de la 80-aj jaroj kaj propramane sciis, kio estas komputilo. Dum la trejnado, ŝi eĉ sukcesis trui stampilkartojn kaj ŝarĝi ilin en la gigantan sovetian maŝinon kiu okupis la plej grandan parton de la trejnejo.

Ni kompletigis nian hejmtaskon kun noto 5 ĉar ni faris ĉion diligente. Ni trovis dikan folion de kartono A4. Cirkloj estis eltranĉitaj el malnovaj ludiloj el ŝaŭmkaŭĉuko, kaj la uzantinterfaco estis desegnita per feltpintoj. Nia aparato havis nur kelkajn butonojn, sed mia patrino kaj mi asignis al ili la necesajn funkciojn, kaj dum la leciono mi montris al la instruisto, kiel premante la butonon "On", ampolo lumiĝas en la angulo de la "ekrano," ” dum samtempe desegnante ruĝan cirklon per feltpinto.

Mia venonta renkonto kun komputila teknologio okazis ĉirkaŭ la sama aĝo. En semajnfinoj mi ofte vizitis miajn geavojn, kiuj siavice vendis diversajn rubaĵojn kaj ankaŭ volonte aĉetis ĝin kontraŭ moneroj. Malnovaj horloĝoj, samovaroj, vaporkaldronoj, insignoj, glavoj de militistoj de la 13-a jarcento kaj pli. Inter ĉiuj ĉi diversaj aferoj, iu alportis al li komputilon, kiu funkciis de televidilo kaj sonregistrilo. Feliĉe, mia avino havis ambaŭ. Sovetiite, kompreneble. TV Electron kun ok butonoj por ŝanĝi kanalojn. Kaj Vega dukaseda magnetofono, kiu eĉ povus reregistri sonbendojn.
Programa kariero. Ĉapitro 1. Unua programo
Sovetia komputilo "Poisk" kaj ekstercentraj: televidilo "Electron", magnetofono "Vega" kaj sonkasedo kun BASIC-lingvo

Ni komencis eltrovi kiel ĉi tiu tuta sistemo funkcias. Inkluditaj kun la komputilo estis paro da sonkasedoj, tre eluzita instrukciomanlibro kaj alia broŝuro kun la titolo "BAZA Programlingvo". Malgraŭ mia infanaĝo, mi provis aktive partopreni en la procezo de konekto de ŝnuroj al la magnetofono kaj televido. Poste ni enigis unu el la kasedoj en la kupeon de magnetofono, premis la butonon "Antaŭen" (t.e., komenci reproduktadon), kaj sur la televida ekrano aperis nekomprenebla pseŭdografiko de teksto kaj strekoj.

La ĉefunuo mem aspektis kiel skribmaŝino, nur sufiĉe flaviĝinta kaj de rimarkebla pezo. Kun la ekscito de infano, mi premis ĉiujn klavojn, ne vidis palpeblajn rezultojn, kaj kuris kaj iris promeni. Kvankam eĉ tiam mi havis antaŭ mi manlibron pri la BASIC-lingvo kun ekzemploj de programoj kiujn, pro mia aĝo, mi simple ne povis reverki.

De infanaj memoroj, mi certe memoras ĉiujn aparatojn, kiujn miaj gepatroj aĉetis por mi, laborinte kun aliaj parencoj. La unua sonilo estis la konata ludo "Lupo Kaptas Ovojn". Mi finis ĝin sufiĉe rapide, vidis la longe atenditan bildstrion ĉe la fino kaj volis ion pli. Tiam estis Tetriso. Tiutempe ĝi valoris 1,000,000 kuponojn. Jes, ĝi estis en Ukrainio komence de la 90-aj jaroj, kaj mi ricevis milionon por mia akademia sukceso. Merite sentante min kiel milionulo, mi mendis ĉi tiun pli kompleksan ludon por miaj gepatroj, kie ili devis ĝuste aranĝi figurojn de malsamaj formoj falantaj de supre. En la tago de aĉeto, Tetriso estis neregeble forprenita de mi de miaj gepatroj, kiuj mem ne povis forigi ĝin dum du tagoj.

Programa kariero. Ĉapitro 1. Unua programo
Fama "Lupo Kaptas Ovojn kaj Tetrison"

Tiam estis ludkonzoloj. Nia familio loĝis en dometo, kie ankaŭ mia onklo kaj onklino loĝis en la apuda ĉambro. Mia onklo estis militisto, li trapasis varmajn punktojn, do malgraŭ sia modesteco li estis tre tena kaj timis malmulte, post veraj
militaj operacioj. Same kiel multaj homoj en la 90-aj jaroj, mia onklo ekentreprenis kaj havis sufiĉe bonan enspezon. Do en lia ĉambro aperis enportita televidilo, VCR kaj poste dekodilo Subor (analoga al Dendy). Senspiris min vidante lin ludi Super Marion, TopGun, Terminator kaj aliajn ludojn. Kaj kiam li transdonis la stirstangon en miajn manojn, mia feliĉo ne konis limojn.

Programa kariero. Ĉapitro 1. Unua programo
Ok-bita konzolo "Syubor" kaj la legenda "Super Mario"

Jes, kiel ĉiuj ordinaraj infanoj, kiuj kreskis en la naŭdekaj jaroj, mi pasigis la tutan tagon en la korto. Aŭ ludante pionirpilkon, aŭ badmintonon, aŭ grimpante arbojn en la ĝardeno, kie kreskis multaj diversaj fruktoj.
Sed ĉi tiu nova produkto, kiam vi povas kontroli Mario'n, transsalti obstaklojn kaj savi la princinon, estis multfoje pli interesa ol blindulo, ladushka kaj klasikaĵo de iu ajn blindulo. Tial, vidante mian veran intereson pri prefiksoj, miaj gepatroj donis al mi la taskon lerni la multiplikan tabelon. Tiam ili plenumos mian revon. Ili instruas ŝin en la dua klaso, kaj mi ĵus finis la unuan. Sed, dirita kaj farita.

Estis neeble pensi pri pli forta instigo ol havi vian propran ludkonzolon. Kaj ene de unu semajno mi facile respondis la demandojn "sep naŭ", "ses tri" kaj simile. La testo estis trapasita kaj ili aĉetis al mi la aviditan donacon. Kiel vi lernos plu, konzoloj kaj komputilaj ludoj ludis gravan rolon por interesi min pri programado.

Jen kiel ĝi iris jaron post jaro. La sekva generacio de ludkonzoloj estis aperintaj. Unue Sega 16-bita, tiam Panasonic, tiam Sony PlayStation. Ludoj estis mia distro kiam mi estis bona. Kiam estis ia problemo en la lernejo aŭ hejme, ili forprenis miajn stirstangojn kaj, kompreneble, mi ne povis ludi. Kaj kompreneble, kapti la momenton, kiam vi revenis de la lernejo, kaj via patro ankoraŭ ne revenis de la laboro por okupi la televidilon, estis ankaŭ ia sorto. Do estas neeble diri, ke mi estis hazardludo aŭ pasigis la tutan tagon ludante. Tia ŝanco ne estis. Mi prefere pasigis la tutan tagon en la korto, kie mi ankaŭ povis trovi ion
interesaj. Ekzemple, tute sovaĝa ludo - aerpafadoj. Nuntempe oni ne vidos ion tian en kortoj, sed tiam ĝi estis vera milito. Paintball estas nur infanludo kompare kun la buĉado, kiun ni kaŭzis. Estis aerbalonoj
ŝarĝita per densaj plastaj kugloj. Kaj pafinte alian ulon tute tute, li lasis kontuzon sur duono de sia brako aŭ stomako. Tiel ni vivis.

Programa kariero. Ĉapitro 1. Unua programo
Ludila pafilo de infanaĝo

Ne estus malbone mencii la filmon "Hackers". Ĝi estis liberigita ĵus en 1995, ĉefroligante 20-jaraĝan Angelina Jolie. Diri ke la filmo faris fortan impreson al mi estas diri nenion. Post ĉio, infana pensado perceptas ĉion laŭvalora.
Kaj kiel ĉi tiuj uloj fame purigis bankaŭtomatojn, malŝaltis trafiklumojn kaj ludis per elektro en la tuta urbo - por mi ĝi estis magio. Tiam venis al mi la penso, ke estus mojose fariĝi tiel ĉiopova kiel la Hakistoj.
Kelkajn jarojn poste, mi aĉetis ĉiun numeron de la revuo Hacker kaj provis haki la Pentagonon, kvankam mi ankoraŭ ne havis la Interreton.

Programa kariero. Ĉapitro 1. Unua programo
Miaj herooj de la filmo "Hackers"

Vera malkovro por mi estis vera komputilo, kun 15-cola lampa monitoro kaj sistemunuo bazita sur procesoro Intel Pentium II. Kompreneble, ĝi estis aĉetita de lia onklo, kiu fine de la naŭdekaj sufiĉe altiĝis por pagi.
tiaj ludiloj. La unuan fojon ili ŝaltis ludon por mi, ĝi ne estis tro ekscita. Sed unu tagon, venis la tago de la juĝo, la steloj viciĝis kaj ni venis viziti nian onklon, kiu ne estis hejme. Mi demandis:
— Ĉu mi povas ŝalti la komputilon?
“Jes, faru kun li kion ajn vi volas,” respondis la amanta onklino.

Kompreneble, mi faris tion, kion mi volis kun li. Estis malsamaj ikonoj sur la Vindoza 98-labortablo. WinRar, Word, FAR, Klondike, ludoj. Post klakado sur ĉiuj ikonoj, mia atento koncentriĝis sur FAR Manager. Ĝi aspektas kiel nekomprenebla blua ekrano, sed kun longa listo (de dosieroj) lanĉebla. Klakante ĉiun laŭvice, mi kaptis la efikon de tio, kio okazis. Iuj funkciis, kelkaj ne. Post iom da tempo, mi konstatis, ke dosieroj, kiuj finiĝas per ".exe" estas la plej interesaj. Ili lanĉas malsamajn bonegajn bildojn, kiujn vi ankaŭ povas alklaki. Do mi verŝajne lanĉis ĉiujn disponeblajn exe dosierojn en la komputilo de mia onklo, kaj tiam ili apenaŭ tiris min je la oreloj de la superinteresa ludilo kaj prenis min hejmen.

Programa kariero. Ĉapitro 1. Unua programo
La sama FAR Manager

Tiam estis komputilaj kluboj. Mia amiko kaj mi ofte iris tien por ludi Counter Strike kaj Quake interrete, kion ni ne povis fari hejme. Mi ofte petis ŝanĝojn de miaj gepatroj, por ke mi povu ludi en la klubo duonhoron. Vidante miajn okulojn, kiel la kato el Shrek, ili proponis al mi alian enspezigan kontrakton. Mi finas la lernejan jaron sen C-gradoj, kaj ili aĉetas al mi komputilon. La kontrakto estis subskribita komence de la jaro, en septembro, kaj la avidita komputilo devis alveni jam en junio, kondiĉe de plenumo de la interkonsentoj.
Mi provis mian plejeblon. Mi eĉ vendis mian amatan Sony Playstation pro emocio por esti malpli distrita de miaj studoj. Kvankam mi estis tiel tiel studento, 9-a klaso estis signifa por mi. Sanga nazo, mi nur devis akiri bonajn notojn.

Jam printempe, antaŭvidante la aĉeton de komputilo, probable okazis la plej grava evento en mia vivo. Mi provas antaŭpensi, kaj do iun belan tagon mi diris al mia patro:
- Paĉjo, mi ne scias kiel uzi komputilon. Ni aliĝu al kursoj

Ne pli frue dirite ol farite. Malferminte la gazeton kun reklamoj, la patro trovis blokon skribitan en eta litero kun la titolo "Komputilkursoj". Mi vokis la instruistojn kaj kelkajn tagojn poste mi jam estis en ĉi tiuj kursoj. La kursoj okazis aliflanke de la urbo, en malnova panela konstruaĵo Ĥruŝĉov, en la tria etaĝo. En unu ĉambro estis tri komputiloj en vico, kaj tiuj kiuj volis studi estis efektive trejnitaj pri ili.

Mi memoras mian unuan lecionon. Vindozo 98 bezonis longan tempon por ŝargi, tiam la instruisto prenis la parolon:
- Do. Antaŭ vi estas Vindoza labortablo. Ĝi enhavas programajn ikonojn. Malsupre estas la butono Komenco. Memoru! Ĉiu laboro komenciĝas per la butono Komenco. Klaku ĝin per la maldekstra musbutono.
Li daŭrigis.
- Ĉi tie - vi vidas instalitajn programojn. Kalkulilo, Notepad, Word, Excel. Vi ankaŭ povas malŝalti vian komputilon alklakante la butonon "Malŝalti". Provu ĝin.
Fine li transiris al la pli malfacila parto por mi tiutempe.
"Sur la labortablo," diris la instruisto, vi ankaŭ povas vidi programojn, kiuj povas esti lanĉitaj per duobla klako.
- Duoble!? - Kiel ĉi tio ĝenerale estas?
- Ni provu. Lanĉu Notepad per duobla klako sur ĝi per la maldekstra musbutono.

Jes, schaass. La plej malfacila en tiu momento estis teni la muson en unu loko kaj samtempe rapide klaki dufoje. Je la dua klako, la muso iomete ekmovis kaj la ŝparvojo kune kun ĝi. Sed tamen, mi sukcesis venki tian nesupereblan taskon dum la leciono.
Poste estis trejnado en Word kaj Excel. Iun tagon, ili simple lasis min trarigardi bildojn de naturo kaj arkitekturaj monumentoj. Ĝi estis la plej interesa agado en mia memoro. Multe pli amuza ol lerni kiel formati tekston en Word.

Apud mia komputilo, aliaj studentoj studis. Kelkajn fojojn mi renkontis ulojn kiuj verkis programojn, dum varme diskutante ĉi tiun procezon. Ĉi tio ankaŭ interesis min. Memorante la filmon Hackers kaj laciĝinte de MS Office, mi petis esti translokigita al kursoj
programado. Kiel ĉiuj signifaj eventoj en la vivo, tio okazis spontanee, pro intereso.

Mi alvenis al mia unua programa leciono kun mia patrino. Mi ne memoras kial. Ŝajne ŝi devis negoci por novaj kursoj kaj pagi. Ekstere estis printempo, estis jam mallume. Ni veturis tra la tuta urbo per mikrobuso-Gazelo al la periferio, atingis la fifaman
panelo Ĥruŝĉov, supreniris al la planko kaj enlasis nin.
Ili sidigis min ĉe la fina komputilo kaj malfermis programon kun tute blua ekrano kaj flavaj literoj.
- Ĉi tio estas Turbo Pascal. La instruisto komentis sian agon.
- Rigardu, ĉi tie mi skribis dokumentadon pri kiel ĝi funkcias. Legu ĝin kaj rigardu.
Antaŭ mi estis kanvaso el flava, absolute nekomprenebla teksto. Mi provis eltrovi ion por mi mem, sed mi ne povis. Ĉina gramatiko kaj jen.
Fine, post iom da tempo, la kursgvidanto transdonis al mi presitan A4-pecon. Sur ĝi estis skribita ia strangaĵo, kiun mi antaŭe ekvidis sur la ekranoj de la uloj de programaj kursoj.
- Reskribi tion, kio estas skribita ĉi tie. La instruisto ordonis kaj foriris.
Mi komencis skribi:
programo Summa;

Mi skribis, samtempe serĉante anglajn literojn sur la klavaro. En Vorto, almenaŭ mi trejniĝis en la rusa, sed ĉi tie mi devas lerni aliajn literojn. La programo estis tajpita per unu fingro, sed tre zorge.
komenci, fini, var, entjero - Kio estas ĉi tio? Kvankam mi studis la anglan ekde la unua klaso kaj sciis la signifon de multaj vortoj, mi ne povis kunligi ĉion. Kiel edukita urso sur biciklo, mi daŭre pedalis. Fine io konata:
writeln('Enigu la unuan numeron');
Tiam - writeln('Enigu la duan numeron');
Tiam - writeln('Rezulto = ',c);
Programa kariero. Ĉapitro 1. Unua programo
Tiu plej unua Turbo Pascal-programo

Huf, mi skribis ĝin. Mi deprenis miajn manojn de la klavaro kaj atendis, ke la guruo aperos por pliaj instrukcioj. Fine li venis, skanis la ekranon kaj diris al mi, ke mi premu la F9-klavon.
"Nun la programo estas kompilita kaj kontrolita por eraroj," diris la guruo
Ne estis eraroj. Tiam li diris, ke oni premu Ctrl+F9, kion mi ankaŭ devis klarigi paŝon post paŝo unuafoje. Kion vi devas fari estas teni Ctrl, tiam premu F9. La ekrano nigriĝis kaj fine aperis sur ĝi mesaĝo, kiun mi komprenis: "Enigu la unuan numeron."
Laŭ ordono de la instruisto, mi enigis 7. Poste la duan numeron. Mi enigas 3 kaj premas Enen.

La linio 'Rezulto = 10' aperas sur la ekrano kun fulmorapido. Estis eŭforio kaj mi neniam antaŭe spertis ion tian en mia vivo. Estis kvazaŭ la tuta Universo malfermiĝis antaŭ mi kaj mi troviĝis en ia portalo. Varmo trapasis mian korpon, rideto aperis sur mia vizaĝo, kaj ie tre profunde en la subkonscio mi konstatis - ke ĉi tio estas mia. Tre intuicie, sur emocia nivelo, mi komencis senti la grandegan potencialon en ĉi tiu zumanta skatolo sub la tablo. Estas tiom da aferoj, kiujn vi povas fari per viaj propraj manoj, kaj ŝi faros ĝin!
Ke ĉi tio estas ia magio. Estis tute preter mia kompreno, kiel tiu flava, nekomprenebla teksto sur blua ekrano fariĝis oportuna kaj komprenebla programo. Kiu ankaŭ kalkulas sin! Kio surprizis min ne estis la kalkulo mem, sed la fakto, ke la skribitaj hieroglifoj fariĝis kalkulilo. Ekzistis interspaco inter tiuj du okazaĵoj en tiu tempo. Sed intuicie mi sentis, ke ĉi tiu aparataro povus fari preskaŭ ĉion.

Preskaŭ la tutan vojon hejmen en la mikrobuso, mi sentis, ke mi estas en la spaco. Ĉi tiu bildo kun la surskribo "Rezulto" turniĝis en mia kapo, kiel ĝi okazis, kion alian povas fari ĉi tiu maŝino, ĉu mi povas skribi ion mem sen papero. Mil demandoj kiuj interesis min, ekscitis kaj inspiris min samtempe. Mi estis 14-jara. Tiutage la profesio elektis min.

Daŭrigota…

fonto: www.habr.com

Aldoni komenton