Кар'єра програміста. Глава 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. Цілий зоопарк технологій, бібліотек, форматів зберігання даних та алгоритмів я дізнавався для себе під час вирішення завдань.
Цей універсалізм залишився зі мною і досі. У роботі над проектами, також використовуються різні технології і платформи. Зараз я можу написати софт або програму під будь-яку платформу, ОС або девайс. Якість очевидно буде різною, але для бізнесу, з яким я в основному маю справу, зазвичай важливий бюджет. І людина-оркестр для них — це скорочення бюджету рівно в стільки разів, скільки розробників я можу замінити своїми навичками.

Якщо говорити про найбільшу користь, яку мені принесло навчання в університеті, то це не будуть лекції з алгоритмів чи філософії. І не «навчиться вчитися», як модно говорити про виші. Перше – це будуть люди, з якими залишилися дружні стосунки після навчання. А друге — це та сама фірма СКС, яка кувала з мене професійного розробника, реальними та різноплановими замовленнями.
Хочу згадати фразу, яка дуже підходить під цю частину оповідання: Програмістом людина стає тоді, коли її програмами починають користуватися інші люди і платять за це гроші.

Таким чином, бренд компанії СКС був широко відомий не лише у студентських колах, а й серед викладачів. Був навіть випадок, коли один із викладачів приїхав до мене додому, щоб я допоміг написати йому програму для його наукових потреб. Він, у свою чергу, допомагав мені за своєю спеціалізацією. Ми обоє так захопилися нашою роботою, що обидва заснули на світанку. Він на дивані, а я на стільці перед комп'ютером. Але свої завдання виконали і обидва були задоволені роботою один одного.

РџРѕРІРѕСЂРѕС, СЃСѓРґСЊР ± С <

Починався четвертий курс університету. Останній курс, після закінчення якого вручають диплом бакалавра. На ньому практично були відсутні загальноосвітні дисципліни, а було лише те, що пов'язане з комп'ютерами та мережами. Зараз, часом мені шкода, що я не встигав чи не виявляв інтересу до тієї ж електроніки чи внутрішнього устрою мереж. Зараз дочитую це за потребою, але впевнений, що ці базові знання потрібні будь-якому розробнику. З іншого боку, всього знати не можна.
Я закінчував писати свій С++ компілятор, який уже вмів перевіряти код на помилки за стандартом та генерувати асемблерні інструкції. Я мріяв, що ось-ось і зможу продавати свій компілятор по 100 $ за ліцензію. Помножував це на тисячу покупців і подумки
переносився в Hammer, з басами від 50 Cent із колонок та красунями на задньому сидінні. Що поробиш, у 19 років такі пріоритети. Фішкою мого самопального компілера було те, що він видавав помилки російською, замість не всім зрозумілої англійської від Visual C++ і gcc. Мені бачилося це кілер-фічею, яку ніхто у світі ще не винайшов. Далі думаю розповідати сенсу нема. До продажу справа не дійшла. Однак дійшло до глибоких знань мови С++, які годують мене досі.

На четвертому курсі я все рідше ходив до університету, бо знав велику частину програми. А те, що не знав, вирішував бартером зі студентом, який розумів наприклад в електроніці або теорії ймовірності. Чого ми тільки не вигадували тоді. І непомітні навушники на дроті, у які диктувалася відповідь. І вибігання з аудиторії, щоб гуру у своїй спеціальності за 2 хвилини накреслив тобі рішення всього іспиту. Чудовий був час.
На цьому ж курсі я почав замислюватися про справжню роботу. З офісом, реальними комерційними додатками та гідною зарплатою.
Але в той час, у нашому місті, можна було знайти роботу хіба що програмістом
"1С: Бухгалтерія", що мені зовсім не підходило. Хоча від безнадії я був готовий уже і на це. На той момент моя дівчина натискала на мене, щоб ми переїхали жити в окрему квартиру.
Бо спати, коли батьки через стінку — зовсім не комільфо. Та й мені, вирішувати студентські завдання вже набридло, і хотілося чогось більшого.

Прийшла біда, звідки не чекали. Я додумався дати оголошення на mail.ru, що шукаю роботу з окладом в 300 $ на позицію С++/Java/Delphi програміста. Це у 2006-му році. На що мені переважно відповідали щось на кшталт: «Може Вам варто написати Біллу Гейтсу з такими запитами із зарплати?». Мене це засмучувало, проте серед купи подібних відповідей, знайшлася людина, яка привела мене у фріланс. Це була єдина можливість у нашому зубожілому Лас-Вегасі заробляти хороші гроші тим, що я умів робити.
Так навчання в університеті плавно перетекло в роботу на фріланс біржі. Закриваючи тему університету, можна сказати: на 5-й курс я не ходив. Було одне програмування і таке поняття як «вільне відвідування», яким я користувався на 146%.
Єдине, що треба було зробити, — захистити диплом спеціаліста. Що я з успіхом і зробив за допомогою своїх друзів. Варто сказати, що до цього курсу я вже переїхав від батьків у орендовану квартиру і купив нову машину. Так розпочалася моя кар'єра професійного розробника.

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

Далі буде ...

Джерело: habr.com

Додати коментар або відгук