Подводя итоги 2021 года (часть 1)

В целом год получился удачный. Были и достижения, были и ошибки, которые я, кстати, ценю даже больше, чем достижения, но об этом я напишу отдельно.

К достижениям можно отнести смену работы. Я наконец-то пишу на своём любимом Rust-е в коммерческой разработке (до этого примерно в течение 3 лет использовал его только в домашних проектах). Отчасти это было связано с тем, что работы на Rust было удручающе мало. Отчасти в собственной инерции: застрял на Go, примерно три с половиной года ему посвятил. Платили там хорошо, да и вакансий по нему всегда было больше. Язык в принципе неплохой, но Rust гораздо интереснее и во многих моментах сильнее.

Уход из «крупной телекоммуникационной компании», где я работал на позиции архитектора (писал об этом здесь) был хоть и непростым решением, но правильным. Зарплата у меня там была отличная, плюс куча всяких разных бонусов, но работа не нравилась. Оказалось, что это совсем не то, что я себе представлял до трудоустройства. Поэтому решил уволиться и поискать что-то другое.

И тут у меня образовалась развилка, я мог вернуться в Go разработку, а мог попробовать поискать что-то на Rust-е. При этом нужно понимать, что хотя за последние годы вакансий на Rust-е и стало больше, но все равно тому же Go в этом плане он сильно уступает, если очень грубо то где-то на порядок (я оцениваю по достпным вакансиям на hh). То есть найти работу на Go в разы проще, чем на Rust. Однако я все же рискнул и решил искать именно такую работу.

Я тогда думал, что буду потихоньку искать, посижу 2-3 месяца, а может и больше — не проблема, спокойно допишу свой проект по алготрейдингу, который переделывал с Go монолита на Rust микросервисы (тоже уже упоминал об этом).

Помимо hh вакансии на Rust-е еще можно смотреть в Телеграм сообществе (примерно то же самое + обсуждения вакансий можно найти здесь). Ну и я помимо традиционного размещения резюме на hh смотрел вакансии в Телеграме. Просматривал я их не питая никаких иллюзий на скорое трудоустройство. Вакансии там, конечно, попадаются, не сказать, что каждый день что-то новенькое, но бывают. К сожалению, большая их часть связана с блокчейном. Меня лично блокчейн разработка не сильно привлекает, но куда деваться-то, если других вариантов нет (так мне тогда казалось). И я для себя решил, что если ничего лучше не будет, то пойду в блокчейн. Возможность писать на Rust-е того стоит.

А пока решил не тропиться, подумал, что это прекрасная возможность заняться своим проектом. Опять же, будет, что показать на собеседовании. Понятно, что собеседования гораздо проще проходить, если у тебя есть какой-то код, который тебе не стыдно продемонстрировать. Иногда вокруг этого кода и происходит дальнейшее обсуждение: типа почему такое решение, а как можно по-другому? Это удобно, ты знаешь свою кодовую базу, ты можешь обосновать решения или честно признать какие-то глупости, которые есть практически в любом проекте.

В итоге когда мне попалась интересная вакансия на Rust-е (никак не связанная с блочейном), часть моего проекта уже была готова, мне оставалось только выложить код в своём репозитории и оформить какое-то описание. Я связался с человеком разместившем вакансию (как оказалось потом это был мой будущий тимлид), скинул своё резюме и ссылку на код. Через несколько дней, со мной связались и мы согласовали дату и время интервью.

На интервью помимо тимлида/техлида (опытный Rust разработчик) был еще технический директор, сам он в прошлом тоже писал на Rust-е и не только. Он как раз и руководил беседой.

Я уже не помню подробностей, но интервью получилось технически насыщенным. При этом мне было комфортно, никаких докапываний и мелочности. Не было ощущения допроса или экзамена, просто поговорили на тему программной разработки с уклоном в Rust. Отношение было доброжелательное и уважительное, никаких попыток доминировать, поучать или экзаменовать. У меня после того разговора сложилось впечатление, что собрались единомышленники и просто поболтали на тему Rust-а.

По своему опыту прохождения многочисленных собеседований могу отметить, что такие интервью не частое явление. Наверное тут важна не только техническая грамотность интервьюера, но и его зрелость как человека. Наверное даже мудрость, жизненный опыт. Может быть, какая-то сочетаемость людей, которые в этом интервью участвуют.

В итоге было всего одно интервью примерно на 1.5-2 часа, в процессе которого мне сразу же и предложили работу. Между моим увольнением из телекома и устройством на эту работу прошло где-то 2 недели. Я устроился в начале июня, хотя изначально думал, что как минимум для конца лета я буду искать работу.

В результате я получил 1) возможность писать на Rust-е, 2) хорошо оплачиваемую работу (по условиям получилось даже лучше, чем было в телекоме), 3) финтех направление (изначально меня взяли на доработку биржи, сейчас начался новый проект по алготрейдингу), 4) крутых и опытных коллег (никогда до этого я не встречал столько грамотных и ответственных людей в одной компании).

По прошествию полугода я считаю эту работу одной из лучших за всю мою карьеру, а занимаюсь я программной разработкой уже более 20 лет. Это весьма редкое сочетание: интересная предметная область (финтех) + крутой язык + хорошая з/п + опытные коллеги + адекватное и грамотное руководство. В дополнение скажу, что это удалённая работа и никаких идиотских требований типа «писать код только на железе работодателя» или каких-то «анальных зондов» в виде таймтрекеров (были такие извращения на одной из предыдущих работ). В общем мне повезло, но с другой стороны я и сам для этого приложил некоторые усилия.

Ещё хочу повторить, что вакансий по Rust-у стало больше (сравниваю со своим опытом найти подходящую вакансию 4 года назад). И они разные, это не только про блокчейн, есть и классические бэкенд направления типа разработки баз данных. Было что-то про логистику, компьютерное зрение. Уже после трудоустройства мне приходило несколько предложений по алготрейдингу, высокочастотной торговле. В общем Rust уже сейчас вполне себе востребован и надеюсь, что интересных вакансий будет ещё больше.

Если кому-то интересна компания, где я работаю, то это UnitedTraders. Официально компания называется как-то иначе, но это те самые ребята, которые написали биржу UTEX, которые переодически у себя в офисе проводят митапы.

Я поучаствовал в разработке биржи, хотя и пришел в уже зрелый проект. То есть это преимущественно доработки, решение каких-то частных задач. Из крупного можно отметить разве что функционал для стоп-ордеров.

С одной стороны — это не так весело, как писать с чистого листа, с другой — интересно и полезно посмотреть на реальное коммерческое решение, на то, как пишут код другие, более опытные в плане Rust-а разработчики. Это ценно. Одно дело какие-то свои домашние проекты, где вообще нет требований по нагрузке, тестам, отказоустойчивости. И совсем другое — коммерческое решение, где требование в десятки и сотни тысяч запросов в секунду — это норма, а полное (или близкое к таковому) покрытие тестами — это просто необходимость.

В общем наверное все, что я хотел сказать по поводу текущей работы, я сказал, на этом я пока заканчиваю и поздравляю всех с наступающим Новым годом! Пусть все будет хорошо, желаю всем счастья, добра и новых свершений!

Валерий Чугреев, 31.12.2021

Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии
Vladimir36
Vladimir36
5 месяцев назад

Поздравляю, сам потихоньку растоманю, но с Java пока уйти сложно. Хорошие деньги и в принципе интересные задачи