Еволюція зарплат: як Senior ASP.NET розробник доріс до $5000

Ми знайшли Senior Fullstack ASP.NET розробника, який за 11 років доріс до позиції з зарплатою $5000, і запропонували йому анонімно розповісти про своєму кар'єрному шляху. Втім, наш герой був не проти розкрити себе, і деякі «явки і паролі» залишилися в тексті.

Як все починалося

Перший ноутбук на 486-му процесорі з передвстановленою Windows 3.11 потрапив мені в руки в 1996 році, мені було 10 років. Як і належить, Windows закінчує свій термін служби, і все, що залишилося — це Norton Commander. А в нетрях HDD хтось залишив QBasic з довідкою . Навіть зараз складно уявити більш зручний інструмент для навчання програмуванню. Переходиш в Screen Mode — і перед тобою полотно для малювання анімацій циклом. Можна зліпити гру 0-0. У нього навіть біпер є і інтерпретація цього миттєво одним натисненням.

Потім я пристрастився до Delphi 4. Формошлепил, зробив систему для проходження тестів в кабінеті інформатики, генератор курсових, гру типу «Козаків» і вірус «Фантомас».

Перші гроші

У 2003 році після школи я провалив вступні на юриста і вступив на заочку в ХНУРЕ на IT. Рівно 1 вересня вирішив, що пора заробляти гроші. Роздрукував візитки і пішов по головній вулиці рідного Маріуполя знайомитися з підприємцями і пропонувати їм свої послуги програміста.

Успіх був середнім, але це допомогло мені знайти роботу менеджером з продажу комп'ютерів. Я повинен був кожен день збирати і продавати по одному системного блоку орієнтовно за 5000 грн і з цього отримувати 1% . Крім цього, я підробляв установкою Windows проходять клієнтам (30 грн ) і ліпив код VBA для Access бази шефа (100 грн за фічу).

Потім я влаштувався продавцем мобільних телефонів «МКС» на ставку 1300 грн в місяць, але не пройшов випробувальний термін. Мені стало ясно, що вміти програмувати — не значить уміти продавати техніку.

Я знову пішов по співбесідах і влаштувався в дилерську представництво «Ліга:Закон» людиною-апдейтом. Мої обов'язки зводилися до того, щоб кожен день ходити по різним конторам міста, вставляти CD з апдейтами законів і актів і натиснути пару кнопок. Це було весело. Але мене звільнили через три тижні: начальниці не подобалося, що я називав її на «ти». Заплатили сумарно 500 грн .

Junior

В місцевій газеті «Вісник Приазов'я» я побачив оголошення з вакансією ASP.NET розробника. У мене вже було пару років досвіду веб-розробки з дивними тандемами Delphi+IntraWeb (для IIS прилягали відразу свої ISAPI модулі), PHP і дещо як ASP, а також базами MSDE і SQL Server 2000. А ще як раз я побачив у продажу на ринку диск з Visual Studio 2003 і три диска MSDN. З# виявився логічним і приємним мовою від творця Delphi, і я перейшов на нього приблизно за тиждень.

Через тиждень після співбесіди мені дали оффер з припискою: «загалом, вибору у нас все одно не було». Вважаю, його і зараз не з'явилося, така специфіка міста. Проект був на ASP.NET 1.0 і частково ASP, вже legacy. Умови моєї зарплати ґрунтувалися на концепції тривалого випробного терміну: €100 , потім €200 — і так зростання до €500 кожен місяць.

Наш офіс представляв собою однокімнатну квартиру на 5-му поверсі хрущовки в центрі. За загальним столом сиділи всі — від продавців до дизайнерів. Там же і ми, два програміста. Компанією керував серб. Він знав багато мов і метод управління через «suck, fuck і lack». Шеф обожнював Mac: у всіх, крім розробників, були iMac G3 і мишки з однією клавішею. І від нас вимагали саппортить IE5 for Mac.

Я пропрацював майже рік. До кінця цього періоду мені почали урізати зарплату. Потім мені треба було піти на лікарняний, і компанія вирішила закінчити співпрацю. Я зітхнув з полегшенням: все-таки там була не дуже здорова атмосфера.

Свій продукт

У 2004-2005 дуже крутий здавалася концепція Post Back. Всі вірили, що коли-небудь вся сторінка буде перезавантажуватись швидко, непомітно і без «гальм». І я подумав: а що якщо при кожному PostBack зберігати для кожної сесії попередній HTML, потім порівнювати його на сервері з новим HTML і віддавати тільки зміни у формі js-вказівок («видалити, вставити це»). І оновлювати тільки зміни. Так і народилася ідея мого продукту FastPage.

