Програмерска каријера. Поглавље 1. Први програм

Програмерска каријера. Поглавље 1. Први програмПоштовани читаоци Хабра, представљам вам серију постова које у будућности планирам да објединим у књигу. Желео сам да зароним у прошлост и испричам своју причу о томе како сам постао програмер и како сам то наставио да будем.

О предусловима за улазак у ИТ, путу покушаја и грешака, самоучењу и дечјој наивности. Почећу своју причу од раног детињства и завршити је данас. Надам се да ће ова књига бити посебно корисна онима који се тек школују за ИТ специјалност.
А они који већ раде у ИТ-у вероватно ће повући паралеле са сопственим путем.

У овој књизи ћете наћи референце на литературу коју сам прочитао, искуство комуникације са људима са којима сам се укрстио током студирања, рада и покретања стартапа.
Почевши од универзитетских наставника до великих инвеститора и власника вишемилионских компанија.
Од данас је спремно 3.5 поглавља књиге, од могућих 8-10. Ако прва поглавља нађу позитиван одјек код публике, објавићу целу књигу.

О мени

Ја нисам Џон Кармак, Николај Дуров или Ричард Метју Столман. Нисам радио у компанијама као што су Иандек, ВКонтакте или Маил.ру.
Иако сам имао искуство рада у великој корпорацији, о чему ћу вам свакако рећи. Али мислим да поента није толико у великом имену, већ у самој историји пута да постанем програмер, и даље, у победама и поразима који су се десили током моје 12-годишње каријере у комерцијалном развоју. Наравно, неки од вас имају много више искуства у ИТ. Али верујем да су драме и победе које су се догодиле током моје садашње каријере вредне описа. Догађаја је било много, и сви су били разноврсни.

Ко сам ја данас као програмер
— Учествовао у више од 70 комерцијалних пројеката, од којих је многе писао од нуле
— У десетак сопствених пројеката: опен-соурце, стартапови
— 12 година у ИТ-у. Пре 17 година - написао први програм
- Мицрософт највреднија особа 2016
— Мицрософт Цертифиед Профессионал
— Сертификовани Сцрум Мастер
— Добро владам Ц#/Ц++/Јава/Питхон/ЈС
— Плата — 6000-9000 $/мес. зависно од оптерећења
— Моје главно радно место данас је берза слободних професија Упворк. Преко њега радим за компанију која се бави НЛП/АИ/МЛ. Има базу од милион корисника
— Објављене 3 апликације у АппСторе-у и ГооглеПлаи-у
— Спремам се да оснујем сопствену ИТ компанију око пројекта који тренутно развијам

Поред развоја, пишем чланке за популарне блогове, подучавам нове технологије и говорим на конференцијама. Опуштам се у фитнес клубу и са породицом.

То је вероватно све о мени што се теме књиге тиче. Следећа је моја прича.

Прича. Почетак.

Први пут сам научио шта је рачунар када сам имао 7 година. Тек сам кренуо у први разред и на часу ликовног смо добили домаћи да направимо компјутер од картона, пенасте гуме и фломастера. Наравно, родитељи су ми помогли. Мама је студирала на техничком универзитету раних 80-их и знала је из прве руке шта је рачунар. Током тренинга, чак је успела да буши бушене картице и убаци их у џиновску совјетску машину која је заузимала лавовски део собе за обуку.

Домаћи задатак смо урадили са петком јер смо све вредно радили. Нашли смо дебели лист А5 картона. Од старих играчака из пене смо изрезали кругове, а фломастерима нацртали кориснички интерфејс. Наш уређај је имао само неколико дугмади, али смо им мама и ја доделили неопходну функционалност, а на часу сам наставнику показао како притиском на дугме „Укључено“ у углу „екрана“ засветли сијалица, ” док истовремено фломастером цртам црвени круг.

Мој следећи сусрет са компјутерском технологијом десио се отприлике у истом узрасту. Викендом сам често посећивао баку и деду, који су, заузврат, продавали разно смеће и такође је радо куповали за пене. Стари сатови, самовари, котлови, значке, мачеви ратника из 13. века и друго. Међу свим овим разноврсним стварима, неко му је донео компјутер који је радио са телевизора и аудио рекордер. На срећу, моја бака је имала обоје. Совјетске производње, наравно. ТВ Елецтрон са осам дугмади за промену канала. И Вега магнетофон са две касете, који би чак могао да поново снима аудио касете.
Програмерска каријера. Поглавље 1. Први програм
Совјетски рачунар „Поиск“ и периферне јединице: ТВ „Елецтрон“, касетофон „Вега“ и аудио касета са БАСИЦ језиком

