Mööda programmeerija teed Aleksei Kapranoviga. Yandexist Londonisse

Läänes töötamine meelitab ligi paljusid meie kaasmaalasi, kes omavad erialaseid teadmisi programmeerimise vallas ja soovivad realiseerida oma potentsiaali Euroopas või Põhja-Ameerika. Mäletan, et kunagi läks nende ridade autor õpilasvahetusprogrammi raames kaheks aastaks välismaale õppima. Kui mul oleks olnud võimalus rääkida inimestega, kes olid seal juba enne mind õppinud, oleks kohanemine olnud palju lihtsam. Ja küsimus, kas lahkuda või mitte, tekitaks vähem kahtlusi. Seetõttu esitame täna küsimused Andrey Shulinskyle, mehele, kes töötas Venemaal programmeerijana ja lahkus Kanadasse Torontosse, et seal oma tööd jätkata. ametialane tegevus...

Intervjuu

Aleksei Perevertailov: Õnneks tunneme teid isiklikult, läheme kohe üle "sina" ja vähem formaalsele vestlusvormingule. Esimene küsimus on, millal te Venemaalt lahkusite ja mis olid sellise üldiselt tõsise sammu ajendiks, mis paljude jaoks nõuab palju mõtlemist?


Andrei Šulinski: Minu lahkumine on üsna Pikk lugu. Otsus tehti pärast kurikuulsat 1998. aasta panganduskriisi. Mitmel põhjusel võttis immigratsiooniprotsess kaua aega, läbisin intervjuu 2001. aasta novembris ja viisa sain 2002. aasta detsembris. See hakkas järgmise aasta veebruaris läbi saama, seega läksin kohe paariks nädalaks Kanadasse ja registreerisin end seal Vajalikud dokumendid ja naasis Moskvasse. Lõpuks kolis ta uuele kodumaale 2003. aasta oktoobris.
Miks ma oma keskkonda muutsin? Midagi uut ma ilmselt ei ütle. Lootes parematele professionaalsetele väljavaadetele. Paljud funktsioonid mulle alati väga ei meeldinud Vene elu: igapäevane ebaviisakus, mustus, ebastabiilsus. Mainitud kriis oli väga tugeva löögiga, ilusad illusioonid purunesid... Samuti armastan väga reisida, mida on Kanada passiga palju lihtsam teha.


Aleksei Perevertailov: Kas teil õnnestus kohe töökoht leida? Milliseid pakkumisi kaalusite ja millised nõuded taotlejatele esitati?

Andrei Šulinski: Sain oma esimese lepingu 2003. aasta novembris. Mu sõber aitas. Projekt oli väike, kuid üsna huvitav ja aitas palju nii psühholoogiliselt kui ka tööalaselt. “Sirutasin lihaseid” enne tõsisemat tööd, mis mind 2004. aasta jaanuari lõpus leidis.
Nõuded, välja arvatud kurikuulus Põhja-Ameerika kogemus, on üsna tavalised - lühidalt öeldes "teadmised teemast". :-) Kahjuks ei meeldi paljudele ettevõtetele ja värbajatele väga hiljuti saabunutega koostööd teha, samas kui teised, vastupidi, kasutavad ära uute väljarändajate valmisolekut mis tahes tingimustega nõustuda. Ma ei ütle, et see on laialt levinud tava, kuid see pole nii haruldane.
See tass läks minu jaoks läbi, kuigi olin juba valmis dokumente skaneerima. Üldiselt olen ma end alati ette valmistanud selleks, et see ei saa kerge olema ja võib-olla pean tegema midagi, mis pole mu lemmik. Esitasin oma CV kõikidele ametikohtadele, mille puhul see oli vähemalt mingil määral asjakohane.


Aleksei Perevertailov: Mis valdkonna programmeerija sa oled? Millised diplomid ja tunnistused teil on?

Andrei Šulinski: Olen tüüpiline üldrakenduse programmeerija/analüütik/arhitekt. Ta on lõpetanud Moskva Riikliku Ülikooli arvutusmatemaatika ja arvutiteaduse süsteemiprogrammeerimise osakonna, kuid oma elus pole ta kirjutanud ühtegi rida “süsteemi” koodi. :-) Varem kirjutasin C++ keeles, aga läksin paar aastat tagasi Javale üle. Töötasin pikka aega pangandussektoris, siis oli paar telekommunikatsiooniprojekti. Kanadas tegin esmalt dokumentide säilitamise ja töötlemise süsteemi kõlava nimega Arnold turundusettevõttele. Nüüd töötan ettevõttes Novator, luues mootori Java versiooni veebijaemüügiga tegelevate saitide jaoks.
Mul on ainult üks diplom. Saadud 1996. aastal Moskva arvutusmatemaatika ja küberneetika teaduskonnast riigiülikool. Enne lahkumist sooritasin Sun Certified Java Programmer, 1.4 eksami. Plaanisin saada ka ülejäänud tunnistused sellel real, aga töötan palju ega leia selleks aega.



Aleksei Perevertailov: Kas saate üldiselt öelda, millised programmeerimiskeeled ja millised programmeerijad on nüüd välismaal ja maailmas üldiselt nõutud?

Andrei Šulinski: Esiteks .NET ja J2EE. Mida sa kuulda ootasid? ;) Mõnikord on vaja - ja isegi väga - kitsaid spetsialiste, kes teavad mingit "keerulist" SAP-i. Kuid loomulikult on suurem osa programmeerijatest ja teistest kõrgematest arendajatest "javististid" ja "punktvõrgud". :-)