Як пізніше виявилося, не тільки я один до цього додумався — тоді з'явилося ціле рух різних проектів схожого напрямку. Вони називалися Indirect AJAX framework.

Мій продукт потрапив в порівняльну таблицю таких інструментів — і вигравав по трафіку. Причина була в тому, що я шахраював, навіть не розуміючи цього. Я перенаправляв основну PostBack-форму на прихований IFRAME вбудованими засобами браузера і кидав прапор сервера. Тобто реального AJAX-з'єднання я не робив. В цілому все працювало непогано, але був і мінус: після кожної відправки форми в IE6 браузер «клацав» і показував progress bar завантаження того IFRAME. Це дратувало людей.

Підсумок мого першого підприємницького досвіду у 2005-2006 роках — 0 грн .

В той же час був і перший фріланс. Замовником був представник відділу групи Mirax, мільярдної будівельної компанії. Він зацікавився мною, коли дізнався, що це я створив той самий FastPage. Правда, по суті, їм був потрібен верстальник, який вміє управлятися з CMS DotNetNuke. Це було жахливе збочення на VB.NET. На цьому проекті я заробив 3000 грн за два місяці, мені платили $10 на годину. Але в підсумку я зрозумів, що, як і продажу, верстка — це не моє.

Middle

Влітку 2006 року я приїхав до Києва в гості до брата. Прочитав керівництво Microsoft .NET і, такий класний творець IT-продуктів з 3 роками досвіду, вирішив прогулятися по співбесідах. У Miratech мене оцінили в мої 19 років як Middle і запропонували $1000 на випробувальному і $1200 після. Там я вперше дізнався про існування SVN і систем контролю версій, Waterfall і що хтось реально використовує продукт Rational ClearQuest.

Наш офіс знаходився на проспекті Науки в будівлі НДІ напівпровідників. Це будівля як би символізувало, в яку сторону рухається наука в Україні. Аутсорсингова контора повільно пожирала офісні приміщення та переманювала співробітників, перетворюючи вчених інженерів-програмістів. Втім, працювати там було одне задоволення, команда була реально приємною.

Приблизно через півроку роботи звідки-то до мене дійшов оффер з Москви на$2500 . На той момент для Києва це було щось нереальне. Я сумнівався, так як пропонували працювати в якійсь хрущовці в іншій країні. Пішов до Direct Manager моєї поточної компанії, розповів про реченні. Мені відповіли, що в принципі можуть дати мені такі гроші, але ж іншим тоді теж захочеться. У підсумку від московського оффера я відмовився. А з Miratech мене звільнили.

2006-2007 роки були піком стрибків між конторами в пошуках зростання зарплат. В одній кімнаті могли сидіти люди з однаковими посадами: один влаштувався рік тому на $600, другий — тільки що на $1200. Так і я влаштувався на ці $1200 — в чергову аутсорсингову компанію на позицію ASP.NET developer.

Офіс розташовувався в 4-кімнатній квартирі. В одній кімнаті сиділи власники, в інших — команда, близько 15 осіб. А на одному з балконів жив і цілодобово охороняв приміщення хлопець з мого вузу. У підсумку я попрацював пару місяців і пішов. З тих пір ненавиджу офіси з розстановкою столів за принципом «до стінки».

У пошуках нового оффера мені попався один лощений хлопець, який саме збирався відкривати нову аутсорсингову контору. Він запропонував мені $1300 і оплату обідів. Мій перший робочий день розпочався з волочіння столів в новий офіс, квартиру на Оболоні. Через місяць-два взяли ще одного співробітника. Так я в 20 років став типу Senior з підмайстром.

Ми розпочали новий проект. І все було б добре, але пристрасті почали розпалюватися. Причіпки приходили одна за одною: чого ти говориш по телефону під час роботи, чого їси занадто дорогий обід (той, що входить в оплату, 20 грн). Я втомився від цього, пішов на співбесіду і отримав оффер на $1600 . У відповідь колишній роботодавець запропонував мені якийсь ефемерний контроффер з бонусами після прибутку проекту. Я погодився, зона комфорту перемогла. Але даремно: причіпки ставало тільки гірше.

У якийсь момент проект почав ставати на паузу. Ми з колегою-розробником почали самі шукати що-то. Так я і дізнався про oDesk і заробив там перші пару $100 , працюючи ввечері прямо з офісу.

