Кар'ера праграміста. Кіраўнік 3. Універсітэт

Працяг апавядання "Кар'ера праграміста".

Скончыўшы вячэрнюю школу, прыйшоў час паступаць ва ўніверсітэт. У нашым горадзе быў адзін універсітэт тэхнічнай скіраванасці. У ім жа, быў адзін факультэт "Матэматыкі і Інфарматыкі", на якім была адна кафедра "Кампутарных сістэм", дзе навучалі будучых IT-шнікаў - праграмістаў і адмінаў.
Выбар быў невялікі і я падаў дакументы на спецыяльнасць "Праграмаванне вылічальнай тэхнікі". Наперадзе было 2 уступныя экзамены. Па мове і матэматыцы.
Экзаменам папярэднічала сумоўе, і выбар формы навучання - бюджэт або кантракт, г.зн. бясплатна ці за грошы.

На маёй гутарцы прысутнічалі бацькі, якія перажывалі за паступленне. Зразумела, яны выбралі кантрактную форму навучання. Каштавала яна да слова каля 500$/год, што на 2003 год былі вялікія грошы, асабліва для нашага маленькага горада. Добра памятаю дыялог бацькі з дзяўчынай з прыёмнай камісіі:
дзяўчына: Вы можаце паспрабаваць здаць іспыты на бюджэт, а калі не атрымаецца, тады перайсці на кантракт. Аплаціць можна часткамі.
бацька: Не, мы ўжо вырашылі, што будзем паступаць на кантракт
дзяўчына: Ну чаму ж, вы нічым не рызыкуеце
бацька: Не, гэта ўсё роўна рызыка. Скажыце, а на кантракт усё паступаюць?
дзяўчына: Так, усё паступаюць. Мусіць толькі поўныя дэбілы не могуць
бацька: Тады ў нас шанцы ёсць… ухмыльнуўшыся, сказаў ён, і мы падпісалі дакументы на паступленне

Вядома, яшчэ свежыя былі ў памяці бацькоў перформансы са старэйшых класаў, таму з гадамі я разумею, чаму так было сказанае.

Улетку, да паступлення, я працягваў купляць кніжкі на ўсе 40 $, якія мне выдавала бабуля з пенсіі.
З які запомніўся і значнага:
1. «UML 2.0. Аб'ектна-арыентаваны аналіз і праектаванне». Кніга, якая навучыла мяне праектаваць софт любой складанасці, прадумваць архітэктуру, раскладваць усё на кампаненты, прапісваць use-cases, маляваць дыяграмы UML. Гэта тыя веды, якія патрэбны сеньёрам, лідам, архітэктарам. Тым, хто матэрыялізуе сістэму з пустаты, калі ёсць толькі апісанне ідэі.
Я ведаю людзей, якім ужо за 30, а яны да гэтага часу не могуць прыняць рашэнне, калі няма ўказанні зверху, ад распрацоўніка вышэй рангам. У фрылансе і выдаленай працы, калі часта працуеш сам-насам з кліентам - гэтыя веды таксама неацэнныя.
Актуальныя яны і для інды-распрацоўшчыкаў, якія ствараюць новыя прыкладанні і сэрвісы. Хаця мала хто затлумляецца дэталёвым праектаваннем. Таму і маем софт такой якасці, які праглынае ўсю памяць, з крывым UX.
2. "Стандарт ANSI C++ 98". Не зусім кніга, але гэта больш за 800 старонак даведачнай інфармацыі. Зразумела, я не чытаў яе частка за часткай, а звяртаўся да пэўных правіл мовы пры распрацоўцы свайго кампілятара З++. Глыбіня ведаў мовы, пасля вывучэння і рэалізацыі стандарта не апісваецца ніводным выдатным эпітэтам. Можна сказаць, што ты ведаеш пра мову ўсё, і нават болей. Вельмі доўгая, карпатлівая праца па вывучэнні стандарта. Але наперадзе ў мяне было 5 гадоў універсітэта, так што ў шыю ніхто не гнаў
3. "Delphi 6. Практычнае кіраўніцтва.". Гэта быў імклівы скачок у свет GUI і формашлепства. Парога ўваходу амаль не было, а Pascal я ўжо нядрэнна ведаў. Вучачыся ва ўніверсітэце, я напісаў ільвіную дзель камерцыйных праграм на Delphi. Гэта быў софт для аспірантаў ВНУ, улік дробнага бізнэсу, дзярж. устаноў. Затым было некалькі заказаў на фрылансе. У сярэдзіне нулявых Delphi панаваў на рынку распрацоўкі пад Windows. Да гэтага часу, на касе ў мясцовых крамах можна ўбачыць праграмы, са знаёмымі шрыфтамі і кантролямі, якое адразу адрознівае Delphi-дадатак ад любога іншага
4. «Самавучнік MFC». Асвоіўшыся з Delphi, лагічна было працягнуць ствараць UI на З++. Гэта было ў разы больш складана, не ўсё атрымлівалася і было зразумелым. Аднак і гэтую тэхналогію я давёў да стадыі прымянення ў камерцыйных праектах. Адна нямецкая антывірусная кампанія, распаўсюджвае маю праграму, напісаную на MFC да гэтага часу.
5. "3 дыска з MSDN Library 2001". Інтэрнэт у мяне з'явіўся не адразу, ды і наколькі памятаю, MSDN Library не ляжала ў сетцы ў 2003 годзе. У любым выпадку, мне прасцей было ўсталяваць даведнік MSDN на лакальны ПК, і лёгка знаходзіць дакументацыю па любой WinApi функцыі ці MFC класе.
Кар'ера праграміста. Кіраўнік 3. Універсітэт
Самыя значныя кнігі прачытаныя ў перыяд 2002-2004 гады

