чем занимается разработчик net
«Не сказал бы, что я разбогател»: сколько зарабатывает разработчик в финтех-стартапе
В Роттердаме
Читатели Т—Ж регулярно делятся рассказами о своей работе и зарплате.
Это история читателя из Сообщества Т—Ж. Редакция задала наводящие вопросы, бережно отредактировала и оформила по стандартам журнала.
Образование
Мое образование абсолютно не связано с программированием. Я получил диплом по специальности «финансы и кредит», изучал биржевое дело во второсортном институте фондового рынка в Екатеринбурге. Несмотря на то что это было образование ради корочки, в студенческие годы я действительно полюбил трейдерскую деятельность. После выпуска пошел работать по профессии: в середине 2000-х устроился арбитражным трейдером в местную инвестиционную компанию. Торговал ценными бумагами и другими инструментами.
Каждый, кто хочет быть трейдером, считает, что в этой сфере очень просто заработать, что это просто Клондайк. На самом деле, чтобы реально что-то заработать в трейдинге, нужен большой опыт и хорошее понимание рынка. Знаю людей, которые лишь спустя десять лет работы начинают что-то понимать в профессии и получать за это приличные деньги.
За четыре года из простого «пушечного мяса» я дорос до управляющего филиалом. Отвечал за все бизнес-процессы, проводил риск-менеджмент для находившихся у меня в подчинении трейдеров, следил, чтобы они не проигрывали много денег. Но я был слишком заносчивым руководителем. Не хочу больше занимать руководящие должности — это не для меня, мне нужно что-то более креативное.
Работа трейдера в целом мне нравилась. Но она довольно нервная: никогда не знаешь, как закончится месяц, получишь ты свои проценты или нет. Тебя кидает из крайности в крайность.
Серьезно, клавиатура там была расходным материалом. Весь этот стресс может вылиться в болезни. За годы работы трейдером у меня развился гастрит, и я даже попал в больницу.
Поэтому однажды я решил поменять работу на более спокойную и ушел в казначейский отдел банка. Мне нравилась эта работа, это опыт, о котором я ни капли не жалею. В отличие от трейдинга, где я все время сидел в одиночестве перед монитором и торговал, здесь мне нужно было общаться с контрагентами или клиентами, которые хотят купить валюту или облигации: ты называешь им цену, котируешь, так сказать, и проводишь сделку. Я постоянно был на телефоне и оттачивал свой коммуникационный скилл.
Все это время я имел дело с чужими деньгами и ответственности за действия клиентов не нес, просто выполнял их ордера. Например, однажды мне нужно было купить 2 млн евро для одной уральской спортсменки. Выходить на рынок с таким объемом стрессово: твою заявку сразу увидят и начнут от тебя «бегать». Поэтому мне пришлось покупать по чуть-чуть в течение дня, но я справился, и это было приятно.
Можно ли разбогатеть, делая карьеру?
Программирование
Все эти годы работы в финансовой сфере я интересовался программированием и активно его изучал в свободное время. Благо в банке у меня его было очень много между всеми этими звонками.
Посреди рабочего дня я спокойно занимался своим хобби — спасибо моему начальнику, который закрывал на это глаза.
Как выяснилось, я люблю программировать. Я все время что-то оптимизировал и автоматизировал — начал с внутренних процессов в отделе. Например, в нашем казначействе был терминал Bloomberg, в котором можно найти всю информацию о ценных бумагах. Он довольно дорогой, поэтому стоял только на одном компьютере, к которому специально подходили все, кому нужно было что-то посмотреть по инструментам, облигациям, акциям.
Потом я написал еще одну программку с простым интерфейсом. Она получала данные о текущих торгуемых акциях с сайта Московской биржи и рисовала карту, где на оси времени и доходности видна кривая, показывающая, какие ценные бумаги в настоящий момент выгодно купить, а какие не очень. Такая карта активно используется в мире фондового рынка. Затем — самое важное, конечно, — я сделал калькулятор доходности облигаций. Его тоже все использовали в деле, потому что иначе пришлось бы считать в «Экселе» или использовать какие-то платные утилиты — например, с сайта для казначеев Cbonds.
Словом, я многому тогда научился в программировании. Начал осваивать C#,.NET и веб-разработку. В какой-то момент я понял, что могу автоматизировать все, что приходит в голову, проектики, которые я написал, тогда мне казались очень крутыми, я считал себя практически богом программирования.
Работая трейдером или казначеем в екатеринбургском банке, я не видел для себя перспектив. Чтобы расти в этой сфере, мне нужно было идти в менеджмент, а как я уже упомянул, у меня нет скилла управления людьми. Поэтому я решил, что надо попробовать себя в программировании.
Спустя четыре года работы в трейдинге и три года работы в банке я принял непростое решение: перечеркнуть все, к чему шел, и в 32 года начать заново.
Смена профессии
Я стал искать работу. Но у меня не было профессионального опыта в разработке, и никто не решался взять меня в мои 30 с лишним лет программистом на ту же зарплату, которую я получал в банке. На это пошла только одна аутсорсинговая ИТ-компания. Ее ресурсы находятся в Екатеринбурге, Красноярске и других дешевых по зарплатам городах, а основной бизнес — в США. Так можно продавать услуги клиентам за американские доллары, а платить зарплаты в российских рублях. Возможно, поэтому для них зарплата 75 000 Р была не такой уж большой и они готовы были взять меня джуниором, то есть начинающим программистом. Но мне поставили условие: за месяц я должен был освоить ряд технологий, среди которых Angular и.NET.
Я быстро понял, что все мои знания в разработке на тот момент были просто каплей в море.
Мне приходилось тратить все свободное время, чтобы наверстать упущенное. Но это было важно и интересно, и мне удалось за месяц освоить все необходимое. В принципе, у меня неплохо получалось, но я понял, что все, что я написал до этого, извините, было говнокодом.
Так я начал работать в команде разработчиков по agile-методологии. До сих пор безмерно благодарен компании за то, что дали мне шанс «перепрыгнуть» на верный путь. Я проработал там два года — этого хватило, чтобы понять, как устроены процессы в программировании и как работать в команде.
В сфере ИТ высокая текучка: год-два — и нужно что-то менять. Всем компаниям требуются программисты, а хороших специалистов мало, и поэтому их перекупают, люди часто переходят на другое место ради большей зарплаты. Недавний тренд — особый спрос на фронтенд-девелоперов, которые пишут юзер-интерфейс. Иногда даже в шутку говорят, что фронтендеры сидят на золотых унитазах, — возможно, так и есть. Но на самом деле все программисты сейчас очень востребованы.
В общем, спустя пару лет я понял, что мне нужно двигаться дальше. В Екатеринбурге мне уже становилось тесно, и я начал искать работу в Москве. Опять было страшно, но супруга вновь меня поддержала.
Многие провинциалы не любят столицу, называют ее Москвабадом и другими прозвищами. Я был в Москве только один раз в детстве и ехал с дурным предчувствием. Несмотря на все это — а возможно, как раз благодаря таким ожиданиям, — Москва мне очень понравилась, и я до сих пор считаю ее лучшим городом — по крайней мере, в России.
В столице меня взяли в Luxoft — довольно крупную аутсорсинговую компанию. Мне пообещали, как я думал, большую зарплату.
120 000 Р — вау, в Москве столько платят?
Сначала я даже не знал, что в ИТ такие высокие зарплаты. Когда я уходил из банка и менял направление деятельности, у меня не было никакой финансовой подушки. Я жил на зарплату и, если честно, вообще не думал о деньгах. Мне хотелось профессионально заниматься тем, что мне нравится. Деньги стали «побочным эффектом» любимого дела. И я до сих пор считаю, что лучший способ прийти к финансовому успеху — интересоваться и любить то, что делаешь.
Я проработал в «Касперском» меньше года, но это были лучшие времена в моей карьере программиста. По ощущениям, это практически как работать в «Гугле». Было весело: хорошая команда, много друзей. Шикарные бенефиты — кафе, настольный теннис, спортзал, и все это дается тебе просто так. Компании, которые борются за программистов, вынуждены их таким образом привлекать. Если честно, меня и правда этим подкупили.
Место работы
Изначально я не планировал уезжать, рассматривал переезд в Европу лишь как долгосрочную цель. А когда увольнялся из банка, это вообще была моя несбыточная мечта. Но уже спустя год после переезда в Москву мне подвернулась такая возможность. Мой бывший коллега из Luxoft, с которым я успел поработать в течение месяца, устроился в нидерландский стартап и позвал меня с собой. Конечно, я не стал отказываться. Тем более что за время работы программистом мне удалось неплохо подтянуть английский.
Оказалось, что это финтех-стартап, разрабатывающий платформу Banking-as-a-Service для доверительных управляющих на фондовом рынке. Это мне идеально подошло. Я не хотел терять опыт работы в банке и трейдинге, и поэтому у меня была цель найти работу программистом, но связанную с финансами, — я знаю всю эту подноготную и могу привнести дополнительную ценность в такой проект.
И вот я третий год работаю в этой компании и собираюсь продолжать. Я мог бы сейчас — и это было бы рационально — с уже полученным опытом пойти дальше, на большую зарплату.
Но мне нравится моя работа и проект, который мы делаем. У меня получается мои знания из прошлого с помощью моих знаний из настоящего воплощать в продукте, который нравится людям.
Это доставляет мне больше удовольствия, чем пилить какой-нибудь порносайт за более высокую зарплату.
Конечно, в нашем стартапе есть и недостатки — например, здесь скудные бенефиты. Тем не менее это лучшая компания, где мне доводилось работать, по ряду показателей: балансу между работой и личной жизнью, свободе разработки и современному стеку технологий.
Суть профессии
В общем, программирование определенно не для всех. Хотя, например, если в «Экселе» вы не просто переставляете ячейки местами и используете простые формулы, а пытаетесь самостоятельно писать макросы, то, вероятно, вы можете задуматься о профессии программиста. Но только если у вас действительно есть желание заниматься этим сутки напролет.
Разработка подходит только тем, кто в состоянии по восемь часов сидеть перед монитором, выполняя рабочие задачи, а вернувшись домой, пробыть у компьютера еще столько же времени, делая что-то для себя. Нужно быть готовым к тому, что придется тратить все свое свободное время, порой в ущерб семье, на освоение нового. Знания не возникают сами по себе — их нужно добывать, начиная с основ и заканчивая какими-то деталями. А для этого нужно много работать.
Рабочий день
Мой типичный день начинается в 08:00 — просыпаюсь, принимаю душ, завтракаю, смотрю «Ютубчик». В 09:00 открываю лэп топ и смотрю задачи. В 10:00 у нас обычно стендап-митинг, а с 10:30 начинается полноценная работа. С 13:00 до 14:00 прерываюсь на обед, а затем снова возвращаюсь к работе.
Рабочий день обычно заканчивается тогда, когда я справляюсь с текущей задачей или теряю концентрацию внимания. Иногда это происходит в 16:00, иногда в 20:00 — мне нравится, что за временем можно не следить.
Подработки не беру, чтобы оставалось время на жизнь и саморазвитие.
Моя мечта — уехать в австрийские горы и работать удаленно из какой-нибудь тирольской деревушки. Из-за пандемии я уже полгода работаю из дома, и мне это очень нравится.
Уверен, что разработчики часто задаются вопросом, какие их профессиональные навыки компании ценят больше всего. К примеру, при смене работы, или когда внезапно обнаруживают, что работают в компании так давно, что окружающий мир, скорее всего, ушел далеко вперед.
Этой публикацией я начинаю цикл аналитических статей по анализу необходимых и востребованных навыков для различных специализаций на российском и зарубежном IT-рынке.
Как родилось это исследование?
В каком направлении развиваться: какие навыки и как приобретать?
Василий смотрит на карьеру своих старших коллег и в его голову приходит самый простой вариант: буду сидеть на своем месте работы лет 5, активно участвуя в проектах – и тогда, скорее всего, меня сделают Senior-разработчиком или может, дай бог, архитектором. Но внутренний голос не дает покоя Васе: может не все так просто, ведь ведущий разработчик и архитектор обладают какими-то особенными навыками, которые их выделяют среди остальных разработчиков – может нужно разобраться с тем, что это за навыки, и что нужно сделать, чтобы их развить в себе?
Какие варианты есть у Васи?
Вполне логично поискать информацию о том, какие навыки сейчас актуальны в IT и как их прокачать на каком-нибудь профильном Интернет-ресурсе. Что сразу приходит в голову: Хабрахабр, RSDN, SQL.ru? Но нет, эти ресурсы скорее расширяют наш кругозор, чем дают нам информацию о том, какие навыки сейчас востребованы. Есть и другие ресурсы, которые посвящены обучению навыкам, к примеру: Pluralsight и Coursera – если бы Вася точно знал, что он хочет изучить, эти ресурсы помогли бы ему. И, конечно, не стоит забывать про профессиональные конференции. Они также полезны как для расширения кругозора, так и развития конкретных навыков, но все равно не могут ответить на вопрос Василия: в каком направлении ему развиваться? Итого, мы имеем множество ресурсов, которые позволяют прокачать те или иные навыки, но, к сожалению, не дают ответа на вопросы: в каком русле развиваться и какой набор навыков развивать? Вспомните, как вы отвечали на эти вопросы: интуитивно?
Вот так и все мы оказываемся перед сложным выбором направления развития. Некоторым из нас везет с опытным руководителем или коллегой-ментором, которые помогают подняться на ступеньку выше или подсказывают направление развития. Но большинство оказывается наедине с этой проблемой.
Востребованные навыки в вакансиях работодателей
Проблема выбора людьми направления развития не давала мне покоя долгое время. И вот, однажды, когда мы с друзьями сидели в одном из московских пабов, я решил воспользоваться коллективным разумом с элементами хмельного допинга. И после очередной кружки эля нам пришла идея: навыки, которые необходимо развивать, должны быть востребованы рынком труда, поэтому портрет востребованного разработчика или архитектора должен иметь какое-то отражение в вакансиях работодателей.
Конечно, я пытался найти готовые обзоры и аналитику по требуемым работодателям навыкам, но, увы, ничего полезного не нашлось, кроме различной аналитики по географическому распределению зарплат и востребованности конкретных языков программирования.
Но энтузиазм не угасал, поэтому, будучи заядлым разработчиком, я написал небольшую программу, которая позволила автоматизировать сбор информации по вакансиям HeadHunter и получить необходимую статистику.
Рейтинг востребованности навыков
Выборка для анализа составила 300 актуальных вакансий. Из описания каждой вакансии был извлечен перечень требуемых навыков, и по каждому из полученных навыков была собрана следующая статистика:
В итоговый рейтинг попали 10 популярных навыков по каждой из трех категорий.
Рейтинг технологий
В технологиях с огромным отрывом побеждает ASP.NET MVC: требование владения данной технологией встречалось в 3 из 4-х вакансий. Мне, как бывшему desktop-разработчику, было откровением, что все технологии desktop UI проигрывают ASP.NET MVC в 6 раз, а в сумме WPF и Windows Forms проигрывают в 2,5 раза. Если верить статистике, судьба разработки настольных интерфейсов видится достаточно туманной.
Отметил я еще один интересный факт: WPF и Windows Forms имеют одинаковый уровень востребованности – примерно 15%. Сначала я подумал, что это связано с переводом приложений с устаревающей технологии Windows Forms на WPF, но, оказалось, что данные навыки требовались в одних и тех же вакансиях только в 2% случаев, то есть одни компании до сих пор используют Windows Forms, а другие компании уже применяют WPF при разработке своих приложений.
На втором месте по-прежнему остается «must have» навык работы с SQL Server и использования Transact-SQL в каждой второй вакансии. В трети вакансий требуется знание WCF, XML и XSLT. В каждой четвертой – LINQ. Ну, и завершает список – EF. У меня есть гипотеза о том, почему EF в нижней части списка, а SQL Server в верхней: рынок ORM до сих пор достаточно раздробленный – многие все еще продолжают собственные ORM писать, а также популярны альтернативные платформы с хорошей историей вроде NHibernate.
Если смотреть на статистику по уровню заработной платы, то наиболее высокооплачиваемыми вакансиями являются те, в которых упоминаются HTML, CSS, AJAX, jQuery и JavaScript (иные платформы JavaScript упоминались в вакансиях, но редко, а потому не попали в топ-лист).
Рейтинг профессиональных навыков
По-прежнему у нас наиболее востребован навык объектно-ориентированного программирования. Владение ООП требуется в каждой четвертой вакансии.
Меня немного удивило, что после навыка ООП сразу же идет навык анализа требований. Сомневаюсь, что работодатели подразумевают именно написание требований, скорее всего, от разработчика требуется активное участие в процессе анализа требований в том или ином виде. Тем не менее, видна тенденция того, что от разработчика требуют больше, чем просто написание кода.
Далее идут достаточно обыденные навыки: работа с системами контроля версий, проектирование архитектуры и шаблоны проектирования – эти навыки требуются в каждой четвертой вакансии.
Стоит также заметить, что навык «архитектура высоконагруженных систем» прорывается уже в топ 10 навыков, что несомненно связано с существующей общеотраслевой тенденцией. При этом вакансии, в которых упоминается данный навык, в среднем имеют самый большой уровень заработной платы – 130 тыс. руб.
Рейтинг общих компетенций
Вряд ли для вас будет откровением, что среди soft skills самый популярный навык – это знание английского языка на уровне чтения технической документации. Этот навык требуется в каждой третьей вакансии.
Второй по популярности навык – командная работа, который требуется в каждой четвертой вакансии. Конечно же, в топ 10 попали такие навыки как самостоятельность, ответственность и коммуникативные навыки. И завершает список навык «умения излагать свои мысли»: если верить статистике, то среди 25 разработчиков достаточно всего одного, который умеет правильно излагать свои мысли – остальным совсем не обязательно.
Самый высокооплачиваемый навык, что достаточно ожидаемо – разговорный и письменный английский. Средний уровень оплаты в вакансиях, где он упоминается – 135 тыс. руб.
Судя по статистике, портрет такого разработчика следующий.
Разработчик ASP.NET MVC, который «на ты» с SQL Server и Transact-SQL, владеющий стеком веб-технологий (HTML, CSS, JavaScript, AJAX и jQuery), умеющий создавать и использовать WCF-сервисы, ну, и конечно, умеющий преобразовывать данные в формате XML.
С другой стороны, он должен быть гуру объектно-ориентированного программирования, при этом немного увлекаться анализом требований, конечно же, проектировать архитектуру приложений, в идеале – высоконагруженных.
Читать, писать и разговаривать на английском, быть самостоятельным и ответственным командным игроком. Ну, и не брезговать общением с коллегами.
Продолжение следует…
Хочу услышать ваше мнение о том, по каким специализациям будет интересно увидеть подобную аналитику, и действительно ли данная статистика помогает нам найти ответ на вопрос, какие навыки нам необходимо развивать, или тема еще не закрыта?