Одного разу я прийшов в офіс у вихідні, щоб перевстановити Windows. Зробив добру справу за безкоштовно. В процесі цього мені знадобився CD-RW. Я витягнув його з комп'ютера шефа, а потім повернув. На ранок понеділка він вирішив, наче я щось украв з його HDD. Через півроку роботи мене звільнили.

Фріланс

В кінці 2007 року двокімнатна квартира на Шулявці, яку я знімав з двома товаришами, вже коштувала $750. Я вирішив накопичити на свою житлоплощу і поїхав додому в Маріуполь. Прикидав, що $8-10 год на фрілансі дадуть ті ж $1600 в місяць.

Працювати віддалено виявилося не так просто. Деякі родичі дивувалися: сидиш вдома, і за це гроші? Через якийсь час я знайшов довгий game-проект на oDesk, і ставки почали повільно зростати до $15-20 за годину . Я виконав свою мрію дитинства — попрацювати на ігровому проекті. Втім, це виявилося такою ж звичайною роботою, як і ентерпрайз. Хоча і було приємно іноді приходити на форум і спілкуватися з гравцями.

Пізніше я познайомився з уже закритим зараз підрозділом одного з найбільших українських аутсорсерів. Вони підкидали замовлення по непоганим ставками. Співпрацюючи з ним, я дізнався, що таке SharePoint і Openspace.

А почалося все з дивного замовлення: якась скандинавська контора мала закритий компонент фотогалереї. Вони надіслали min файл, і я повинен був розібратися і що-то пофіксити. Мені було ліньки це робити вручну. Я хвилин за 40 написав відмінний милицю на jQuery, який просто вирішував поставлене завдання, поверх без модифікацій бібліотеки. Випивши чаю, я вже збирався рапортувати про кінець роботи замовнику, але на початку написав своєму роботодавцю. Той був у розпачі, говорить: «Не-не, треба билдить мінімум 20 годин, так що йдіть проспитесь, а завтра подивимося» :)

З одного боку, такі проекти були не дуже стабільними, але мені подобалася свобода фріланса. Я працював 15-25 годин на тиждень при ставці $12-22 в годину . Разом виходило близько $1400 в місяць.

Своя аутсорсингова компанія

Йшов 2011 рік. Я вирішив знову увійти у фазу підприємництва. Для цього треба було найняти відповідних ASP.NET/jQuery розробників. Щоб знайти зацікавлених джуніорів, я почав проводити лекції з Web в квартирі бабусі в Маріуполі — тоді ще не було слова «антикафе». Приходили різні заводчани, багато мали 10 і більше років досвіду в різних технологія від Delphi до Clipper, але щось їм заважало рухатися вперед.

Тоді я пішов в місцевий технічний університет і повісив паперове оголошення на стенд. І ось в один чудовий день пролунав дзвінок. Відгукнулися двоє хлопців. Вони давно увійшли в IT, тільки не зовсім те, що треба, — працювали на автоматизованих верстатах на заводі. Один з них навіть пиляв WinForm проект місцевого ломбарду.

У мене була ідея проекту, але я ще не був готовий платити зарплати сам. В якийсь момент мені підвернувся фріланс-проект від індусів. Нам пообіцяли $3000 за 2 тижні. Ми з хлопцями взялись за новий тоді ASP.NET MVC, ще захотіли додати SQL Azure. Мої програмісти робили проект, не звільняючись з основної роботи. Працювали ночами у тій самій квартирі бабусі. Проект фінансового вихлопу не дав. Результат був таким же, як якщо б я працював сам.

Потім одному голландському замовнику потрібна ASP.NET MVC команда. Незважаючи на слабкий англійський, нас взяли — позначився дефіцит на нашу спеціалізацію. Мої хлопці звільнилися з заводу і стали кодити. До цього вони отримували на заводі $400-500, я запропонував їм $600. Для компанії я виставив їх за $2500 і себе за $3500. Разом отримував $7300 заробітку.

Так ми пропрацювали три місяці. Потім замовник хотів перейти до постійною формою відносин у вигляді так званого Project Office, який передбачав відкриті цифри по зарплаті кожного співробітника. А також попросив знижку — і з загальною $8500 сума зменшилася до $6000 за команду. З них — $4000 мені і по $1000 хлопцям. Соціалістична душа нашого замовника, голландця, дивувалася.