Aleksei Perevertailov: Öelge omast kogemusest – kas programmeerijate vahel on ettevõtte sees konkurents? Kas on mingeid rangeid ja kiireid reegleid? Miks nad võivad vallandada? Kas on olemas a karjääri? Kas ületunde tehakse ja kui jah, siis kuidas seda tasutakse? Töötasite Venemaal programmeerijana, saate võrrelda, seega on küsimus: milliseid erinevusi olete märganud kodu- ja välisriikide kutsenõuetes ja tööprotsessi korralduses? Kas teil oli raske leida vastastikune keel projektijuhiga?


Andrei Šulinski: Nendes ettevõtetes, kus mul oli võimalus töötada, puudus ilmselge konkurents aka “sotsiaalne konkurents”. :-) Aga samas kehtib lihtne seadus: kui teed hästi tööd, siis nad märkavad ja hindavad seda. Vähemalt minuga oli nii. Ja palka tõsteti ja rohkemgi veel huvitav töö usaldatud.
Muidugi võivad nad sind vallandada. Põhimõtteliselt on see tingitud ettevõtte probleemidest (vähendamine) või selgest lahknevusest inimese võimete ja ametikoha vahel. Paljudele ei meeldi katseaeg võib olla kasulik. Nii et ärge liialdage oma intervjuuvõimalustega liiga palju. Esineb ka töötaja ebaseadusliku tegevuse tõttu vallandamise juhtumeid.
Mis puutub karmide reeglite teemasse - te ei tohiks oma tööarvuti kõvakettale salvestada gigabaiti lapspornot - võite karistada. Kõik lepingud sisaldavad enam-vähem tüüpklausleid teabe mitteavaldamise kohta, ettevõtte intellektuaalseid õigusi teie koodile (kahtlane vara, IMHO :-)). Sageli on keelatud liikuda samas valdkonnas tegutsevatesse ettevõtetesse või kõrvalt lisaraha teenida. Sellise paranoia aste sõltub paljudest teguritest. Suured pangad ja teised “lahedad” ettevõtted sunnivad inimesi 8-lehelistele nimekirjadele alla kirjutama. Kuid sama asi on ka Venemaal, lihtsalt siin, ma arvan, jälgitakse nende tingimuste täitmist mõnevõrra rangemalt.
Kutsenõuded Torontos ja Moskvas on samad. Ma kahtlustan, et need langevad kokku Londoni ja Tokyo ettevõtete nõuetega ning on lähedased Pariisi nõudmistele. Erinevus seisneb selles, et Prantsusmaal võib vaja minna prantsuse keelt. Saab, aga ei tohiks – rääkisin värbajatega, kes värbasid inimesi Lyonis asuvasse ettevõttesse tööle. Tunnistasin ausalt, et ma ei tea prantsuse keel isegi sõnaraamatuga. "Oh, kõik paberid on inglise keeles," oli minu vastus. :-)
Tööprotsessi korraldus sõltub väga palju projekti juhtivatest inimestest. Kui nad sättivad asjad juba eos hästi paika ja ei lase projektil ka hädaajal sassi minna, siis läheb töö päris libedalt. Muidu - tavaline segadus. Kallid lugejad, olete ilmselt juba aimanud, mis sagedamini juhtub. :-)
Projektijuhtidega pole seni probleeme olnud. Olen inimestega alati kergesti ühise keele leidnud – nii Venemaal kui ka Kanadas. Tõenäoliselt märkasite, kui tihti ma kordan sõnu "sama", "sama", "vahet pole". Tõepoolest, ma avastasin, et venelased ja kanadalased ei erine üksteisest nii palju, kui tavaliselt arvatakse. Muidugi on tõlkimisraskusi. Aga nagu ühes imelises filmis, nemad enamjaolt on seotud inimeste individuaalsete omadustega, mitte "tsivilisatsiooniliste" erinevustega. Nii sain selle "IMHO". :-)


Aleksei Perevertailov: Programmeerijad Kanadas - kõrgelt tasustatud elukutse teiste suhtes? Kui võrrelda seda suhet Venemaaga, siis kus on parem programmeerijana töötada (rahalise kasu mõttes)?

Andrei Šulinski: Jah, palgad on ikka üle keskmise. Konkurents on muutunud suuremaks, kuid palk on endiselt hea. See on siiski vaid subjektiivne arvamus ja olen Kanadas olnud vähem kui kaks aastat. :-)


Aleksei Perevertailov: Kus on teie arvates lihtsam oma professionaalne tase- kodus või välismaal? Kas see üldiselt oleneb kuidagi riigist (või pigem konkreetsest inimesest)?

Andrei Šulinski: Minu arvamus on eelkõige inimeselt. Kes otsib, see leiab alati kasulikke raamatuid, ajakirjad, foorumid ja muidugi need, kellega saab erialastel teemadel suhelda. Muidugi eeldan, et töötate riigis, kus IT-tööstus on hästi arenenud.


Aleksei Perevertailov: Milliseid tööriistu kasutate (arenduskeskkonnad jne)? Eeldan, et Kanadas on kogu tarkvara, mida tarkvaraarendusfirmad kasutavad, litsentsitud või mitte?

Andrei Šulinski: Ütleme nii, et enamik programme kas ostetakse või saadakse tasuta. :-) Mõnikord installitakse midagi illegaalselt hangitud, kuid seda tehakse spetsiaalselt informatiivsel eesmärgil - kui prooviversiooni pole saadaval. Ettevõtted kas keelavad piraattarkvara kasutamise üldse või sunnivad sind allkirjastama dokumendi, mille järgi sa sa vastutad kõvaketta sisu jaoks.
Kasutatakse mitmesuguseid rakendusi. IDE: Eclipse, IDEA, NetBeans. Andmebaasi tööriistad: DbVisualizer, Aqua Data Studio. Kood ja dokumendid salvestatakse CVS-is. Ostetud ühest tegelesin WebSphere'iga. Kõik näod on tuttavad, kas pole? :-) Ja muidugi .NET – lahendusi leidub igaks juhuks.