Гэта кнігі, якія былі прачытаныя ў перыяд 2002-2004 год. Зразумела, цяпер гэта трухлявы legacy, якое пачкамі перапісваецца на .NET і Web-тэхналогіі. Але гэта мой шлях, магчыма, у некаторых з вас быў падобны.

Першы семестр

У канцы лета, надышоў час здаваць уступныя іспыты ва ўніверсітэт. Усё прайшло гладка. Я здаў іспыт па мове і матэматыцы і быў залічаны на першы курс спецыяльнасці "Праграмаванне вылічальных сістэм".
Першага верасня, як і належыць, я пайшоў на першыя ў сваім жыцці пары. «Студэнцкая пара - самая светлая пара ў жыцці» - казала мне маці. Ахвотна ў гэта верыў.
У першы дзень прайшло 3 пары па агульнаадукацыйных прадметах, усе пазнаёміліся адна з адной у групе, і ў цэлым універ пакінуў прыемнае ўражанне.
Нарэшце нас сталі вучыць true-праграмаванню на мове Сі! А яшчэ, у дадатак, выкладалі гісторыю інфарматыкі, лічбавай тэхнікі і шмат якой іншай актуальнай для мяне інфармацыі. Нават мацюк. аналіз быў дарэчы, бо ён мне дазваляў глыбей зразумець, што напісаў глыбока паважаны Дональд Кнут.

Пары па праграмаванні праходзілі ў драйвавай для мяне атмасферы. Нарэшце людзі ішлі да мяне па дапамогу. Я адчуваў сябе патрэбным. У пачатку пары нам давалі заданне напісаць праграму. Задача была разлічана на паўтары пары, потым падлогу гадзіны на праверку. Мне ўдавалася напісаць заданне за 3-5 хвілін, а астатні час я хадзіў па кабінеце і дапамагаў іншым разабрацца з задачай.
Кампутараў на ўсю групу бракавала, таму часцей за ўсё мы сядзелі па двое за адным ПК. Убачыўшы мае здольнасці, каля маёй парты садзіліся трое, чацвёра, бывала і па 5-6 чалавек не грэбавалі падсесці, каб навучыцца таму, чаму я навучыўся яшчэ пару гадоў таму па кнізе Кернігана і Рытчы.
Аднагрупнікі бачылі мае здольнасці і самі падыходзілі з пытаннямі, ці прапаноўвалі проста пагуляць пасля пар. Так у мяне з'явілася шмат сяброў, з большасцю з якіх сябруем да гэтага часу.