Через ще три місяці були неприємності з юридичним оформленням. Але пізніше відбулася ще більш серйозна неприємність. Компанія на початку співпраці обіцяла зайнятися відкриттям СПД, але не поспішала це робити. Оплату нараховували на СПД брата. І раптом виявилося, що у нього не вказано потрібний КВЕД. Вийшло так, що сума близько $22 500 «зависла». Поки я відсиджував черзі в держкомстат, команда втратила концентрацію на проекті. Питання з оплатою в результаті розрулили — завдяки публічному розголосу на форумі DOU. Але через місяць замовник відмовився від співпраці.

Я намагався зберегти команду, але мої старі проекти не давали потрібного обсягу завдань. Одному з моїх програмістів незабаром запропонували працювати в київському офісі цієї компанії. Зараз вони обидва вже синьйори.

І знову свій продукт

Отже, на початку 2012 року я розпустив команду. До того моменту вже два роки у мене зріла ідея щодо прискорення створення enterprise додатків, начебто CRM, ERP, CTRM. Мені здавалося, що величезна кількість рішень, які ми приймаємо під час їх створення, — це різні шаблонні підходи. Надивившись відео David Heinemeier Hansson , я вирішив зайнятися створенням SaaS-системи.

Щоб при цьому не йти в мінус, я вирішив знайти якогось початківця розробника і тільки координувати створення як тимлид, при цьому не припиняючи своїх віддалених проектів. Спочатку я знайшов співробітника, який працював тільки на вихідних у вільний від роботи час. Але такий підхід був малоефективний: за тиждень концентрація губилася.

В цей час через знайомих мені запропонували викладати в місцевій КА «Шаг». Я погодився: отримав соціалізацію, корпоративи і навіть зарплату $100 (я відмовлявся, але директор наполіг). Я проводив і індивідуальні, і групові заняття. Студенти були дуже різними: від школярів до світчер за 40. Але знайти серед них відповідних працівників мені не вдалося.

Тоді я вирішив читати вечірні лекції в університеті. Декан поставився до ініціативи досить недовірливо, але вільний кабінет все ж видав. Я прорекламував тему на місцевому форумі і розвісив оголошення по факультетах. Зібралося чоловік вісім. До другого заняття їх залишилося четверо. А третього, здається, і не було. По суті, це було групове співбесіду. Самі студенти виявилися мало корисними, але один хлопець мені підійшов. Він був мого віку, хотів перейти з сисадміна у розробники. Я запропонував йому платню 3000 грн ($375). Хотів орендувати офіс, але в підсумку ми вирішили осісти в тій самій квартирі бабусі.

Ми стартували почали MVP в грудні 2012 року. Архітектури ніякої не було, і мені здавалося, що це навіть добре: хотілося максимальної динамічності для тестування різних можливостей. Поступово функціонал «устаканивался», і нам була потрібна точка застосування.

В середині січня мені написав один: він збирався створити нову систему прискореної доставки. У нього були підготовлені HTML mocks системи, інтерфейс і підказкою функціоналу, який він очікував, всякі інтеграції з SMS сервісами. Я взявся за цей проект, хоча і розумів, що функціонал занадто наворочен, а ми на зовсім ранній стадії. Через пару місяців, ми викотили частково працюючу систему, але він все-таки вирішив написати кастомно. В цілому це був провал, але він задав певну базу для руху вперед. Далі ми рухалися більш планомірно, абсолютно порушуючи всі принципи розробки мінімального продукту.

Зрештою, я запровадив цей продукт у брата, який хотів автоматизувати діяльність своєї юридичної фірми. Ми вважали, що цей продукт відмінно підходить для нішевих сфер, для яких створювати спеціалізовані системи недоцільно. Але все ж не були готові активно впроваджувати — боялися застрягти з невеликою групою клієнтів і не бажали когось підводити.

В результаті в 2014 році я втомився від витрат і низьких доходів на своїх фріланс-проектах, яким не встигав приділяти достатньо уваги. Тому вирішив тимчасово повернутися на постійну роботу.

Повернення на найману працю

У березні 2014 року я почув про наближення танків і взяття Новоазовська і вирішив скоріше виїхати подалі — в Київ.

Отже, у мене 10 років досвіду, і я із задоволенням знову ходжу по співбесідах. За 7 років роботи на себе я звик, що можу робити те, що вважаю потрібним і ефективним. І це зовсім не допомагало проходити співбесіди. До того ж всі вакансії стали вимагати пару років досвіду на AngularJS. SOLID раптом стає чимось надзвичайно важливим, хоча за моїми спостереженнями навряд чи знайдеться два людини, які однаково розуміють всі принципи.

