Програмерска каријера. Поглавље 3. Универзитет

Наставак приче „Програмерска каријера“.

По завршетку вечерње школе, дошло је време да се иде на универзитет. У нашем граду је постојао један технички универзитет. Имао је и један факултет „Математике и рачунарства“, који је имао једно одељење „Рачунарски системи“, где су обучавали будуће ИТ раднике – програмере и администраторе.
Избор је био мали и пријавио сам се за специјалност „Програмирање рачунарског инжењеринга“. Предстојала су 2 пријемна испита. У језику и математици.
Испитима је претходио интервју, а избор облика обуке – буџет или уговор, тј. бесплатно или за новац.

Моји родитељи су били присутни на мом разговору и били су забринути око пријема. Наравно, изабрали су уговорни облик обуке. Иначе, коштао је око 500 долара годишње, што је 2003. године био велики новац, посебно за наш мали град. Добро се сећам дијалога мог оца са девојком из пријемне канцеларије:
Девојка: Можете покушати да положите испите на буџету, а ако не успе, пређите на уговор. Можете платити на рате.
Отац: Не, већ смо одлучили да ћемо се пријавити за уговор
Девојка: Па зашто, не ризикујете ништа
Отац: Не, и даље је ризик. Реците ми, да ли се сви пријављују за уговор?
Девојка: Да, сви знају. Вероватно само потпуни дебили не могу
Отац: Онда имамо шансе... рекао је церећи се и потписали смо документе за пријем

Наравно, представе из средње школе су још увек биле свеже у сећању мојих родитеља, па сам годинама разумео зашто су то говорили.

У лето, пре пријема, наставио сам да купујем књиге за целих 40 долара које ми је бака дала од своје пензије.
Од незаборавних и значајних:
1. „УМЛ 2.0. Објектно оријентисана анализа и дизајн". Књига која ме је научила како да дизајнирам софтвер било које сложености, промислим кроз архитектуру, разложим све на компоненте, напишем случајеве употребе и нацртам УМЛ дијаграме. Ово је знање које је потребно старијима, лидерима и архитектама. Они који материјализују систем из празнине, када постоји само опис идеје.
Знам људе који су већ прешли 30 година, а они још увек не могу да донесу одлуку осим ако нема наређења одозго, од вишег програмера. У слободном раду и раду на даљину, када често радите један на један са клијентом, ово знање је такође непроцењиво.
Такође су релевантни за индие програмере који креирају нове апликације и услуге. Иако се мало људи замара детаљним дизајном. Зато имамо софтвер таквог квалитета, који гута сву меморију, са кривим УКС-ом.
2. „АНСИ Ц++ 98 стандард“. Није баш књига, али има преко 800 страница основних информација. Наравно, нисам га читао одељак по део, већ сам се реферисао на специфична језичка правила када сам развијао свој Ц++ компајлер. Дубина знања језика, након проучавања и примене стандарда, не може се описати ниједним дивним епитетом. Можемо рећи да знате све о језику, па чак и више. Веома дуг, мукотрпан рад на проучавању стандарда. Али пред мном је било 5 година универзитета, тако да ме нико није гурао
3. "Делпхи 6. Практични водич.". Био је то брз скок у свет ГУИ-ја и ласкања формама. Прага за улазак скоро да није било, а Паскала сам већ прилично добро познавао. Док сам студирао на универзитету, писао сам лавовски део комерцијалних програма у Делпхију. Ово је био софтвер за дипломиране студенте, рачуноводство за мала предузећа, владу. институције. Затим је било неколико слободних налога. Средином XNUMX-их, Делпхи је доминирао Виндовс развојним тржиштем. До сада, на благајни у локалним продавницама можете видети програме са познатим фонтовима и контролама, што Делпхи апликацију одмах разликује од било које друге
4. "МФЦ водич". Пошто је савладао Делпхи, било је логично наставити креирање корисничког интерфејса у Ц++. Било је много теже, није све ишло и било разумљиво. Међутим, довео сам и ову технологију до фазе примене у комерцијалним пројектима. Једна немачка антивирусна компанија дистрибуира мој програм, написан у МФЦ-у до данас.
5. "3 диска са МСДН библиотеком 2001". Нисам одмах имао интернет, а колико се сећам, МСДН библиотека није била на мрежи 2003. године. У сваком случају, било ми је лакше да инсталирам МСДН референтну књигу на свој локални рачунар и лако пронађем документацију за било коју ВинАпи функцију или МФЦ класу.
Програмерска каријера. Поглавље 3. Универзитет
Најзначајније књиге прочитане у периоду 2002-2004

Реч је о књигама које су читане у периоду 2002-2004. Наравно, сада је ово отрцано наслеђе, које се преписује у серијама користећи .НЕТ и Веб технологије. Али ово је мој пут, можда је неко од вас имао сличан.