Aleksei Perevertailov: Kas mäletate mõnda naljakat või kurioosset juhtumit tööl?

Andrei Šulinski: Palun. Ülemus küsis just ühelt oma kolleegilt, kui kaua ta koodi uuendas. "Oh-uh... kolm päeva tagasi..." - ähvardav pilk - "mmmm... võib-olla kaks" - ähvardav pilk - vaikus - küsin: "üks, muidu läheb tehing katki" - olukord halveneb. :-)


Aleksei Perevertailov: Tahaksin esitada teile paar küsimust üldine, kui te ei pahanda... Kas teie arvates on reaalne korraldada oma äri välismaal? Programmeerija puhul - luua oma kommertstarkvaratoode ja seda müüa, arendada, toetada? Mida on teie arvates selleks vaja?

Andrei Šulinski: Minu arvamus on jah, see on tõsi. Siin ei pea ettevõtja kartma bandiitide ja võimude väljapressimist, oma ettevõtte registreerimine ja ajamine on üsna lihtne. Kuid loomulikult ei tööta miski ilma igasuguse edu kahe peamise komponendita – hea idee ja valmisoleku pühendada kogu aeg ja jõud selle elluviimisele. "Ideoloogilisel töönarkomaanil" on võimalus. Näiteks minu praeguse ettevõtte president, kes kirjutas oma maja keldrisse süsteemi esimese versiooni. :-) Nüüd läheb "Novaatoril" hästi.


Aleksei Perevertailov: Kuidas suhtute avatud lähtekoodiga kogukonda?

Andrei Šulinski: Muidugi positiivne. Pean selle kogukonna tööd suureks õnnistuseks edusammudele üldiselt ja eelkõige Java tehnoloogiate edu peamiseks põhjuseks – millest on selgelt kasu ka tööstusele. Vaevalt, et muidu õnnestuks kuulsa koletisega edukalt võistelda. :-) Muidugi on avatud lähtekoodiga toodete kasutamisel teatud risk. Samal ajal on paljudel sellistel lahendustel suurepärane maine ja nad on turul olnud juba aastaid – ja te ei pea tingimata nende "sisemust" põhjalikult tundma. Ühiskond aitab lahendada peaaegu kõiki probleeme, mida iga äriline tugiteenus ei tee.


Aleksei Perevertailov: Kuidas suhtute patendiõigusesse selles valdkonnas? tarkvara? Kas see pärsib progressi? Millised on teie arvates parimad mehhanismid tarkvarainnovatsiooni kaitsmiseks?

Andrei Šulinski: Kahjuks ei ole ma valmis vastama see küsimus. See on üsna tõsine teema, mille materjali ma piisavalt hästi ei tunne.


Aleksei Perevertailov: Kas peate oma töös tegelema loodava toote haavatavuste otsimisega? Tänapäeval pööratakse palju tähelepanu turvalise koodi kirjutamisele, mis annab väiksema võimaluse kasutada erinevaid puhvri ületäitumise vigu jms. Kas jälgite oma töös võimalikku koodi turvalisust? Kas teil on selles küsimuses juhiseid?

Andrei Šulinski: Testimine, ainult testimine – ja veel kord testimine! Pean koodi turvalisuse tagamise võtmevahendiks ühikutestimist. Reeglina püüavad kõik tarkvaraarendusettevõtted luua ja säilitada testide komplekti. Kahjuks on see harva võimalik – seda eelkõige projekti kitsaste tähtaegade tõttu. Kuid pädeva testimise pikaajalist mõju on vaevalt võimalik üle hinnata. Selle tulemusena ei tule teatud kuupäevaks skulptorite käest välja Galatea ning taotluse mõnevõrra stabiilsesse olekusse viimine võtab kaua aega, tekitades stressi kogu meeskonnale.
Väga olulised on ka kodeerimisdistsipliin ja hea arhitektuuri ehitamine. Isiklikult õppisin palju Martin Fowleri ja Rod Johnsoni raamatutest.


Aleksei Perevertailov: Noh, lõpetuseks see küsimus – kui oleks hüpoteetiline võimalus kõike otsast alustada, kas sinust saaks ikkagi programmeerija?

Andrei Šulinski: Jah. Just see eriala aitas mul peaaegu valutult teise riiki kolida ja saada üle tavalistest väljarändajate psühholoogilistest ja rahalistest probleemidest. Minu kvalifikatsioon ja professionaalsus on nõutud, kolleegid kuulavad mu arvamust, kuulun siia, kuigi tean endiselt inglise keel hullem kui Java. :-) Pealegi, ma tõesti armastan oma tööd. Igaüks, kes on programmeerimisega tegelenud, mäletab ilmselt hetki, mil programm hakkab töötama nii, nagu te kavatsesite. Olen sellistel hetkedel ikka tõeliselt õnnelik.
Ja edasi. Olen väga tänulik oma vanematele nende tohutu abi eest valiku tegemisel professionaalne tee ja selle peal seistes. Kõigil ei õnnestu _oma_ äri leida. Ilma nende osaluseta oleksin vaevalt õnnestunud.
P.S. Muidugi aitas kaasa ka see, et olin nii tark ja nägus. :-)


Aleksei Perevertailov: Täname vastuste eest, soovime teile edu professionaalses tegevuses!

Andrei Šulinski: Aitäh, edu teile isiklikult ja F-keskusele tervikuna. :-)