В результаті я отримав пару офферов і вибрав віддалений варіант на $3700 . Проект, звичайно, був чудовищен: у базі було всього 20 таблиць, але ніхто з 8 розробників нашої команди не був упевнений у призначенні більшості полів. Хоча система існувала давно, велика частина даних через неї не потрапляла. Люди просто не хотіли «цим» користуватися і слали нам коряві excel-файли. І моя задача була провалидировать, знайти і виправити помилки.

Через пару місяців на стороні замовника поміняли менеджмент. Нові менеджери вирішили звільнити всіх, хто не доведе свою корисність. А так як мені завдання, бувало, не приходили тижнями, а всі юніт-тести з нудьги вже написані, то мене і скоротили через півроку від старту.

Так вийшло, що від повідомлення про звільнення з корпоративною поштою до наступного оффера в мене пройшло менше доби. Я випадково виявив у спамі лист тижневої давності від нової компанії. Швидко пройшов співбесіду і став співробітником № 7 у новій аутсорсингової конторі, куди ще навіть не завезли кавовий апарат.

Мені запропонували $4500, які виходячи з деяких нюансів перетворюються в $4770 , а також річний бонус. Причому така сума не була результатом переговорів — мені одразу запропонували власники. Мабуть, вважали, що це вірна ставка за досвідченого Senior фахівця, який повинен закласти базис нещодавно виникла компанії.

Тому при пошуку кращого ставки я раджу звернути увагу на невеликі компанії, які розуміють, що залучити хорошого фахівця — нелегко, особливо на ранній стадії. Вам зіграє на руку, якщо ви Fullstack розробник — замовники досить часто вірять в ефективність цієї концепції.

Також я думаю, на користь високої зарплати зіграв той факт, що власниками були нативні американці. До того ж домен проекту — досить жирної сфері US Healthcare. Пізніше я досліджував ринок праці і не можу сказати, що це був якийсь унікальний локальний екстремум.

Пізніше мені пропонували підвищити ставку з переходом на посаду тимлида — до $5300 gross. Але я вирішив не брати додаткове навантаження, так як займався декількох Junior-розробників на своєму продукті.

Сумарно я пропрацював фултайм в цій компанії 35 місяців. Потім запропонував менеджерам перейти на режим 16 годин на тиждень — і на такому графіку працював ще 10 місяців. У вільний час займався своїм продуктом.

Потім цей проект закінчився. Я запропонував компанії підібрати для мене інший проект, але із-за закриття великого сусіднього проекту залишився надлишок розробників. Стало зрозуміло, що найближчим часом нічого не буде.

Підсумки

З березня цього року я перейшов на віддалену роботу фултайм — при пошуку розглядав тільки віддалені вакансії. Після торгів і переговорів мені запропонували $4000 gross протягом двох місяців випробувального терміну, потім наступні чотири місяці — по $5000 . Далі можливе зростання ставки до $5500 gross за performance. Ще очікується річний бонус.

Також я продовжую розвивати свій продукт. Якщо когось зацікавила концепція, ось лендінгем зі скріншотами. Поки що проект не заробляє, тому що ми його не продаємо. Він ще не готовий для продажу як готовий SaaS. Втім, готовий для використання в стилі кастомних розробки — і такі клієнти намічаються.

Підсумовуючи, з одного боку на питання: «Як програмісту дорости до $5000?», — можна відповісти коротко: «Так, Senior Fullstack ASP.NET розробники з 11 роками досвіду, дрібкою удачі і нахабства цілком спокійно можуть мати таку ставку». З іншого боку, ця дивна історія, по великій частині історія-провал. Про що вона взагалі? Можливо, було б кумулятивно вигідніше, якби я ніколи не йшов з Miratech з 2006 року. А, може, тільки особистий бізнес колись окупить всі втрати? Не знаю. Можу лише сказати, що нам, айтішникам, дан крутий шанс — вибирати. І він дається не багатьом.

Передаю цю естафету наступному «анонимусу» — вже дуже цікаво рахувати чужі гроші :)


Якщо ви хочете анонімно розповісти про своєму кар'єрному шляху, пишіть на [email protected] .

Опубліковано: 03/04/19 @ 10:47
Розділ Безпека

Рекомендуємо:

DOU Проектор: Kattana — професійний торговий термінал для криптовалют
Кремнієва долина Європи. Український програміст про життя в Естонії та роботу в Bolt (Taxify)
Product Management дайджест #7: гейміфікація, product-led growth, як працювати з ML
Як робити доповіді на конференціях - поради 40+ експертів
Product Manager Маркіян Мацех: як за 7 місяців знайті роботу мрії в Нью-Йорку