Први семестар

Крајем лета, време је за полагање пријемних испита на факултету. Све је прошло глатко. Положио сам испит из језика и математике и уписао прву годину смера Програмирање рачунарских система.
Првог септембра, очекивано, отишао сам на прве часове у животу. „Студентско време је најсветлије време у животу“, рекла ми је мајка. Радо сам у то веровао.
Првог дана прошла су 3 пара општеобразовних предмета, сви су се упознали у групи, а генерално универзитет је оставио пријатан утисак.
Коначно су почели да нас уче правом програмирању у Ц! И, поред тога, предавали су историју рачунарства, дигиталне технологије и многе друге информације које су ми биле релевантне. Чак и псовке. анализа је била корисна, јер ми је омогућила да дубље разумем шта је написао веома поштовани Доналд Кнут.

Часови програмирања за мене су се одвијали у возачкој атмосфери. Коначно су ми људи дошли по помоћ. Осећао сам се потребним. На почетку часа добили смо задатак да напишемо програм. Задатак је дизајниран за један и по пар, затим пола сата за тестирање. Успео сам да напишем задатак за 3-5 минута, а остатак времена сам шетао по канцеларији и помагао другима да реше проблем.
Није било довољно рачунара за целу групу, па смо најчешће седели по двоје за једним рачунаром. Видевши моје способности, троје, четворо, понекад и 5-6 људи село је крај мог стола и није оклевало да седне да научи оно што сам научио пре пар година из књиге Кернигана и Ричија.
Моји другови из разреда су видели моје способности и сами су постављали питања, или су се нудили да се само друже после часова. Тако сам стекао многе пријатеље, са којима се и данас дружимо.

Зими је било време за прву сесију. Укупно је било потребно полагати 4 предмета: 2 врсте више математике, историју и програмирање. Све је прошло, неко 4 поена, неко 3. И мени је програмирање додељено аутоматски. Наставници су већ познавали моје вештине, тако да нису видели смисла да ме тестирају. Са задовољством сам се појавио на седници са својом књижицом да одмах добијем потпис на њој и управо сам се спремао да се вратим кући када су ме другови из разреда замолили да останем и стојим испред врата. Добро. Сместивши се на прозорску даску, на излазу из канцеларије, почео сам да чекам. Поред мене се мотао још један момак, који је такође аутоматски положио испит.
„Зашто остајеш овде“, упитао сам
— „Желим да зарадим новац решавајући проблеме. Зашто си овде?
- "И ја исто. Само нећу да зарађујем. Ако вам затреба помоћ, онда ћу, из љубазности мог срца, само одлучити."
Мој противник је оклевао и промрмљао нешто као одговор.

После неког времена, другови из разреда су почели да напуштају публику, носећи са собом пресавијене папириће на којима су били проблеми са испита.
„Помози ми да одлучим“, упитао је први дрско. „Добро, сад ћу одлучити“, одговорио сам. Није прошло ни 5 минута пре него што сам хемијском оловком нашкрабао раствор на згужваном комаду папира и вратио га. Видевши да шема функционише, људи су почели да напуштају публику много чешће, а понекад и по двоје или троје.
На мом радном прозору било је три хрпе лишћа. Једно паковање садржи новопристигле ТОДО листове. Испред мене је био лист У току, а поред њега паковање „Готово“.
Ово је био мој најбољи час. Цела група, скоро 20 људи, обратила ми се за помоћ. И свима сам помогао.
А момак који је желео да заради новац брзо је отишао након неколико минута, схвативши да овде нема шта да се ухвати, сва пажња је била усмерена на алтруисту.
Цела група је положила испит са оценама 4 и 5, а ја сада имам 20 пријатеља и непоколебљив ауторитет у програмским питањима.

Први новац

После зимске сесије, по целом факултету се прочуло да постоји човек који може да реши било који програмски проблем, за који смо били распоређени код куће или на седници. А усмено се ширило не само међу бруцошима, већ и међу студентима виших разреда.
Као што сам већ написао, развио сам пријатељске односе са свима у групи након „најлепшег часа“ на испиту и почели смо да комуницирамо веома блиско са пар момака. Постали смо прави пријатељи и проводили смо много времена ван универзитета. Ради једноставности презентације, назовимо их Елон и Ален (надимци су блиски правим).
Елона смо звали по имену, али је Ален добио надимак у част Алена Делона, због његове способности да заведе било коју лепоту. Девојке су буквално кружиле око њега, у разноврсном броју. У погледу упознавања људи и успостављања веза за ноћ, Алаин Делон није имао равног. Био је прави алфа мужјак за женски пол, што је за већину информатичара потпуно необично. Поред љубавних афера, Алаин је био дизајнер по вокацији. А ако је требало нешто да нацрта, на пример, тада популарне трепћуће банере Веб 1.0 формата, онда је то урадио са лакоћом.