Erinevalt paljudest kolleegidest ei sündinud ma programmeerijaks. Olen sündinud muusikuna. Ma ei õppinud ülikoolis programmeerima ja teatud ajani ei kavatsenud ma isegi oma elu IT-ga siduda.

Aga mind on alati tõmmanud Moskva oma laiade kõnniteede, pikkade vallide ja tohutute parkidega. Kuid sinna sattudes tunnete raha vajadust rohkem kui üheski teises meie imelise kodumaa linnas. Sel ajal üüris mu vanem vend kahe programmeerija juures korterit mingis pangas. Nii sukeldusin ühes köögivestluses esimest korda Pythoni maailma. Sellest hetkest alates läks palju aega, enne kui sain oma esimese töökoha Pythoni arendajana.

Esimesed sammud programmeerimisel

Nii et kui ma Moskvas olin, pidin ma tööd otsima, kuna ma ei saanud pikka aega külalisena elada. Minu oskustest piisas tol ajal vaid ühe suure ja ebamoraalse ettevõtte tehnilise toe ametikohale saamiseks. Võtsin telefoni teel palved vastu ja kõndisin mööda maja pikki koridore edasi-tagasi, et ühendada süsteemiüksustega hiired, mis omakorda lendasid oma pistikupesadest välja kõikide kontoritöötajate jaoks.

Just seal, mõistes toimuva absurdsust, kirjutasin oma esimese programmi. Rutiinist vabal ajal uurisin keele võimalusi ja kirjutasin süsteemihalduse skripte. Vanemadministraatorid märkasid seda kiiresti ja hakkasid andma mulle ülesandeid selle või teise programmi kirjutamiseks ning üllatusega avastasin, et isegi oma minimaalse kogemuse juures olen neist parem programmeerija ja võin neile selles osas kasulik olla.

Esimene töökoht

Üllataval kombel pole ma kunagi juuniorina töötanud. Läksin otse keskele. Aga proovisin saada tööd nooremarendajana. Mäletan seda intervjuud hästi.

Kaks hästi haritud programmeerijat (lõbusalt abikaasad) testisid minu teadmisi ja mõtlemist tervelt kaks tundi, misjärel jõudsid järeldusele, et mul pole ilmselgelt piisavalt teadmisi, kuid nad ei keeldunud, vaid andsid mulle nimekirja viited ja saatis mind õpinguid lõpetama. Kaks nädalat hiljem naasin intervjuule ja näitasin üles fantastilist õppimisvõimet, vastates paljudele küsimustele, millele ma varem vastata ei osanud. Järgmisel päeval helistati mulle ja öeldi, et olen vastu võetud. Nad tsiteerisid mulle palka, millest ei piisa isegi üüri ja toidu maksmiseks, rääkimata luksusest. Keeldusin kohe ja ei kahetsenud seda kordagi, kuna sain tööd süsteemiadministraatorina ühes maailmakuulsas ettevõttes, kus jätkasin iseõpet programmeerijana. Ühe asja õppisin sellest loost oluline punkt- miski ei juhi ja ei lükka nii hästi kui intervjuu!

Mis järgmiseks

Mingil hetkel väsinud kontorielu ja töötades administraatorina, säästsin natuke raha ja läksin kuueks kuuks Indiasse. Oh, kui ma saaksin kirjeldada, millised need kuus kuud olid, siis raamatust ei piisaks, rääkimata sellest artiklist. Tagasi tulles teadsin juba, et proovin uuesti programmeerijana tööd saada ja seekord naeratas õnn mulle ning olin selleks palju paremini ette valmistatud. Kuue kuu jooksul reisides parandasin väga-väga hästi oma kõnekeelt inglise keelt, mis aitab nüüd iga päev kolleegidega suhtlemisel. Keelekeskkonda sattumine osutus palju tõhusamaks kui mis tahes õpikud (muide, sama võib öelda ka programmeerimise kohta). Kuid parem on sinna hüpata, kui olete juba põhitõdedest aru saanud, vastasel juhul kasutate põhitõdede õppimiseks tingimusi, milles saate edasijõudnuks saada.

Nii et siin see on. Oma esimesel töökohal programmeerijana olin ettevõttes ainus taustaprogrammi arendaja! Midagi hullemat ei kujuta ettegi! Noh, ma sain, mida tahtsin. Kuid oma teisel töökohal sattusin suurepärasesse meeskonda, kus töötasid tõelised suurte kogemustega professionaalid. Tänu neile omandasin koodikultuuri ja õppisin tundma kõrgeid arendusstandardeid. Miša Korsakov ja Andrei Belyak - lugupidamine ja austus!

Nüüd

Ja nüüd töötan kaugjuhtimisega ühes rahvusvaheline ettevõte ja sellel on oma eelised! Ärge arvake, et ma laman nüüd sülearvutiga rannas ja naudin elu täiel rinnal. Töötan endiselt palju ja väsin palju, kuid mul pole vaja kontorisse minna. Elan Peterburis, vahel reisin. Mul õnnestus elada Portugalis, Itaalias ja Gruusias, kuid ma ei saa öelda, et mul oleks seal erilist puhkust olnud. Reisi korraldamine toob kaasa palju lisakomplikatsioone ning tööga kombineerituna võib see olla kaks korda raskem kui kodus või kontoris töötamine. Aga näha saab palju uut, ilusat ja huvitavat. Ja see on selge pluss!

Mentorlus

Ja minu mentorlus algas väga naljakalt ja ilma minu osaluseta. Kord käisin sõbral külas ja jätsin talle kogemata kaasa Pythoni ja Django raamatu. Ja järgmine kord kohtusime alles aasta hiljem ja siis üllatas ta mind. Ta ütleb, ja nüüd töötan ma programmeerijana! Pidage meeles, et unustasite mu raamatu, nii et lugesin seda, tegin selle põhjal oma veebisaidi ja sain hiljuti oma esimese töökoha.