Почели смо да схватамо како цео овај систем функционише. Уз рачунар је било и неколико аудио касета, веома похабано упутство за употребу и још једна брошура са насловом „БАСИЦ Программинг Лангуаге“. Упркос свом детињству, покушао сам да активно учествујем у процесу повезивања каблова на касетофон и ТВ. Затим смо убацили једну од касета у одељак за касетофон, притиснули дугме „Напред” (тј. почетак репродукције), а на ТВ екрану се појавила неразумљива псеудографика текста и цртица.

Сама главна јединица је изгледала као писаћа машина, само прилично пожутела и приметне тежине. Са узбуђењем детета, притиснуо сам све тастере, нисам видео никакве опипљиве резултате, потрчао сам и отишао у шетњу. Иако сам и тада пред собом имао приручник на БАСИЦ језику са примерима програма које, због година, једноставно нисам могао да препишем.

Из сећања из детињства сигурно се сећам свих справа које су ми родитељи купили, вежбајући са другим рођацима. Прва звечка била је позната игра „Вук хвата јаја“. Завршио сам га прилично брзо, на крају сам видео дугоочекивани цртани филм и пожелео сам нешто више. Затим је био Тетрис. Тада је вредео 1,000,000 купона. Да, то је било у Украјини почетком 90-их, а ја сам добио милион за мој академски успех. Осећајући се заслужено као милионер, наручио сам ову сложенију игру за своје родитеље, где су морали да правилно распореде фигуре различитих облика које падају одозго. На дан куповине Тетрис су ми неконтролисано одузели моји родитељи, који сами два дана нису могли да га се отарасе.

Програмерска каријера. Поглавље 1. Први програм
Чувени "Вук хвата јаја и тетрис"

Затим су постојале конзоле за игре. Наша породица је живела у малој кући, где су у суседној соби живели и моји ујак и тетка. Мој ујак је био војни пилот, пролазио је кроз жаришта, па је упркос својој скромности био веома упоран и плашио се мало чега, после стварног
војне операције. Као и многи људи 90-их, мој ујак је ушао у посао и имао прилично добар приход. Тако се у његовој соби појавио увозни телевизор, видеорекордер, а затим и субор сет-топ бок (аналогно Дендију). Одузео ми је дах гледајући га како игра Супер Марио, ТопГун, Терминатор и друге игре. А када ми је предао џојстик у руке, мојој срећи није било граница.

Програмерска каријера. Поглавље 1. Први програм
Осмобитна конзола "Сјубор" и легендарни "Супер Марио"

Да, као и сва обична деца која су одрасла деведесетих, провео сам по цео дан у дворишту. Или играње пионирске лопте, или бадминтон, или пењање на дрвеће у башти, где је расло много различитих воћа.
Али овај нови производ, када можете да контролишете Мариа, прескачете препреке и спасавате принцезу, био је вишеструко интересантнији од било ког слепца, ладушке и класика. Зато су ми родитељи, видећи моје искрено интересовање за префиксе, дали задатак да научим таблицу множења. Тада ће испунити мој сан. Уче је у другом разреду, а ја сам тек завршио први. Али, речено и урађено.

Било је немогуће замислити јачу мотивацију од сопствене конзоле за игру. И за недељу дана сам лако одговарао на питања „седам девет“, „шест три“ и слично. Тест је прошао и купили су ми жељени поклон. Као што ћете даље научити, конзоле и компјутерске игре су одиграле значајну улогу у заинтересовању за програмирање.

Овако је то ишло из године у годину. Излазила је следећа генерација играћих конзола. Прво Сега 16-бит, затим Панасониц, па Сони ПлаиСтатион. Игре су ми биле забава када сам био добар. Када је било неког проблема у школи или код куће, одузели су ми џојстике и, наравно, нисам могао да играм. И наравно, ухватити тренутак када сте се вратили из школе, а ваш отац се још није вратио са посла да заузме телевизор, такође је била својеврсна срећа. Дакле, немогуће је рећи да сам био зависник од коцкања или да сам провео цео дан играјући игрице. Такве прилике није било. Радије сам провео цео дан у дворишту, где сам и могао нешто да нађем
занимљиво. На пример, потпуно дивља игра - ваздушне пуцњаве. Данас овако нешто нећете видети у двориштима, али тада је био прави рат. Паинтбалл је само дечја игра у поређењу са покољем који смо изазвали. Било је ваздушних балона
набијен густим пластичним мецима. И пошто је пуцао у другог момка из непосредне близине, оставио је модрицу на половини руке или стомака. Тако смо живели.

Програмерска каријера. Поглавље 1. Први програм
Пиштољ играчка из детињства