Зімой падыходзіла пара першай сесіі. Усяго трэба было здаваць 4 прадметы: 2 разнавіднасці вышэйшай матэматыкі, гісторыя і праграмаванне. Усё здалося, дзе на 4 балы, дзе на 3. А праграмаванне мне паставілі аўтаматам. Выкладчыкі ўжо ведалі мае навыкі, таму сэнсу мяне правяраць не бачылі. Я радасна з'явіўся з залікоўкай на сесію, каб адразу атрымаць у ёй роспіс і ўжо было збіраўся вяртацца дадому, як аднагрупнікі папрасілі мяне застацца і пастаяць за дзвярыма. Што ж. Размясціўшыся ў падваконніка, на выхадзе з кабінета, я стаў чакаць. Побач са мной круціўся яшчэ адзін хлопец, які таксама здаў іспыт аўтаматам.
- "Ты навошта тут затрымліваешся", спытаў я
- «Хачу зарабіць на рашэнні задач. А ты навошта?
- "Я таксама. Толькі зарабляць не збіраюся. Калі патрэбна будзе дапамога - то па дабрыні душэўнай, вырашу проста так»
Мой апанент сумеўся, і нешта прабурчаў у адказ.

Праз час, з аўдыторыі сталі выходзіць аднагрупнікі, выносячы з сабой згорнутыя лісточкі, на якіх былі задачы з іспыту.
«Дапамажы вырашыць» - прасіў першы смяльчак. «Добра, зараз вырашу» - адказваў я. Не праходзіла і 5 хвілін, як я шарыкавай ручкай надрапваў рашэнне на пакамячаным лісточку і аддаваў яго назад. Убачыўшы, што схема працуе, з аўдыторыі сталі выходзіць людзі значна часцей, і часам нават па двое-трое за раз.
На маім працоўным падваконніку было тры чаркі лісцікаў. У адным пачку ізноў прыбылыя TODO-лісты. Перада мной быў лісцік In Progress, і побач ляжаў пачак "Done".
Гэта была мая зорная гадзіна. Уся група, а гэта без малога 20 чалавек, звярнулася да мяне за дапамогай. І я дапамог усім.
А той хлопец, што хацеў зарабіць, спешна выдаліўся ўжо праз некалькі хвілін, разумеючы, што лавіць тут няма чаго, уся ўвага была засяроджана на альтруіст.
Уся група здала іспыт на 4 і 5, а ў мяне зараз з'явілася 20 сяброў і непарушны аўтарытэт у пытаннях праграмавання.

Першыя грошы

Пасля зімовай сесіі, на ўсім факультэце пайшлі чуткі аб тым, што ёсць хлопец, які можа вырашыць любую задачу па праграмаванні, з якіх нам задавалі на хату ці падчас сесіі. Прычым не толькі сярод першакурснікаў, але і на старэйшых курсах прайшла гаворка.
Як я ўжо пісаў, у групе ў мяне склаліся з усімі сяброўскія адносіны пасля «зорнай гадзіны» на іспыце, і з парай рабят мы сталі мець зносіны вельмі блізка. Мы сталі сапраўднымі сябрамі, і бавілі шмат часу па-за межамі ўнівера. Для прастаты выкладу, назавем іх Ілон і Ален (нікнеймы блізкія да сапраўдных).
Ілона мы называлі па імені, Ален жа, быў празваны ў гонар Ален Дэлона, за яго здольнасці ахмурыць любую красуню. Дзяўчаты літаральна кружыліся вакол яго, у разнастайных колькасцях. У плане знаёмства і закручвання адносін на ноч - Ален Дэлон не было роўных. Ён быў сапраўдным альфа-самцом для жаночага полу, што большасці айцішнікаў зусім не ўласціва. Апроч спраў амурных, Ален па прызванні быў дызайнерам. І калі патрабавалася нешта намаляваць, напрыклад папулярныя тады якія мігцяць банеры фармату Web 1.0 - то ён рабіў гэта з лёгкасцю.