Juhtub!

Hiljem jätkus mu mentorlus sellega, et hakkasin õpetama üht oma sõpra. Vaatamata sellele, et ta veedab peaaegu iga päev mõnel muul töökohal, läheb meie äri väga kiiresti ja hästi. Sinu esimene töökoht programmeerijana on kohe käes!

Kuidas saada edukaks Pythoni arendajaks? Aleksei Kurõlev jagab oma kogemusi nii algajatele kui ka kogenud programmeerijatele

Küsimused

Millist nõu annaksite algajatele, mis on haruldane või mida peetakse ebatavaliseks või vastuoluliseks?

Sobib igasse liigutusse! Ärge jätke kasutamata ühtki võimalust harjutamiseks! Olge alati avatud kõikidele ettepanekutele!

Ja mis on väga oluline:

"Kui seisate silmitsi ebaselgusega, pange vastu kiusatusele arvata." - Pythoni zen

Kuidas hoiate oma oskusi ajakohasena? Kuidas arendajana pidevalt areneda ja paremaks saada?

Noh, töö ei lase sul ebaoluliseks muutuda. Iga päev tuleb midagi uut ette võtta. No ma lugesin muidugi. Õpin teisi keeli. Suhtlen teiste arendajatega. Arendan erinevaid veebiteenuseid meeskonnas koos sõpradega, ilma palgata, lihtsalt oma lõbuks. Ja võimalusel puhkan rohkem, see on ka vajalik, nii läheb eneseareng lihtsamalt ja kiiremini.

Top 3 raamatut algajatele
  • Mark Summerfield – "Python 3 programmeerimine: lõplik juhend"
  • Wesley Chan, Paul Bissex, Geoffrey Forcier – “Django. Veebirakenduste arendamine Pythonis"
  • Robert Martin - "Puhas kood" - lugege seda isegi siis, kui te Javast aru ei saa, seal on palju lihtsat head nõu. Ja samal ajal hakkate õppima Java.

Minu moodi

Elukutse valik Minu kogemus oli ümbritsevate jaoks väga etteaimatav ja minu jaoks uskumatult üllatav. Fakt on see, et nii mu isa kui ka ema on programmeerijad. Nõukogude arvutiteadlaste esimesest põlvkonnast. Isa jootis need suured EC-d ja ema laadis neisse perfokaarte. Samal ajal unistasin koolis saada keemikuks, siis bioloogiks ja siis entomoloogiks. Armastan loodust väga.

Aga viimastes klassides (93-95) sain arvutitega tuttavaks ja jäin täitsa konksu.

Kõigepealt lõputud arvutiteaduse olümpiaadid, siis esimene modem kodus, siis avati meie Brjanski tehnikaülikoolis eriala “Programmeerimine” ja loomulikult läbisin selle. Ma ei märganud, kuidas aastad möödusid, ärkasin 5. kursuse paiku, lõputunnistuse paiku, kurvastasin umbes 10 minutit oma kooliunistuste pärast ja sellest ajast peale olen pidevalt oma erialal töötanud.

"Päris" hakkasin töötama 3. kursusel, kui ema palvel hakkasin kirjutama pisiasju panka, kus ta oli siis IT juht. Esiteks mõned failitranskooderid, seejärel skriptid terminali programm Telemate sularahaarvelduskeskusega töötamiseks, siis oli suur projekt - töökoht valuuta kassapidaja. Polnud Internetti, aga ka raamatute rohkust – imasin endasse kogu info, mis kätte sattus.

Lugesin ajakirjast Computer-Press Clipperi ja Turbo Pascal 7.0 uudiste käsiraamatuid. Proovisin kõiki programme. Niisiis tõin ühel päeval koju FreeBSD ketta ja asetasin selle Dosi kõrvale. Olin hetkega konksul: jätsin FoxPro ja Delphi täielikult maha, hakkasin awk'is ja Perlis kirjutama ning kaks aastat hiljem õnnestus mul leida töö Interneti-teenuse pakkujas.

Mul olid oma iidolid: tööstus on noor, kuum, kõik kihab, iga poole aasta tagant tuleb mõni avastus ja uus täht.

Aga peamiselt imetlesin muidugi igasuguseid suuri välisteadlasi. Dijkstra, Diffie, Booch. Richard Stallman, kui olin vanem ja targem. Noh, üks mu ema kolleegidest, Brjanskist pärit programmeerija Leonid Osovtsov :) Ta oli nii elus, tõeline iidol, mitte ikoon. Ta lahkus kaua aega tagasi ja elab õnnelikult Iisraelis.

Nende aegade peamine avastus minu jaoks - uskumatu tohutu maailm tasuta tarkvara. Üks FreeBSD distributsiooniketas sisaldas rohkem programme, kui olin näinud kõigi eelnevate aastate jooksul, kus Dos töötab. Ja ükski neist ei nõudnud seerianumbri otsimist. Pealegi on kõik lähtekoodis. Osalesin kiiresti arendusprotsessis, kirjutasin plaastreid ja arutasin arendajatega. Kuidagi ühel hetkel muutus arvuti mänguautomaadist ja kirjutusmasinast sisse aknaks Suur maailm. Internet koosnes peaaegu täielikult programmeerijatest ja seetõttu oli see minu jaoks siis väga lihtne.

Jõudsin Brjanskis üsna kiiresti laeni ja kohe pärast diplomi kättesaamist lahkusin Moskvasse. Artus, Agave, Inline, Channel One, Rambler. Töötasin Rambleris 4 aastat, algul programmeerisin veebimeili, seejärel lõin selle jaoks 15 inimesega osakonna ja juhtisin seda.

