Мы нашли Senior Fullstack ASP.NET разработчика, который за 11 лет дорос до позиции с зарплатой $5000, и предложили ему анонимно рассказать о своем карьерном пути. Впрочем, наш герой был не против раскрыть себя, и некоторые «явки и пароли» остались в тексте.
Как все начиналось
Первый ноутбук на
Потом я пристрастился к 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каждый месяц.
Наш офис представлял собой однокомнатную квартиру на
Я проработал почти год. К концу этого периода мне начали урезать зарплату. Затем мне надо было уйти на больничный, и компания решила закончить сотрудничество. Я вздохнул с облегчением: все-таки там была не очень здоровая атмосфера.
Свой продукт
В
Как позже оказалось, не только я один до этого додумался — тогда появилось целое движение различных проектов похожего направления. Они назывались Indirect AJAX framework.
Мой продукт попал в сравнительную таблицуподобных инструментов — и выигрывал по трафику. Причина была в том, что я жульничал, даже не понимая этого. Я перенаправлял основную PostBack-форму на скрытый IFRAME встроенными средствами браузера и кидал флаг серверу. То есть реального AJAX-соединения я не делал. В целом все работало неплохо, но был и минус: после каждой отправки формы в IE6 браузер «щелкал» и показывал progress bar загрузки того IFRAME. Это раздражало людей.
Итог моего первого предпринимательского опыта в
В то же время был и первый фриланс. Заказчиком был представитель отдела группы 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 меня уволили.
Офис располагался в
В поисках нового оффера мне попался один лощеный парень, который как-раз собирался открывать новую аутсорсинговую контору. Он предложил мне $1300и оплату обедов. Мой первый рабочий день начался с таскания столов в новый офис, квартиру на Оболони. Спустя месяц-два взяли еще одного сотрудника. Так я в 20 лет стал типа Senior с подмастерьем.
Мы начали новый проект. И все было бы хорошо, но страсти начали накаляться. Придирки приходили одна за одной: чего ты по телефону говоришь во время работы, чего кушаешь слишком дорогой обед (тот, что входит в оплату, 20 грн). Я устал от этого, пошел на собеседование и получил оффер на $1600. В ответ бывший работодатель предложил мне какой-то эфемерный контроффер с бонусами после прибыли проекта. Я согласился, зона комфорта победила. Но зря: придирки становилось только хуже.
В какой-то момент проект начал становиться на паузу. Мы с коллегой-разработчиком начали сами подыскивать что-то. Так я и узнал про oDesk и заработал там первые пару$100, работая вечером прямо из офиса.
Однажды я пришел в офис в выходные, чтобы переустановить Windows. Сделал доброе дело за бесплатно. В процессе этого мне понадобился
Фриланс
В конце 2007 года двухкомнатная квартира на Шулявке, которую я снимал с двумя товарищами, уже стоила $750. Я решил накопить на свою жилплощадь и уехал домой в Мариуполь. Прикидывал, что $8-10 в часна фрилансе дадут те же $1600 в месяц.
Работать удаленно оказалось не так просто. Некоторые родственники недоумевали: сидишь дома, и за это деньги? Спустя какое-то время я нашел длинный game-проект на oDesk, и ставки начали медленно расти до $15-20 в час. Я исполнил свою мечту детства — поработать на игровом проекте. Впрочем, это оказалось такой же обычной работой, как и энтерпрайз. Хотя и было приятно иногда приходить на форум и общаться с игроками.
Позже я познакомился с уже закрытым сейчас подразделением одного из крупнейших украинских аутсорсеров. Они подкидывали заказы по неплохим ставкам. Сотрудничая с ним, я узнал, что такое SharePoint и Openspace.
А началось все со странного заказа: какая-то скандинавская контора имела закрытый компонент фотогалереи. Они прислали min файл, и я должен был в нем разобраться и что-то пофиксить. Мне было неохота это делать вручную. Я минут за 40 написал отличный костылек на jQuery, который просто решал поставленную задачу, поверх без модификаций библиотеки. Выпив чаю, я уже собирался рапортовать о конце работы заказчику, но в начале написал своему работодателю. Тот был в ужасе, говорит: «Не-не, надо билдить минимум 20 часов, так что идите проспитесь, а завтра посмотрим» :)
С одной стороны, такие проекты были не очень стабильными, но мне нравилась свобода фриланса. Я работал
Своя аутсорсинговая компания
Шел 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 года. А, может, только личный бизнес когда-нибудь окупит все потери? Не знаю. Могу лишь сказать, что нам, айтишникам, дан крутой шанс — выбирать. И он дается не многим.
Передаю эту эстафету следующему «анонимусу» — уж очень интересно считать чужие деньги :)
Если вы хотите анонимно рассказать о своем карьерном пути, пишите на valentina@dou.ua.