Много више се може рећи о Елону. И дан-данас се срећемо са њим, десет година након универзитета. У првим годинама живота био је мршав, прилично ћутљив момак. (Исто се не може рећи за данашњег типа крупног лица у џипу). Међутим, ја сам био исти – мршав и ћутљив. Стога мислим да смо брзо нашли заједнички језик.
Често после часова, ја, Елон и Ален смо се окупљали у пивници, покривеној церадом. Прво, био је прекопута универзитета, а друго, за „рубља“ и 50 копејки могли сте да добијете неке доброте за 2 сата запаљиве забаве. Као точено пиво и крекери. Али поента је била другачија.
Елон и Ален су били из других градова и живели су у изнајмљеној соби. Стално им је недостајало новца, а било је тренутака када су морали да гладују. Срећни тренуци, када су на картицу добијали стипендију од 10 долара, славили су истог дана и тада је дошло време да „стегну каиш“ и живе од онога што Бог шаље.

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

Елон је био РОП. То јест, шеф одељења продаје. Наиме, његове обавезе су биле проналажење нових клијената за наше оутсоурцинг пословање. На продајном каналу су били хоризонтално штампани А4 летци, са једноставним натписом: „Решавање програмских проблема“. А испод је Елонов број телефона.
Оваква спољна реклама постављена је на сваком спрату где су се могли појавити студенти који студирају програмирање.
Додатни, јачи у смислу лојалности купаца, био је канал продаје путем усмене предаје.

Пословни модел је био једноставан. Било преко препоруке или огласа, јавио нам се студент. Дао је опис програмског проблема који је требало решити до одређеног рока, а ја сам га решио за студентску цену. Елон је био укључен у продају и примао је свој проценат. Ален Делон је ређе учествовао у нашем послу, али ако је требало да направимо дизајн, слику или привучемо додатне клијенте, увек је био од помоћи. Својим шармом довео нам је доста нових људи. Све што сам требао да урадим је да обрадим овај цевовод брзином од 5-10 задатака дневно. Рокови су били строги - не више од недељу дана. И чешће него не, то је морало да се уради јуче. Стога су ме такве околности брзо научиле да пишем програме у „току“, а да ме не омета свака ситница попут земљотреса јачине 5,9 или веће несреће иза прозора.

У најтоплијој сезони, пре седнице, односно у децембру и мају, чинило се да имам на свом рачунару задатке читавог универзитета. На срећу, већина њих је била истог типа, посебно када нас је контактирао велетрговац кога је представљао представник целе групе. Тада је било могуће урадити 20 задатака, на пример у асемблеру, мењајући само 2-3 реда. У таквом годишњем добу олово је текло као река. Једино што нам је недостајало су дискете. У 2003-2005. години сиромашни студенти у нашем граду нису имали ништа попут преноса новца путем интернета. Штавише, није било гаранција плаћања, што се сада зове есцров. Стога је компанија СКС, као извршилац налога, заказала термин на територији универзитета и ми смо дали дискета са решењем. Повраћаја готово да и није било (са енглеског рефунд - враћање уплате на захтев клијента). Сви су били срећни и добили су својих 4-5 поена ако су могли да науче шта сам додао у реадме.ткт фајл на дискети. Мада, једноставна демонстрација потпуно функционалног програма такође је често изазивала вау ефекат међу наставницима.

Цена је, наравно, била смешна, али смо је узели у количини. На пример, типичан кућни задатак кошта 2-3 долара. Курс 10$. Једном је испао џекпот у виду програма за рад кандидата, а износио је чак 20 долара за пријаву за свршеног студента који се спрема за одбрану. У врелој сезони овај приход може да се помножи са 100 клијената, што је на крају било више од просечне плате у граду. Осећали смо се кул. Могли су да приуште ноћне клубове и тамо се забављају, уместо да се гуше чебуреком за последњи пени.

Са становишта мојих вештина, множиле су се са сваким новим ученичким задатком. Почели смо да добијамо пријаве са других факултета, са другачијим програмом обуке. Неки старији студенти су већ користили Јаву и КСМЛ у свом пуном потенцијалу када смо се ми ослањали на Ц++/МФЦ. Некима је био потребан Ассемблер, другима ПХП. Научио сам читав зоолошки врт технологија, библиотека, формата за складиштење података и алгоритама за себе приликом решавања проблема.
Овај универзализам је остао са мном до данас. Разне технологије и платформе се такође користе приликом рада на пројектима. Сада могу да пишем софтвер или апликацију за било коју платформу, ОС или уређај. Квалитет ће, наравно, варирати, али за посао којим се углавном бавим обично је важан буџет. А оркестар једног човека за њих значи смањење буџета тачно онолико колико програмера могу заменити својим вештинама.