2002. aasta paiku, olles juba Moskvasse kolinud, avastasin Runeti :) Olles tihedalt ingliskeelses keskkonnas kinni (ma ei ütle “saidid”, sest tol ajal koosnes internet enamast kui veebist), ma lihtsalt jäi selle ilmumise hetkest ilma. Pidin end kiiresti üles tõmbama.

Oleks pidanud

Nüüd töötan idufirmas NadoBy.ru universaalse tehnikasõdurina. Formaalselt on ta 3,5 keeles tehniline direktor, aga ka süsteemiadministraator, testija, arhitekt, ülesannete juht, toote- ja projektijuht, kasutatavuse spetsialist, küljendaja ja programmeerija. Üldiselt aitan oma 4-liikmelist tehnilist meeskonda igal rindel. Ülesanded on kontseptuaalselt üldiselt lihtsad, kuid nõuavad tingimustes kiiret reageerimist suur kogus teadmata. Püüan anda töötajatele huvitavaid, suuri, loomingulisi ülesandeid, muidu võin end pikaks ajaks kaasa lüüa ja nendesse eksida ning siis kannatab juhtkond. [Toimetaja märkus: nüüd, 4 aastat pärast selle teksti kirjutamist, töötab Aleksei Yandexi postiosakonnas]

Tegevusi on ka väljaspool tööd. IN Hiljuti Olen seotud kõikvõimalike tehniliste konverentside korraldamisega. Osalen Moskva Pearli programmeerijate grupi Moskva.pm töös. Aeg-ajalt loon, toetan ja osalen erinevates avatud lähtekoodiga projektides. Huvitaval kombel saab seda kõike hästi ühendada käimasoleva eneseharimise protsessiga, nii et sellest võidavad kõik.

Töö idufirmades

Olen kindel, et absoluutselt iga inimene on kohustatud startupis töötama. Ja mida varem, seda parem. Näiteks vahetult pärast ülikooli või lõpuaastatel, kui enam-vähem vabad eluolud võimaldavad valutult riske võtta. Startup on praktika, mis põhineb turumajanduse põhimõtetel, ressursijuhtimisel just nende ressursside harulduse tingimustes, see on spetsialistile võimalus mõista, miks on turundust põhimõtteliselt vaja, miks inimesed kannavad äriülikondi ja kannavad. mõttetu käekell, miks reklaam on vajalik pahe jne. Võime lõputult jätkata. See kõik toimub minuga praegu, üsna hilja, aga mida ma teha saan?

Startupis õpitakse teisiti – pole keerulisi, keerulisi uurimuslikke ülesandeid, vaid on palju väga kiireloomulisi, väga olulisi ja väga väikeseid ülesandeid. See on pidev suhtlemine, partnerid-agendid-kliendid, see on kogemus palgata mitte ainult parimaid, vaid ka kõige odavamaid inimesi. Soovitan soojalt kõigil proovida.

Ideaalne programmeerija

Paar sõna meie elukutse teatud ideaalsest seltsimehest, kelleks minust ei saanud, ei saa iial ja kes kahetsen igavesti neid kahte "mittetegijat".

See kamraad oleks pidanud väga-väga varakult aru saama, et programmeerija on mehaanik, kellelt iga 15 minuti tagant võetakse masin ära ja tuuakse järgmise mudeli uus.

Siin on mõned olulised sõnad.

Esiteks lukksepp. Programmeerija-looja, väärtuslik personal, kes teeb kiiresti palju häid asju, ei ole kaugeltki loominguline ega isegi teadlase elukutse, vaatamata sellele, millise haloga seda tänini varjatakse. Sellise inimese jaoks on kannatlikkus ja pealehakkamine sada korda olulisemad kui andekus, võimed matemaatikas ja lingvistikas jms, mille eest koolis kiidetakse.

Teiseks 15 minutit. Programmeerija õpib pidevalt. Lihtsalt üldiselt alati. See ühine omadus paljud (kui mitte kõik) noored ametid, kuid see ei sobi hästi torutöödega. Sellega, et inimene peab olema nii igavene õpilane kui ka tubli töömees. Lõppude lõpuks, kuidas on töötavatel inimestel - saate oma lemmikhaamriga suurepäraselt ja produktiivselt töötada 20 aastat. Meie puhul on see vastupidi. Kuigi on ka eraldi suur lugu inimestest, kes jõuavad oma masinate loomise tasemele.

Kolmandaks, see masin. Nüüd kasutab iga programmeerija (numbrid on võetud õhust) 45 teeki, 5 raamistikku, 2 tekstiredaktorit, 2 operatsioonisüsteemi, 5 omavahel tihedalt põimunud keelt, 2-3 versioonikontrollisüsteemi ja palju muid tööriistu, nagu veajälgija, a. wiki keskkond, silur, profileerija ja nii edasi. See on tõesti suur ja keeruline masin, peaaegu nagu lennuki kokpit. Töökoht ise on muutunud keeruliseks süsteemiks, CNC-masinaks. Inimesed, kes tunnevad põhjalikult ühte tekstiredaktorit ja C-keelt, on piiratud kasutusega. (Reeglina on need oma kohtadel väga väärtuslikud, aga need kohad on üks, kaks ja valesti arvutatud).

Võib olla...

Neil, kes kahtlevad, on väga hea variant: minge teadusesse. Soovitan soojalt. Otsi pärast diplomit kohe mõni hea magistrant Euroopast või USAst ja mine graniiti närima.

