Как Junior Java Developer за 11 лет стал PM c $8000
[От редакции: в рубрике «Считаем деньги» мы приглашаем читателей DOU анонимно рассказать о своем карьерном пути, зарплатных взлетах и падениях. Если готовы поделиться своей историей, пишите на [email protected]]
Иллюстрации: Алина Кропачева
Всем привет. В благодарность DOU за все полезности для IT-сферы Украины, и не только, я решил поделиться историей своей карьеры. Хочу рассказать не столько о количественном увеличении своего дохода в IT, хотя он был значительным и за 11 лет вырос с $200 оплаты стажировки Java Developer до $8000 ежемесячной зарплаты Project Manager, — сколько о качественных изменениях, необходимых для обоснованного и стабильного роста оплаты труда.
В этой статье не будет ни подробного описания проектов, ни технологий, ни географических локаций и названий компаний. Однако надеюсь, что мой рассказ будет полезен всем, кто хочет большего от себя самого, готов инвестировать в себя и отдавать больше окружающим в обмен на доллары США :) В конце статьи я постараюсь подвести итог и ответить на вопрос, какие конкретные действия и подходы могут быть полезны при желании увеличить свою зарплату.
Перед тем как начать, приведу короткий список должностей, на которых я работал:
- Java Developer
- C# Developer
- Business Analyst
- IT Consultant
- Project Manager
У меня есть опыт офисной работы в компаниях в Украине и в Европе и удаленно — как из Украины, так и из Европы, с европейскими и американскими клиентами, как частный предприниматель и как наемный работник, как с контрактом и налогами, так и без (очень короткий период, честно-честно). Фулл-хаус!
Мой путь уникален тем, что мне удалось «попробовать» несколько IT-профессий без потерь в зарплате при смене вида деятельности. Отмечу, что я не достиг совершенства ни в одной из них. Как видите, я сменил три профессии: программиста, аналитика и проектного менеджера. Ни у одной из этих позиций нет приставки Senior: я не смог достичь этого уровня ни как программист, ни как аналитик. Senior PM я себя также не считаю, хотя формально это моя текущая должность с соответствующей зарплатой.
И еще один момент. В описании каждого этапа будут указаны одно или два ключевых события, способа или действия, которые «сделали» этот этап. На каждом этапе это что-то свое, особенное. Однако есть и общее свойство — Work Hard. Я не буду повторять это в описании каждого этапа, но это нужно держать в уме и добавлять предложение к выводам этапа: все стало возможным при перемножении Work Hard на те или иные события, способы, действия. Это означает много работать, не лениться. Если нужно, работать больше, чем много. Быть доступным всегда, когда ты нужен клиенту, проекту или команде. Никогда не плевать в потолок, а если на данный момент конкретной задачи нет, то искать работу в проекте самому.
Этап 0. Подготовка
Период: 2008 год
Зарплата: $0
Должность: студент
Где: Украина, город-миллионник
Моя карьера начиналась по классике: студент предпоследнего курса технического вуза, курсовая работа на Java, летняя практика и знакомство с Java Swing. Язык был выбран старшим товарищем на основе трендов 2008 года — как самый перспективный на последующие годы.
Об индустрии в целом и о конкретных специальностях в частности у меня было очень смутное представление. Прежде всего необходимо было решить, хочу я быть программистом или тестировщиком. Я подавался на обе должности, но собеседования на Junior QA вызывали скуку и печаль как у меня, так и у интервьюеров. Мне хотелось создавать, а не проверять чужую работу. Поэтому было решено следовать путем программиста.
Знал я очень мало. Выучил наизусть определения полиморфизма и наследования и пошел по собеседованиям. Через два месяца меня взяли на оплачиваемую практику — $200 в месяц. После ее успешного прохождения предлагали должность Junior Java Developer c зарплатой около $400.
Мне очень помог войти в IT знакомый синьор. Он направил и вдохновил меня. Сказал: «Ты сумеешь. Ты уже многое сделал и можешь, иди — и кодируй!» Я бесконечно благодарен ему за это.
Главный вывод, который я для себя сделал на этом этапе: уверенность в себе, особенно в начале пути, перекрывает пробелы в знаниях. Изучите предметную область, излучайте уверенность, демонстрируйте мотивацию — и первое You are hired не заставит себя долго ждать.
Этап 1. Первая работа
Период:
Средняя зарплата: $500
Должность: Junior Java Developer
Где: украинская аутсорсинговая компания, город-миллионник
Забегая вперед, скажу, что меня из компании уволили :) За что я благодарен и своему тимлиду, и менеджеру. Если бы они решили оставить меня, все сложилось бы совершенно по-другому. Хотя вот так пусть сложится у каждого!
Дело в том, что Java мне, как говорится, «поперла». Я прошел практику за полтора месяца вместо трех, немного попилил внутренний проект, и меня продали дедиком (dedicated developer) одному заграничному клиенту, назовем его просто «дядя». Так я полгода проработал на проекте одного артиста с устаревающими технологиями, который явно не добавлял никаких плюсов моему резюме, однако был мегавыгодным для продававшей меня компании. При рейте $4 в час меня продавали за $20. То, что я гублю на этом проекте свою молодость, никого не интересовало. Но меня это не устраивало, и я решил поставить свой первый в карьере ультиматум начальству: либо новый проект и другой рейт, либо я ухожу.
Ультиматумы никто не любит, особенно от джунов. И меня отпустили с миром искать лучший проект с лучшим рейтом. Уходя, я прихватил с собой и «дядю». В компании я работал неофициально, зарплату мне платили прямо в долларах, в конверте. Соответственно налогов с нее никто не платил — говорили, у компании хорошая «крыша». И я не был связан никакими обязательствами, кроме моральных. Поэтому все угрызения совести по поводу содеянного свелись к абсолютному минимуму. Я тогда пообещал себе, что всегда буду честно платить налоги в Украине, что делаю по сей день.
Это был самый большой скачок в моей зарплате в процентном отношении. Для меня она увеличилась в два раза. А для «дяди» соответственно в два раза уменьшились расходы. Но не расценивайте эту историю как призыв к действию. То, что я сделал, было неэтично и, наверное, даже опасно: та же «крыша» могла наведаться в гости и постучать уже по моей крыше :)
Вот главный вывод, который я для себя сделал на этом этапе: как только становится ясно, что проект, в котором я задействован, больше не делает меня лучше как профессионала, нужно либо уходить из этого проекта, либо, воспользовавшись ситуацией, просить значительное повышение зарплаты. Если вы действительно хороший специалист, вам его дадут. На всех дальнейших этапах я делал выбор: либо я развиваюсь, либо просто качественно делаю работу и зарабатываю деньги. И этот выбор я продолжаю делать до сих пор.
Этап 2. Первый апгрейд
Период:
Средняя зарплата: $1000
Должность: Java Developer
Где: удаленка через ФОП в Украине, все тот же город-миллионник
Честно скажу, мне очень повезло. «Крыша» в гости не спешила, я продолжал работать в привычном для меня проекте, но теперь уже дома и с х2 зарплатой. Однако, как сказал однажды Путин ху*ло: «Везет тем, кто везет. Работать надо!», — и я работал. Работал много, был всегда на связи — и фиксил, фиксил, фиксил. За год с лишним стал Senior Java Bug Fixer с зарплатой хорошего мидла.
Мидлом на этом проекте я так и не стал, зато получил незаменимый опыт поддержки продукта на каждом этапе SDLC. Ведь я был сам себе PM, BA, Dev, QA, IT Ops, Support. И учтите, что за моей спиной больше не сопел тимлид, который был всегда готов прийти на помощь. Нужно было самому искать ответы на все вопросы, принимать решения и, следовательно, отвечать за последствия. Мы даже пытались расширяться и наняли второго программиста. Это было немного абсурдно: собеседовать мидла, являясь явно джуном :)
Через два года я из этого проекта вырос. Рейт достиг потолка, платить больше клиент просто не мог. Как программист я не развивался, набор опыта «универсального солдата» также замедлился. Пора было искать новый проект. С клиентом мы разошлись на хорошей ноте, общаемся до сих пор — спустя семь лет.
Главный вывод того периода: всегда ставить себе планку выше собственных возможностей — и трудом и усердием идти к новому уровню. И еще. Никогда не говорить клиенту «я не знаю», «я не могу» или «это нереально». Все реально. С таким подходом клиент будет всегда доволен и готов повышать рейт :)
Этап 3. Смена языка, и не только программирования
Период:
Средняя зарплата: $2000
Должность: С# Developer
Где: удаленка, через ФОП в Западной Европе, город-миллионник
К тому времени я уже перебрался из Украины в Европу доучиваться в магистратуре (на жаль, «Україна — це Європа» наразі тільки у гаслах політиків). Расходы значительно увеличились: на $1500, а это была минимальная зарплата в той стране, особо не разгуляешься.
В Украине оставались некоторые IT-связи, и мне предложили небольшой проект, который должен был закончиться через полгода — в итоге он продолжался чуть больше года и умер, аминь. Там была небольшая команда из Украины, к которой я должен был присоединиться на полставки аналитиком, а на вторые полставки... C# программистом. О C# я знал только то, что я его не люблю, потому что я джавист. Нам положено не любить .NET. Однако нелюбовь + хороший рейт = любовь по расчету. Меня продали клиенту как опытного C# программиста, просто заменив в резюме Java на C#.
Первый месяц был для меня взрывом мозга. Нужно было выучить новый язык, среду программирования, подходы, библиотеки. И в то же время не «спалиться» перед клиентом, что многие вещи я вижу в первый раз. Взрывать себе мозг я уже привык, переходный период закончился, и я успешно отработал в проекте. Попутно написал дипломную работу, скопипастив в нее и исходный код, и многие User Stories из проекта — с позволения клиента, конечно. Отличный пример Code Reuse :)
Этот проект стал последним, в котором моя основная роль заключалась в программировании. И я оказался в затруднительном положении: с одной стороны, пять лет опыта работы, с другой — я все еще Junior Java Developer и Junior C# Developer. А еще мне нужно найти работу в офисе, если я хочу остаться жить в этой стране, да и рейт свой сохранить. В помощь пришел все тот же копипаст. Ctrl + H: Junior → Middle → Replace All. И я пошел по собеседованиям.
Этап 4. Как во мне умер программист
Период:
Средняя зарплата: $3000
Должность: Business Analyst
Где: IT-компания в Европе
Чувство дежавю не покидало меня ни на минуту. Спустя пять лет я пытался устроиться на должность Middle Java Developer, зная о программировании на Java лишь немногим больше, чем тогда, когда устраивался на работу в первый раз. Технологии, которыми я владел, окончательно устарели. Последние два года я вообще не занимался Java, опыта в C# у меня было еще меньше... Пишу эти строки и прямо вспоминаю, как жалко мне было себя тогда :) Испортил себе карьеру, при этом уже привык к хорошему рейту — ну хоть стреляйся, жизнь больше не имела смысла :)
Смысл появился внезапно. Как будто спали какие-то шоры — передо мной открылся целый мир. Ведь в каждом большом западноевропейском городе находится множество производственных и сервисных компаний со своими большими и маленькими IT-отделами, которым просто необходимы бизнес-консультанты, аналитики, технические писатели, проектные менеджеры. Словом, все те специальности, которые сложно или невозможно отдать в аутсорс. Оказалось, IT — это не только Скрам-доска, архитектор и два QA. Процесс разработки начинается где-то в недрах бизнеса или на производстве с бизнес-идеи или необходимости, которая с помощью консультантов приходит в продаваемый вид, с помощью аналитиков обретает очертания продукта и только потом отдается на аутсорсинг в Украину, Индию, Китай и прочие страны.
Профессия бизнес-аналитика показалась мне наиболее близкой. Опыт работы с клиентами у меня уже имелся, исходный код я читать умел, что очень пригодилось в проектах без какой-либо документации. User Stories сам себе я также писал. Осталось собрать весь опыт в кулак и хорошо продать себя. И снова Ctrl + H — я стал Business Analyst with strong technical background. По собеседованиям я заметил, что бывших программистов берут в аналитики с бо́льшим удовольствием, чем непрограммистов, что тоже было для меня плюсом. Я нашел свою компанию, в которой разработка велась по каноническому Скраму, и по этим же канонам меня стали называть Product Owner.
Играть в Скрам мне нравилось. У каждого своя четкая роль, задачи и сфера ответственности. Бесконечные митинги, ревью, обсуждения... Правила я выучил довольно быстро. С обязанностями, за которые мне платили зарплату, я справлялся где-то за 60% времени. Остальное время я пропадал на производстве. Изучал документацию, структуры баз данных, взаимосвязи между всеми программными продуктами производственной линейки, а их было больше сотни. Расспрашивал клиента о тех или иных бизнес-процессах, просил потрогать агрегаты. В общем, я был таким маленьким ребенком, которому все интересно, — развлекался как мог.
Через полгода произошло событие, которое помогло мне получить значительное повышение зарплаты в компании, где обычный цикл повышений длится один год и пересмотр ставки вне очереди необходимо согласовывать чуть ли не с CTO. У начальника отдела случилось эмоциональное выгорание (aka burnout), и на несколько месяцев я как мог стал вести его проекты. Это был самый сложный период в моей карьере, который, однако, был и самым полезным. Я перестал бояться брать на себя любую ответственность, а также понял, что иногда с клиентом все же нужно говорить на «ты». Когда уверен, что даешь ему больше, чем получаешь.
Успешный для нас проект закончился банально: клиент решил поменять дорогой качественный отечественный аутсорс на дешевый индийский. Не знаю, как у них шли дела дальше, но о банкротстве той компании я пока не слышал.
Еще один вывод: незаменимых людей и команд нет. И понимание этого помогает мне до сих пор. Я готов хоть завтра отдать свою должность и зарплату и передать все свои знания, если найдется человек, который будет выполнять мои обязанности за те же деньги, но эффективнее. Конечно же, такие профессионалы существуют, я не лучший в мире. Однако я лучший в данное время в данном месте для этого клиента. Стремитесь быть лучшими для клиента и для самого себя и ищите то самое место :)
Этап 5. Не получается брать качеством, берем количеством
Период: 2015
Средняя зарплата: $3500 + $1000 = $4500
Должность: Senior Business Analyst, C# Developer
Где: консалтинговая компания в Европе + удаленка
Меня перевели в материнскую компанию на должность IT Business Consultant. Это такой человек, который сначала рассказывает клиенту сказки о прекрасном будущем с несуществующим продуктом, а затем, когда сейлзы эту сказку продали, воплощает ее в реальность с помощью команды опытных мотивированных коллег-программистов и аналитиков. В сети есть множество мемов «ожидание vs реальность», так вот это было про меня и проекты, в которых я участвовал.
Для меня этот проект стал своего рода карьерным болотцем. С одной стороны, и должность престижнее, и зарплата выше, и кофемашина на кухне круче. Однако в этом деле важнее было красивее рассказать и подороже продать, а не качественнее реализовать. На этапе реализации армия подготовленных менеджеров и консультантов, в том числе таких, как я, рассказывала клиенту в стиле «сам дурак», почему та или иная фича не будет реализована совсем, от слова «вообще». Поэтому я потихоньку решил сваливать. Все так же справляясь со своими задачами за 60% времени и оставляя 40% свободными, я нашел небольшой проект, в котором был необходим говнокодер с хорошим английским. Зарабатывал себе еще пару долларов в довесок к основной работе.
Вспоминая то время, жалею только о соцпакете. 5 недель отпуска, брать можно как хочешь — мы уходили в недельный отпуск до пяти раз в год. Болеешь 3 дня без больничного — можно было уходить в запой на выходных и к четвергу выходить на работу как ни в чем не бывало, и это сколько угодно раз в году. Полная медицинская страховка, возможность уйти на 6 месяцев посидеть с нынче модным эмоциональным выгоранием. Целых 14 зарплат в году: на Рождество и к летнему отпуску выдается двойная зарплата, а в начале года — годовой бонус. И талоны на обед :) В этой зоне комфорта можно было оставаться бесконечно. Что и делают до сих пор мои глубокоуважаемые коллеги, с которыми я уезжал в Европу учиться. Но я не искал легких путей. «Есть зона твоего комфорта, а есть места, где случаются чудеса», — еще один аноним.
Давайте поиграем в игру: пишите в комментариях, что это за страна такая чудная. Первый ответивший правильно, с незнакомой мне фамилией, получит подарок — мою любимую книгу в электронном либо печатном виде. Передам через редакцию. Статья анонимная, поэтому, что за книга, не скажу :)
Этап 6. Home Sweet Home
Период: 2016
Средняя зарплата: $5500
Должность: BA, PM
Где: удаленка через ФОП в Украине
Проект, в котором я говнокодил на полставки, динамически развивался. Им нужен был менеджер. Такой, который и задачу поймет, и поставит, и проконтролирует, и баги исправит, и в продакшен задеплоит. Ну вы поняли: им нужен был я. Себя я зарекомендовал уже неплохо, оставалась небольшая загвоздка: чтобы покрыть мой соцпакет и забрать меня из теплого корпоративного гнезда, нужно было хорошо раскошелиться.
Видимо, клиент в меня поверил, и мне дали тот рейт, о котором я всегда мечтал, когда в детстве слышал: «Вот когда будешь директором с зарплатой $5000 тогда и будешь умничать». Директором я не стал, однако умничать зарплата уже позволяла. И снова работа с дома, self control и домашние тапочки... Уже в то время я понял, что работать в офис я не вернусь, наверное, никогда. Для меня те несколько часов в день, складывающиеся в дни и недели жизни, которые я не трачу на поездки в офис, командировки и обеды, дороже любых денег. Время ведь не купишь и не вернешь.
В этом проекте я смог применить все свои знания и умения, которые накапливал предыдущие 8 лет. Я был эдаким клеем, который проникал во все процессы разработки и пытался их понять, описать и сделать лучше. В один день я был программистом, в другой — аналитиком, а в третий — менеджером. Именно эта универсальность позволила мне продолжать регулярно обсуждать с клиентом повышение моего рейта. Клиент был уверен в том, что я делаю свою работу качественно, вовремя, а главное, что я всегда там, где я нужен больше всего.
Этап 7. Настоящее
Период:
Средняя зарплата: $7000
Текущая зарплата: $8000
Должность: Project Manager, R&D Manager
Где: удаленка через ФОП в Украине
В конце статьи вас, дорогой читатель, ожидает небольшой «облом»: о моем текущем проекте я расскажу меньше, чем о предыдущих. Я очень дорожу отношениями со своими коллегами и клиентом и не хочу ни случайно, ни специально «писнуть» ничего лишнего, о чем потом буду жалеть. Может, пройдет пару лет, и я буду писать еще одну статью о зарплате при достижении следующей планки в 10K, тогда и опишу текущий проект. А может, через год уйду пилить какой-нибудь свой стартап факап и вообще не вернусь даже на текущий уровень. Жизнь непредсказуема.
Конечно, я продолжаю делать то, что умею. Делаю это с полной отдачей. Я больше не кодирую, редко смотрю чужой код, однако раз в несколько месяцев запускаю Visual Studio и пишу, чтобы не потерять сноровку. Мой текущий акцент в работе — это проектный менеджмент. Моя главная цель — наконец-то стать Senior. А соответствующая зарплата приложится :)
Выводы
Зарплата $8000 в месяц — это много или мало? Смотря с чем сравнивать. $96 тыс. в год недотягивают до средней зарплаты хорошего проектного менеджера в США — $105-120 тыс. А чтобы выплачивать такую зарплату, работодатель должен иметь еще процентов на 30 больше в фонде зарплаты, то есть около $150 тыс. Зарплаты проектных менеджеров в Швейцарии, Сингапуре, Ирландии, Австралии еще выше. Я говорю о gross. То, что в Украине gross практически соответствует net, а также важность частных пенсионных фондов и социального страхования — темы для отдельной статьи.
Давайте подводить итоги. Следующая формула является успешной для меня и, возможно, станет успешной для вас. А возможно, только лишь некоторые ее компоненты. Или никакие — тоже вариант :)
В начале пути ищите помощи и поддержки, желательно у опытных товарищей, которые умеют вдохновлять и направлять. А кто ищет, тот обязательно найдет. Относитесь к любому проекту как к собственному стартапу. Отдавайтесь работе полностью, пытайтесь понять клиента и его бизнес, даже если ваша профессия не требует знаний из более высокого бизнес-уровня. Вам это всегда пригодится для понимания вашего клиента и станет личным плюсом, когда клиент будет выбирать следующего кандидата на должность тимлида, аналитика или менеджера проектов.
Будьте уверены в себе. Если вы делаете свою работу на 120%, то и оплачиваться она должна соответственно. Не бойтесь просить. Однако перегибать палку тоже не стоит. Как вы помните, мой первый ультиматум закончился печально. Хорошо, что только первый.
Ну и напоследок. Постоянно улучшайте себя и свое окружение. Сделайте Continuous Improvement своей главной рабочей философией, и регулярное повышение вашей рыночной стоимости вам гарантировано!
P. S. Если у вас есть интересные вопросы, ответы на которые помогли бы вам в вашей конкретной ситуации, и вы считаете, что я смог бы вам помочь, пишите мне на [email protected]. Могу вдохновить, направить, послать :)
Просьба к друзьям и тем, кто меня знает: не палите контору в комментариях (в обоих смыслах этого слова). На данном этапе я пожелал остаться анонимом, однако отдаю себе отчет, что в любой момент может появиться комментарий с моим именем. И я к этому совершенно готов, вы ничего не добьетесь, кроме того, что сделаете мне неприятно. Если просто хочется сделать мне неприятно, напишите гадостей на вышеуказанную почту :)
Спасибо маме, крестной маме и синьору! Без вас я бы не достиг и половины того, что умею и имею сейчас.
49 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.