Ако говоримо о највећој користи коју ми је донело студирање на факултету, то не би била предавања о алгоритмима или филозофији. И неће „научити да учи“, као што је модерно рећи за универзитете. Прво, то ће бити људи са којима смо после тренинга остали у пријатељским односима. И друго, ово је иста компанија СКС која ме је исковала у професионалног програмера, са стварним и разноврсним поруџбинама.
Желео бих да се сетим фразе која је веома погодна за овај део приче: Особа постаје програмер када други људи почну да користе његове програме и плаћају новац за то..

Тако је бренд компаније СКС био надалеко познат не само у студентским круговима, већ и међу наставницима. Чак је био случај да ми је један од наставника дошао кући да му помогнем да напише програм за његове научне потребе. Он ми је, пак, помогао у његовој специјализацији. Обојица смо се толико заокупили послом да смо обојица заспали у зору. Он је на каучу, а ја на столици испред компјутера. Али они су извршили своје задатке и обоје су били задовољни радом једни других.

Претварање судбине

Почела је 4. година универзитета. Последњи курс по чијем завршетку се додељује диплома. Општеобразовних предмета практично није било, већ само оних везаних за рачунаре и мреже. Сада се понекад кајем што нисам имао времена или нисам показао интересовање за исту електронику или унутрашњу структуру мрежа. Сада ово завршавам из нужде, али сам сигуран да је ово основно знање неопходно сваком програмеру. С друге стране, не можете знати све.
Завршавао сам писање сопственог Ц++ компајлера, који је већ био у стању да провери код за грешке у складу са стандардом и генерише упутства за склапање. Сањао сам да ћу моћи да продам свој компајлер за 100 долара по лиценци. Помножио сам ово са хиљаду купаца и ментално
пребачен у Хаммер, са басовима 50 Цент-а из звучника и згодама на задњем седишту. Шта да радиш, са 19 година - такви су приоритети. Трик мог домаћег компајлера је био у томе што је произвео грешке на руском, уместо на енглеском из Висуал Ц++ и гцц, што није свима разумљиво. Видио сам ово као убиствену особину коју још нико на свету није измислио. Мислим да нема смисла даље причати. Није дошло до продаје. Међутим, постигао сам дубоко познавање језика Ц++, које ме храни до данас.

У четвртој години сам све мање ишла на факултет јер сам знала већину програма. А оно што нисам знао, решио сам разменом са студентом који је разумео, на пример, електронику или теорију вероватноће. Оно што тада нисмо смислили. И невидљиве слушалице на жици у које је диктиран одговор. И трчање из учионице како би гуру у својој специјалности могао да вам напише решење за цео испит за 2 минута. Било је то сјајно време.
Током истог курса почео сам да размишљам о правом послу. Са канцеларијом, правим комерцијалним апликацијама и пристојном платом.
Али у то време, у нашем граду, посао се могао наћи само као програмер
„1Ц: Рачуноводство“, што ми уопште није одговарало. Иако из безнађа, већ сам био спреман за ово. У то време, девојка је вршила притисак на мене да се преселим у посебан стан.
Иначе, спавање са родитељима кроз зид уопште није цомме ил фаут. Да, и већ сам се уморио од решавања студентских проблема, и желео сам нешто више.

Невоља је дошла ниоткуда. Помислио сам да рекламирам на маил.ру да тражим посао са платом од 300 долара за место Ц++/Јава/Делпхи програмера. Ово је 2006. године. На шта су у суштини одговорили нешто попут: „Можда би требало да пишете Биллу Гејтсу са таквим захтевима за плату?“ Ово ме је узнемирило, али међу гомилом сличних одговора нашла се особа која ме је довела у слободњак. Ово је била једина прилика у нашем сиромашном Лас Вегасу да добро зарадим радећи оно што сам знао да радим.
Тако је студирање на универзитету глатко прешло у рад на слободној размени. Затварајући тему универзитета, можемо рећи следеће: Нисам ишао на 5. годину. Постојао је један програм и концепт „бесплатно присуство“, који сам користио 146%.
Једино је требало да се одбрани специјалистичка диплома. Што сам успешно урадио уз помоћ својих пријатеља. Вреди рећи да сам се овим курсом већ преселио од родитеља у изнајмљени стан и купио нови ауто. Тако је почела моја каријера професионалног програмера.

Наредна поглавља биће посвећена појединачним пројектима, најтежим промашајима и најнеадекватнијим клијентима. Каријера у слободњаку од 5 до 40 $/сат, покретање сопственог стартапа, како ми је забрањен приступ слободњацима Упворк и како сам од слободњака постао вођа тима у другој највећој нафтној компанији на свету. Како сам се после канцеларије и покретања вратио раду на даљину и како сам решавао унутрашње проблеме социјализацијом и лошим навикама.

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

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

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