Не би било лоше поменути филм „Хакери”. Објављена је тек 1995. године, са 20-годишњом Анђелином Џоли у главној улози. Рећи да је филм оставио снажан утисак на мене значи ништа не рећи. На крају крајева, дечје размишљање перципира све на прави начин.
А како су ови момци славно чистили банкомате, гасили семафоре и играли се са струјом по граду – за мене је то била магија. Тада ми је пала на памет мисао да би било кул постати свемоћан као Хакери.
Неколико година касније, купио сам сваки број часописа Хацкер и покушао да хакујем Пентагон, иако још нисам имао интернет.

Програмерска каријера. Поглавље 1. Први програм
Моји јунаци из филма "Хакери"

Право откриће за мене је био прави рачунар, са 15-инчним монитором лампе и системском јединицом заснованом на Интел Пентиум ИИ процесору. Наравно, купио ју је његов стриц, који се до краја деведесетих попео довољно високо да себи приушти
такве играчке. Први пут када су ми укључили игру, није било превише узбудљиво. Али једног дана, дошао је судњи дан, звезде су се поравнале и дошли смо да посетимо нашег стрица, који није био код куће. Питао сам:
— Могу ли да укључим рачунар?
„Да, ради с њим шта год хоћеш“, одговорила је љубазна тетка.

Наравно, радио сам са њим шта сам хтео. Постојале су различите иконе на радној површини Виндовс 98. ВинРар, Ворд, ФАР, Клондике, игре. Након клика на све иконе, моја пажња се фокусирала на ФАР Манагер. Изгледа као неразумљив плави екран, али са дугачком листом (фајлова) који се могу покренути. Кликом на сваки редом, ухватио сам ефекат онога што се дешавало. Неки су радили, неки нису. После неког времена схватио сам да су датотеке које се завршавају на „.еке“ најинтересантније. Покрећу различите цоол слике на које такође можете кликнути. Тако да сам вероватно покренуо све доступне еке датотеке на стричевом рачунару, а онда су ме једва извукли за уши из суперзанимљиве играчке и одвели кући.

Програмерска каријера. Поглавље 1. Први програм
Исти ФАР менаџер

Затим су постојали компјутерски клубови. Мој пријатељ и ја смо често ишли тамо да играмо Цоунтер Стрике и Куаке на мрежи, што нисмо могли код куће. Често сам тражио од родитеља кусур да бих могао пола сата да играм у клубу. Видевши моје очи, као мачку из Шрека, понудили су ми још један уносан уговор. Завршавам школску годину без Ц, а они ми купују компјутер. Уговор је потписан почетком године, у септембру, а жељени ПЦ је требало да стигне већ у јуну, уз поштовање договора.
Покушао сам све од себе. Чак сам и своју вољену Сони Плејстејшн продао из емоција како бих мање одвлачио пажњу од студија. Иако сам био тако-тако ђак, 9. разред је за мене био значајан. Крвави нос, само сам морао да добијем добре оцене.

Већ у пролеће, очекујући куповину рачунара, десио се вероватно најзначајнији догађај у мом животу. Покушавам да размишљам унапред, и тако сам једног лепог дана рекао свом оцу:
- Тата, ја не знам да користим компјутер. Хајде да се пријавимо на курсеве

Не пре речено него учињено. Након што је отворио новине са огласима, отац је пронашао блок исписан ситним словима са насловом "Компјутерски курсеви". Позвао сам наставнике и пар дана касније већ сам био на овим курсевима. Курсеви су се одвијали на другом крају града, у старој панелној згради Хрушчова, на трећем спрату. У једној просторији су била три рачунара у низу, а они који су хтели да уче су заправо обучавани на њима.

Сећам се своје прве лекције. Виндовс 98 се дуго учитавао, а онда је реч узео наставник:
- Тако. Пред вама је Виндовс радна површина. Садржи иконе програма. На дну је дугме Старт. Запамтити! Сав рад почиње са дугметом Старт. Кликните на њега левим тастером миша.
Је наставио.
- Овде - видите инсталиране програме. Калкулатор, Нотепад, Ворд, Екцел. Такође можете да искључите рачунар кликом на дугме „Искључи“. Пробајте.
Коначно је прешао на тежи део за мене у то време.
„На радној површини“, рекао је наставник, можете видети и програме који се могу покренути двоструким кликом.
- Двоструко!? - Како је ово уопште?
- Хајде да покушамо. Покрените Нотепад тако што ћете двапут кликнути на њега левим тастером миша.