Meil, programmeerijatel, on nii palju puudu, me tõesti tahame nii palju kui võimalik rohkem inimesi Tahtsin kirjutada artikleid, mitte käivitada suure koormusega projekte või, jumal andke andeks, otsingumootoritele optimeerimist. On veel nii palju huvitavat avastada, nii palju aluseid panna. Uskumatult on aasta 2010 ja tehisintellekti pole. Selle asemel kuvab poolest miljonist serverist koosnev klaster reklaame, sajad nutikad hajutatud robotvõrgud saadavad rämpsposti ja miljonite inimeste iidol on ettevõte, kes käivitas esimese massilise DRM-i. See on häbi, mul on universumi pärast häbi.

Kui ma ise poleks programmeerijaks saanud, oleksin olnud teadlane, 100% loodusteadlane, suure tõenäosusega bioloog.

Miks? No ma ei saa üldiselt hästi aru inimestest, kes valivad eriala ratsionaalselt, arvestuse järgi. Meie instituudis olid sellised poisid - näiteks läksid nad õppima tuima erialale “Turbiinid”, sest turbiiniinsenerid palkas Gazprom. ma näen seda kaasaegne inimene töö on suur ja sageli kõige rohkem oluline osa elu ja see tuleb valida ainult armastusest. Minu esimene armastus oli bioloogia, kuid siis jätsin selle arvutiteaduse poole.

Programmeerija igapäevaelu

Nüüd seisneb minu töö selles, et täidan tooteprobleemi luustiku “lihaga” ja pakun programmeerijale täielikult võimaluse seda mugavalt täielikult lahendada. See on arendusdirektori töö. Igas startupis on tehniline direktor esmalt arendusdirektor ja alles seejärel tegelik tehniline direktor ehk tarnejuht. Selleks, et omada kodu, tuleb see kõigepealt välja arendada.

Kõik marginaalsed kohad, integratsioonihetked, isegi lihtsalt keerulised vead Kontrollin ja parandan ennast vaba aeg. Kõik liigub väga kiiresti, nagu ma tahtsin, nagu ennustasin. Iga päev õpin. Iga päev loen ma blogisid mitte ainult sellepärast, et see on huvitav, vaid ka sellepärast, et teisiti pole võimalik.

Halb on see, et sellega on liiga palju äri. Ma vihkan äri, ma armastan ausust, vabadust ja kommunismi :)

Õnneks taipasin varakult, et vabaduse tagab ainult äri. Ausus, kui sa piisavalt pingutad, säilib nii endas kui ka lähedastes ning me ehitame kommunismi üles, kui selle välja mõtleme tehisintellekt, mis annab meile tasuta energiat. Siiani sujub kõik plaanipäraselt :)

Omadused, mida peate proovima arendada, et saada silmapaistvaks professionaaliks, on järgmised:

  • Kannatlikkust. Programmeerija, kes lahendab 10 ülesannet 10 korda, on sageli parem kui teine, kes lahendas 100 erinevat ülesannet. Sest (üllatus)kordamine on õppimise ema.
  • Side. Autistlikke programmeerijaid enam ei palgata. Tööstus küpseb ja järjest vähem väärt asju saab üksi ära teha.
  • Julgus riskida.
  • Lihtne ronida.
  • Puudutusega tippimine :)

Seadke endale kõrged, väärilised eesmärgid. Harjuta, harjuta, iga päev. Hommikul kohe peale laadimist pool tundi või tund lihtsat kodeerimist. Jälgige hoolikalt oma tervist. Püüdke mitte liiga palju süüa, vaadata ega lugeda. Ära tee asjatuid asju.

Tõenäoliselt teavad kõik, mis on Tetris, kuna tegemist on mänguga, mida on mänginud tunde rohkem kui üks põlvkond. Kuid kahjuks ei saavutanud selle mängu leiutaja populaarsust. Ja vähesed inimesed teavad, kes on selle mängu leiutaja. Selgub, et Aleksei Pajitnov on mees, kes leiutas meie kaasmaalase Tetrise. Ta sündis 14. märtsil 1956 Moskvas.

Aleksei Pajitnov: elulugu

Koolis õppis Aleksei nagu tavaliselt ega paistnud eakaaslaste seas silma. Kuid nagu ta meenutab, oli tema päevik alati täis õpetajate kommentaare.

Aleksei Leonidovitš on lõpetanud matemaatikakooli ja hiljem lennuinstituudi. Pärast instituudi lõpetamist sai Pajitnov tööle arvutikeskusesse, kus ta 1984. aastal legendaarse mängu leiutas. 1991. aastal kolis Aleksei USA-sse. Tal on palju töid ja auhindu.

Tetrise tegemine

1984. aastal istusid noored teadlased tundide kaupa laborites, ilma et oleks midagi teha. Nii et Aleksei Leonidovitš Pajitnov oli üks neist inimestest. Nende aastate jooksul uuris ta probleeme, mis on seotud inimese kõnetuvastuse ja intelligentsusega. Nende ületamiseks oli vaja lahendada mõistatusi ja raskeid ülesandeid. Ja siis otsustab Aleksei luua pusle, mis on huvitav nii lastele kui ka täiskasvanutele.

Mis tegi Aleksei Pajitnovi kuulsaks? Algselt lõi ta arvutimäng, kus figuurid pidid teiste objektide raskusjõu mõjul oma asukohta muutma. Aga arvutitel polnud suurepäraseid võimalusi, ja seetõttu tuli mängu lihtsustada. Tema figuurid koosnesid viiest identsest ruudust, kuid inimesed ei hinnanud tema jõupingutusi eriti ja siis otsustas ta luua midagi lihtsamat. Tetrise jaoks töötati välja seitse erinevat figuuri. Seda numbrit ei valitud juhuslikult, just seda numbrit suudab inimese mälu meelde jätta. Mängu koostamisel kasutati Pascali keelt.