Пра Ілона можна расказаць значна больш. Мы перасякаемся з ім да гэтага часу, ужо праз дзясятак гадоў пасля ўнівера. На першых курсах ён уяўляў з сябе худога, даволі маўклівага хлопца. (Чаго не скажаш пра сённяшняга мардатага дзядзьку на джыпе). Зрэшты, я быў такі самы - хударлявы і негаваркі. Таму, я думаю, мы хутка знайшлі агульную мову.
Часта пасля пар, я, Ілон і Ален, збіраліся ў піўной, накрытай брызентам. Па-першае, яна была праз дарогу ад універа, а па-другое на «рубель» і 50 капеек, можна было набраць нішцякоў на 2 гадзіны запальнай паці. Накшталт разліўнога піва і сухарыкаў. Але сутнасць была ў іншым.
Ілон і Ален былі з іншых гарадоў, і жылі ў здымным пакоі. Грошай ім увесь час бракавала, а бывалі выпадкі што і галадаць прыходзілася. Шчаслівыя моманты, калі ім на карту паступала стыпендыя ў 10$, адзначаліся ў той жа дзень і далей настаў час «зацягнуць паясы» і жыць на тое, што Бог пашле.

Зразумела такі расклад матываваў прыезджых студэнтаў шукаць шляхі дадатковага заробку. А перад імі, на адлегласці выцягнутай рукі, сядзела "светлая галава" ў выглядзе мяне. Які да таго ж згодлівы і рэдка адмаўляе людзям у дапамозе.
Не ведаю, ці правільна я апісаў тую сітуацыю, але ў канчатковым рахунку гэтыя вячоркі ў піўнусе прывялі да стварэння першай у маёй кар'еры IT-кампаніі пад назвай СКС. Назва проста была складзена з першых літар нашых прозвішчаў. Наша маладая кампанія, у асобе трох фаўдэраў рвала канкурэнтаў і ўвесь універ на часткі на працягу чатырох наступных гадоў.

Ілон быў РОПам. Гэта значыць - кіраўніком аддзела продажаў. У прыватнасці, у яго абавязкі ўваходзіла шукаць новых кліентаў, для нашага аўтсорсінгавага бізнесу. Каналам продажаў былі гарызантальна раздрукаваныя ўлёткі А4, з простым надпісам: "Рашэнне задач па праграмаванні". І ўнізе тэлефон Ілона.
Такога роду вонкавая рэклама была размешчана на кожным паверсе, дзе маглі з'явіцца студэнты, якія вывучаюць праграмаванне.
Дадатковым, мацнейшым з пункту гледжання лаяльнасці кліентаў, быў канал продажаў праз сарафаннае радыё.

Бізнэс мадэль была простая. Або па рэкамендацыі, або па аб'яве, да нас звяртаўся студэнт універсітэта. Даваў апісанне задачы па праграмаванні, якое трэба было вырашыць да вызначанага тэрміна, і за студэнцкі прайс я яе вырашаў. Ілон займаўся продажамі і атрымліваў свой працэнт. Ален Дэлон радзей удзельнічаў у нашым бізнэсе, але калі трэба было зрабіць дызайн, карцінку ці прыцягнуць дадатковых кліентаў, то ён заўсёды быў дарэчы. Сваім абаяннем, ён прыводзіў да нас дастаткова шмат новых людзей. Мне ж заставалася толькі апрацоўваць гэты канвеер са хуткасцю 5-10 задач у дзень. Дэдлайны былі жорсткія — не больш за тыдзень. А гушчару, трэба было зрабіць на ўчора. Таму, такія абставіны хутка навучылі мяне пісаць праграмы ў «струмені», не адцягваючыся на ўсякую дробязь накшталт землятрусу з магнітудай 5,9 ці буйнага ДТЗ за акном.

У самы спякотны сезон, перад сесіяй, гэта значыць у снежні і траўні, здавалася што ў мяне на кампе былі задачы ўсяго ўнівера. Балазе большасць з іх былі аднатыпныя, асабліва калі да нас звяртаўся аптавікі ў асобе прадстаўніка цэлай групы. Тады можна было зрабіць 20 задач, напрыклад на асэмблеры, мяняючы толькі па 2-3 радкі. У такі сезон, ліды цяклі ракой. Адзінае чаго нам не хапала, дык гэта дыскет. У 2003-2005 гадах, у бедных студэнтаў нашага горада, не было такога паняцця, як скінуць праз інтэрнэт. Тым больш, не было ніякіх гарантый аплаты, што зараз называецца тэрмінам escrow. Таму, кампанія СКС, як выканаўца заказаў, прызначала сустрэчу на тэрыторыі ўніверсітэта і мы аддавалі дыскету з рашэннем. Рэфанда (ад англ. Refund - вяртанне плацяжу па просьбе кліента) амаль не было. Усе заставаліся задаволеныя, і атрымлівалі свае 4-5 балаў, калі маглі вывучыць тое, што я дадаваў у файл readme.txt на дыскету. Хоць, і простае дэма цалкам працоўнай праграмы таксама часта выклікала ваў-эфект у выкладчыкаў.