Да, сцхаасс. Најтеже је у том тренутку било држати миша на једном месту и истовремено брзо кликнути два пута. Приликом другог клика, миш се мало трзнуо и пречица заједно са њим. Али ипак сам успео да савладам тако непремостиви задатак током лекције.
Затим је уследила обука за Ворд и Екцел. Једног дана су ме једноставно пустили да прегледам слике природе и архитектонских споменика. Била је то најзанимљивија активност у мом сећању. Много забавније од учења како да форматирате текст у Ворд-у.

Поред мог рачунара, други студенти су учили. Неколико пута сам наишао на момке који су писали програме, док су жестоко расправљали о овом процесу. И мене је ово занимало. Сећајући се филма Хакери и уморан од МС Оффице-а, тражио сам да ме пребаце на курсеве
програмирање. Као и сви значајни догађаји у животу, и ово се догодило спонтано, из интереса.

Стигао сам на прву лекцију програмирања са мајком. Не сећам се зашто. Очигледно је морала да преговара о новим курсевима и да плати. Напољу је било пролеће, већ је пао мрак. Путовали смо кроз цео град минибусом-Газелом до периферије, стигли до озлоглашеног
панел Хрушчов, попео се на под и пустио нас унутра.
Посели су ме за крајњи компјутер и отворили програм са потпуно плавим екраном и жутим словима.
- Ово је Турбо Пасцал. Наставник је коментарисао његов поступак.
- Видите, овде сам написао документацију како то функционише. Прочитајте и погледајте.
Испред мене је било платно жутог, апсолутно неразумљивог текста. Покушао сам да сазнам нешто за себе, али нисам могао. Кинеска граматика и то је то.
Коначно, после неког времена, водитељ курса ми је дао одштампани А4 папир. На њему је писала нека чудна ствар коју сам раније назирао на мониторима момака са курсева програмирања.
- Препиши шта овде пише. Учитељ је командовао и отишао.
почео сам да пишем:
програм Сумма;

Писао сам, истовремено тражећи енглеска слова на тастатури. У Ворду сам бар тренирао руски, али овде морам да научим друга слова. Програм је куцан једним прстом, али веома пажљиво.
почетак, крај, вар, цео број - Шта је ово? Иако сам од првог разреда учио енглески и знао значење многих речи, нисам могао све то да повежем. Као дресирани медвед на бициклу, наставио сам да педалирам. Коначно нешто познато:
врителн('Унесите први број');
Онда - врителн('Унесите други број');
Онда - врителн('Резултат = ',ц);
Програмерска каријера. Поглавље 1. Први програм
Тај први Турбо Пасцал програм

Уф, написао сам. Скинуо сам руке са тастатуре и чекао да се гуру појави за даља упутства. Коначно је дошао, скенирао екран и рекао ми да притиснем тастер Ф9.
„Сада је програм састављен и проверен на грешке“, рекао је гуру
Није било грешака. Затим је рекао да притиснем Цтрл+Ф9, што сам такође први пут морао да објасним корак по корак. Оно што треба да урадите је да држите Цтрл, а затим притисните Ф9. Екран је постао црн и на њему се коначно појавила порука коју сам разумео: „Унесите први број“.
На команду наставника унео сам 7. Затим други број. Унесем 3 и притиснем Ентер.

На екрану се брзином муње појављује линија 'Резултат = 10'. Била је то еуфорија и никада у животу нисам доживео нешто слично. Као да се цео Универзум отворио преда мном и ја сам се нашао у некаквом порталу. Топлина је прошла мојим телом, осмех ми се појавио на лицу, а негде дубоко у подсвести схватио сам - да је ово моје. Веома интуитивно, на емотивном нивоу, почео сам да осећам огроман потенцијал у овој кутији која зуји испод стола. Има толико ствари које можете учинити својим рукама, а она ће то учинити!
Да је ово нека магија. Било је потпуно ван мог разумевања како се тај жути, неразумљиви текст на плавом екрану претворио у згодан и разумљив програм. Што се такође рачуна! Оно што ме је изненадило није сама рачуница, већ чињеница да су се исписани хијероглифи претворили у калкулатор. Тада је постојао јаз између ова два догађаја. Али интуитивно сам осећао да овај комад хардвера може да уради скоро све.

Скоро цијелим путем до куће у минибусу сам се осјећао као у свемиру. У глави ми се вртела ова слика са натписом „Резултат“, како се то десило, шта још ова машина може да уради, да ли могу да напишем нешто сам без папира. Хиљаду питања која су ме истовремено занимала, узбуђивала и инспирисала. Имао сам 14 година. Тог дана ме је одабрала струка.

Наставиће се ...

Извор: ввв.хабр.цом

Додај коментар