Mis tegi Aleksei Pajitnovi kuulsaks kogu maailmas? Ta loob Tetrise, milles nelja ruudu tükid kukuvad alla. Muide, vähesed inimesed teavad, miks Tetrist nii nimetatakse. Tegelikult tähendab sõna "tetra" tõlgituna nelja. Kuigi selle mängu nimi oli algselt tetromino, nimetasid inimesed ise selle häälduse lihtsustamiseks ümber.

Nagu looja ise ütleb suurepärane mäng, siis lõi ta selle selleks, et inimestele naudingut pakkuda. Aleksei usub, et selleks tuleks luua absoluutselt kõik mängud, mis hiljem kogu maailmas kuulsaks said.

Pärast seda, kui Aleksei lõi Tetrise, levis uue mänguasja kuulsus paljudesse linnadesse ja kaks nädalat hiljem mängisid kõik seda omavahel võisteldes. Kuigi esimesel nädalal olid lõbusalt hõivatud vaid ettevõtte töötajad, kus Aleksei töötas. Kaks kuud pärast esimese Tetrise mudeli väljaandmist lõi Pajitnov koos kolleegiga mängu värvilise versiooni. Eelis uus mäng võib öelda, et see sisaldas kirjete tabelit. Tetrist mängiti mitte ainult Venemaal, vaid ka välismaal, mäng saavutas populaarsuse.

Väärib märkimist, et mängu ametlikud loojad olid Teaduste Akadeemia, kus Pajitnov tol ajal töötas. Sellepärast Pajitnov pikka aega ei saanud oma leiutisest tulu. Mäng on ju loodud tööajal ja tööarvutis, mistõttu õigused Alekseile ei kuulunud.

Mängu õigused

Paljud inimesed tahtsid Aleksei käest Tetrise mängu õigusi osta. Esimene oli Robert Stein, kellega nõukogude ettevõtjad, kes tahtsid Pajitnovi leiutisega suurt raha teenida, soovisid tulevikus koostööd teha. Kuigi Pajitnov ei sõlminud nendega ühtegi dokumenti ega lepingut. Paljud ameeriklased lõid isegi oma Tetrise versioonid, mis polnud vähem populaarsed.

Ungarlane Stein müüs hiljem mängu õigused Microsoftile edasi. 1989. aastal loodi Ameerika stiilis Tetris. Sellest ajast alates on mänge mobiilseadmetes müüdud üle 70 miljoni eksemplari ja üle 100 miljoni allalaaditud. Veidi hiljem hakati looma mängu- ja mänguautomaate mänguga Tetris.

Tetrise ettevõtte loomine

Vaatamata sellele, et Aleksei Pajitnov pole selline kuulus inimene, kõik õnnestus tema elus suurepäraselt, kuna leiutaja töötas palju. Tal õnnestus organiseerida ettevõte Anima Tek, millele Microsoft pakkus koostööd. Ja olles juba USA-sse kolinud, organiseeris ta firma nimega Tetris ja alles siis hakkas aastaid tagasi loodud mängu pealt raha teenima. Ja alates 1996. aastast on Aleksei Pajitnov ametlikult Microsofti heaks töötanud. Kõigil Aleksei toodetud toodetel on märge, et teda peetakse legendaarse mängu loojaks.

Film Tetrise loomisest

Hiljuti lekkis ajakirjandusse info, et nad plaanivad Ameerikas filmi teha, et kõik inimesed teaksid, kes on selle mängu loonud, mida mängides kulutas rohkem kui üks põlvkond palju aega. Selle filmi režissöörid on loomulikult ameeriklased. Pole veel teada täpne kuupäev filmi vabastamine.

Filmi süžeeks pole mitte ainult Aleksei Pajitnovi isiksus, vaid ka Tetris ise. Süžee saab olema ulme. Režissööride sõnul tõotab film tulla mitte vähem populaarne kui mäng ise.

Tetris täna

Hoolimata asjaolust, et tänapäeval on see väga hästi arenenud, leidub endiselt inimesi, kes Tetrist mängivad. Lisaks on igal mängukonsoolil sarnane mäng. Tänaseks on välja töötatud palju Tetrisega sarnaseid mänge. Mängida saab grupiga või üksi. Muide, see mäng arendab lapses eruditsiooni ja muid võimeid.

Aleksei Pajitnovi elu täna

Vaatamata asjaolule, et Aleksei elab USA-s, ei mõelnud ta kunagi emigreerumisele, see juhtus juhuslikult. Ja Pajitnov ei saanud saatuse sellisest kingitusest keelduda. Täna on Aleksei töötaja kuulus firma rahu. Ta on välja andnud mitmeid mänge, peamiselt puslesid, mille järele on nõudlust. See annab välja rakendusi erinevatel konsoolidel, kuid peamiselt personaalarvutitel. Tetrise mäng on väga populaarne ja tõenäoliselt ei suuda ükski teine ​​mäng sellist populaarsust saavutada. Aleksei Leonidovitš tunnistab, et tema naine ei mängi ühegi mänguasjaga, kuid lastele meeldib isa loodud mänge mängida ja ta on selle üle uhke.

Aleksei Pajitnov ise ei mängi mitte ainult oma mänge - iga kord, kui ta poodi läheb, ostab ta endale alati mingi pusle. Ta näeb oma inspiratsiooni mängudes. Pajitnov mängib endiselt Tetrises, kuid ei pea end parimaks mängijaks. Alekseil on veel aega kasvada ja saada koolilasteks, kes näitavad selles mängus parimaid tulemusi.

Kes teab, võib-olla annab Aleksei Leonidovitš välja veel ühe mängu, mis ei muutu vähem populaarseks kui legendaarne Tetris.