Прайс быў смешны вядома, але мы бралі колькасцю. Для прыкладу, звычайная задача на хату, каштавала 2-3$. Курсавая 10 $. Джэк-пот у выглядзе праграмы для кандыдацкай працы выпадаў адзін раз, і гэта было ажно 20$ за прыкладанне для аспіранта таго, хто рыхтуецца да абароны. У спякотны сезон гэты даход можна памнажаць на 100 кліентаў, што ў выніку было больш за сярэдні заробак па горадзе. Мы адчувалі сябе крутымі. Маглі дазволіць сабе начныя клубы і адрывацца там па поўнай, а не душыцца чабурэкам на апошнія капейкі.

З пункту гледжання маіх навыкаў - яны памнажаліся з кожнай новай студэнцкай задачай. Да нас пачалі паступаць заяўкі з іншых факультэтаў, з іншай праграмай навучання. Некаторыя старшакурснікі ўжо ва ўсю выкарыстоўвалі Java і XML, калі мы налягалі на C++/MFC. Камусьці патрэбен быў Асэмблер, камусьці PHP. Цэлы заапарк тэхналогій, бібліятэк, фарматаў захоўвання дадзеных і алгарытмаў я даведваўся для сябе пры рашэнні задач.
Гэты ўніверсалізм застаўся са мной і дагэтуль. У працы над праектамі таксама выкарыстоўваюцца самыя розныя тэхналогіі і платформы. Цяпер я магу напісаць софт ці дадатак пад любую платформу, АС ці дэвайс. Якасць зразумела будзе рознай, але для бізнэсу, з якім я ў асноўным маю справу, як правіла важны бюджэт. І чалавек-аркестр для іх - гэта скарачэнне бюджэту роўна ў столькі разоў, колькіх распрацоўшчыкаў я магу замяніць сваімі навыкамі.

Калі казаць пра самую вялікую карысць, якую мне прынесла навучанне ва ўніверсітэце, то гэта не будуць лекцыі па алгарытмах ці філасофіі. І не "навучыцца вучыцца", як модна казаць пра ВНУ. Першае - гэта будуць людзі, з якімі засталіся сяброўскія адносіны пасля навучання. А другое - гэта тая самая фірма СКС, якая кавала з мяне прафесійнага распрацоўніка, рэальнымі і разнапланавымі замовамі.
Жадаю ўспомніць фразу, якая вельмі падыходзіць пад гэтую частку аповяду: Праграмістам чалавек становіцца тады, калі яго праграмамі пачынаюць карыстацца іншыя людзі і плацяць за гэта грошы.

Такім чынам, брэнд кампаніі СКС быў шырока вядомы не толькі ў студэнцкіх колах, але і сярод выкладчыкаў. Быў нават выпадак, калі адзін з выкладчыкаў прыехаў да мяне дадому, каб я дапамог напісаць яму праграму для яго навуковых патрэб. Ён у сваю чаргу дапамагаў мне па сваёй спецыялізацыяй. Мы абодва так захапіліся нашай працай, што абодва заснулі на досвітку. Ён на канапе, а я на крэсле перад кампутарам. Але свае задачы выканалі, і абодва былі задаволены працай адзін аднаго.

паварот лёсу

Пачынаўся 4-ты курс універсітэта. Апошні курс, па заканчэнні якога ўручаюць дыплом бакалаўра. На ім практычна адсутнічалі агульнаадукацыйныя дысцыпліны, а было толькі тое, што злучана з кампутарамі і сеткамі. Цяпер, часам мне шкада, што я не паспяваў ці не выяўляў цікавасці да той жа электронікі або ўнутранай прыладзе сетак. Цяпер дачытваю гэта па неабходнасці, але ўпэўнены, што гэтыя базавыя веды неабходны любому распрацоўніку. З іншага боку - усяго ведаць нельга.
Я сканчаў пісаць свой З++ кампілятар, які ўжо ўмеў правяраць код на памылкі па стандарце і генераваць асэмблерныя інструкцыі. Я марыў, што вось-вось, і змагу прадаваць свой кампілятар па 100 $ за ліцэнзію. Памнажаў гэта на тысячу пакупнікоў і ў думках
пераносіўся ў Hammer, з басамі ад 50 Cent з калонак і красунямі на заднім сядзенні. Што зробіш, у 19 гадоў - такія прыярытэты. Фішкай майго самапальнага кампілера было тое, што ён выдаваў памылкі на рускай, замест не ўсім зразумелай ангельскай ад Visual C++ і gcc. Мне бачылася гэта кілер-фічоў, якую ніхто ў свеце яшчэ не вынайшаў. Далей думаю расказваць сэнсу няма. Да продажаў справа не дайшла. Аднак дайшло да глыбокіх ведаў мовы З++, якія кормяць мяне да гэтага часу.

На чацвёртым курсе я ўсё радзей хадзіў ва ўніверсітэт, таму што ведаў большую частку праграмы. А тую што не ведаў, вырашаў бартэрам са студэнтам, які цяміў напрыклад у электроніцы ці тэорыі верагоднасці. Чаго мы толькі не прыдумлялі тады. І незаўважныя навушнікі на дроце, у якія дыктаваўся адказ. І выбяганне з аўдыторыі, каб гуру ў сваёй спецыяльнасці за 2 хвіліны накрэсьліў табе рашэньне ўсяго іспыту. Выдатнае было час.
На гэтым жа курсе, я пачаў задумвацца аб сапраўднай працы. З офісам, рэальнымі камерцыйнымі праграмамі і годнай зарплатай.
Але ў той час, у нашым горадзе, можна было знайсці працу хіба што праграмістам.
"1С: Бухгалтэрыя", што мне зусім не падыходзіла. Хаця ад безнадзеі, я быў гатовы ўжо і на гэта. На той момант мая дзяўчына ціснула на мяне, каб мы пераехалі жыць у асобную кватэру.
А то спаць, калі бацькі праз сценку - зусім не камільфа. Ды і мне, рашаць студэнцкія задачы ўжо надакучыла, і хацелася чагосьці большага.

Прыйшла бяда, адкуль не чакалі. Я дадумаўся даць аб'яву на mail.ru, што шукаю працу з акладам у 300$ на пазіцыю З++/Java/Delphi праграміста. Гэта ў 2006 годзе. На што мне ў асноўным адказвалі нешта ў духу: "Можа Вам варта напісаць Білу Гейтсу з такімі запытамі па зарплаце?". Мяне гэта засмучала, аднак сярод кучы падобных адказаў, знайшоўся чалавек, які прывёў мяне ў фрыланс. Гэта была адзіная магчымасць у нашым збяднелым "Лас-Вегасе" зарабляць добрыя грошы тым, што я ўмеў рабіць.
Так навучанне ва ўніверсітэце, плаўна перацякло ў працу на фрыланс біржы. Закрываючы тэму ўніверсітэта, можна сказаць наступнае: на 5-ты курс я не хадзіў. Было адно праграмаванне і такое паняцце, як "вольнае наведванне", якім я карыстаўся на 146%.
Адзінае што трэба было зрабіць - гэта абараніць дыплом спецыяліста. Што я з поспехам і зрабіў, з дапамогай сваіх сяброў. Варта сказаць, што да гэтага курса я ўжо пераехаў ад бацькоў у здымную кватэру і купіў новую машыну. Так пачалася мая кар'ера прафесійнага распрацоўшчыка.

Наступныя раздзелы будуць прысвечаны асобным праектам, самым лютым фэйлам і самым неадэкватным кліентам. Кар'еры ў фрылансе ад 5 да 40$/гадзіна, запуску свайго стартапа, як мяне банілі на фрыланс-біржы Upwork і як з фрылансу я пайшоў у тым-ліды ў другую па велічыні нафтавую кампанію ў свеце. Як вяртаўся назад на выдаленне, пасля офіса і стартапа, і як вырашаў унутраныя праблемы з сацыялізацыяй і шкоднымі звычкамі.

Працяг будзе…

Крыніца: habr.com

Дадаць каментар