Много знаешь - меньше возможностей устроиться на работу и финансового повышения. Поделюсь личным опытом собеседований, анализом рынка, перспективах.
Дано
Возраст: |
30+ |
Опыт: |
6+ |
Стек: |
С++17, Qt, PostgreSQL, ELK, Linux, Python, Apache Thrift, RabbitMQ... |
Место работы: |
Банк |
Время работы на текущем месте: |
1.5 года |
Оклад: |
медиана с учётом премии для Software Engineer, Russia |
Семейное положение: |
женат, есть ребенок |
Квартира: |
съемная |
Место проживания: |
Москва |
Условие
Узнал, что коллега пошел в другой банк и получил зарплату почти в 2 раза большую по сравнению с моей без учёта премии. Правда, он java разработчик. На текущем месте проработал лет 5.
Решил и я попробовать будучи уверенным в своих силах. Это был для меня один из возможных вариантов. Считал его самым перспективным. Поэтому из всех собеседований старался оставить его на последок, чтобы придти в наилучшей форме.
Решение
Пересмотрел нужные видео. Перечитал нужные статьи. Немного покодил задачи.
Собеседование №1. Финансовые услуги
Уверенный в реальности этой суммы и в том, что варюсь в самой оплачиваемой области для своего стека смело её обозначал в процессе общения.
Hr: "... у нас разработчики получают примерно равную сумму - 300к. Нет любимчиков."
"Мы можем попробовать пройти тех интервью. Если всё хорошо, то с руководителем возможно обсудить."
Интервью в zoom. Классика нашего времени. Размышляли вслух над выводом в консоль.
Задача
Хотелось сразу сказать, что вызывать виртуальный метод из конструктора не хорошо. Потом к этому вернулись. Вспомнил случай когда такое сделал и получил ошибку run time.
Затем спросили про паттерны. Какие-то назвал. Хотелось громко крикнуть:
"Ребята, у меня профиль в github. Там таких нарешанных примеров пруд пруди. Давайте мой код пообсуждаем?"
В hh, linkedin ссылка на очень видном месте. Никого не интересует мои реальные примеры?
Спросили как я приступаю к решению задачи. Ответил, что могу схемку набросать, затем отойти подумать.
Интервьювер1: "Ага! Значит сразу не решаешь! И долго ждать?"
Воспринял примерно так. Хотел объясниться, что после первого решения надо бы подождать, чтобы созрело лучшее. Но воспринял отклик как негативный и не хотел дальше объясняться. Понял, что с этим парнем не на одной волне.
Был и второй. Он отвечал на мои вопросы в конце интервью про архитектуру, подходы к разработке. Я радовался, что у них разработчик разрабатывает большую часть времени, а не капельку, как у меня в последнее время.
Попрощались. На них особо не рассчитывал. Воспринимал скорее как полигон. Хотя, если бы сказали "ок", может быть и пошел. Спустя пару недель жена посоветовала получить обратную связь. Помнил, что hr же обещала вернуться. Может, до сих пор думают. Последовал совету.
"Взяли другого, ты красавчик, честное слово."
Собеседование №2. Алго-торговля, собственный фонд
Питер, Санкт-Петербург, Ленинград. Оплачиваемая квартира за 50к. Бонусы по нарастающей каждый пол года. Дружный коллектив. Уютная домашняя обстановка. Релокация. Поездки в Европу.
Отличное общение с hr. Пробуюсь в команду №2. Отлично пообщались с руководителем направления. Про умные указатели, многопоточность? Не-не. За жизнь, за понимание.
"Какие протоколы использовал в embedded?"
Рассказывал про свой первый опыт. Ему интересно, мне. Движуха.
Даже, вроде, рассказал как автоматизировал завод, что использовал.
"Сети?", - не, не слышал.
"Профилирование?", - сорри, не попадалось.
"html запросы?", - делал https сервер на POCO. Сейчас не вспомню специфики.
"websocket? Если дать время, разберешься?", - естественно!
flashback
Попрощались. Это был мой второй заход. Первый был в команду №1 в конце весны. Тогда это было одно из первых собеседований спустя 1.2 года как я устроился на текущее место.
Спрашивали про перегрузку функций, связку с шаблонными функциями. Нужно было рассказать какая вызовется.
Не скажу, что это вопрос из топа. Когда есть два параметра - int, short. Когда есть шаблонная функция с одним типом T. Что-то в этом духе. Потом понял, что для шаблонной важно, чтобы эти 2 параметра были одного типа. Тогда бы она вызвалась. Еще момент с повышением типа. В общем, сейчас не всё вспомню.
Вкратце по quick sort, heap sort. Внятно не ответил, потому что давно не вспоминал. А знание это быстро выветривается. Хотя в профиле github лежит написанная мною сортировка¯_(ツ)_/¯
Смело называл манящую сумму. Тогда hr ответила, что для senior это реальная сумма. Через какое-то время пришел вежливый отказ в стиле:
"Наверное, задачки оказались не те, к которым был готов."
Попрощались на хорошей ноте. Честно признался, что команда классная, общение понравилось.
В этот раз hr сделала доп звонок:
"У вас такой отличный контакт получился!"
"По технической части оцениваем как middle. Всё-таки, на senior не хватает знаний, умений", - по их шкале, естественно.
"У нас middle получает в районе 200. На сколько готовы пересмотреть?"
За мою небольшую практику собеседований не часто возникал такой встречный вопрос. Как увидим далее в банке мечты с этим не заморачивались. Хотел взять паузу, посоветоваться с женой. Ей же рисовал молочные реки и кисельные берега. Для того, чтобы оправдать переезд с насиженного места. Где у нас обжитая квартира, классный садик, шикарная инфраструктура и хорошая работа у жены.
Hr не дала такое время. Назвал среднее между ожидаемой и текущей.
Забыл про вторую мотивацию - рост. Особого роста уже не ощущаю. А вот там - да. Сложные задачи, классная инфраструктура. Да и руководитель - человек, который 5 лет назад устроился и сам всё это поднял. Такое не часто встретишь. У него вся экспертиза. Не надо страдать в поисках обрывков документаций и слухов как это всё работает.
"Я вас поняла". И тишина.
Ну ладно. Еще не спросил обратную связь. Это позволит говорить в следующих компаниях, что я в процессе собеседования на желаемую сумму, которая реальна.
Собеседование №3. Биржа зарубежная
Есть движок. Нет С++ разработчика. Оно как-то работает. Медленно. Спрашивали в целом. Про 10к проблему. Про сети. К этому моменту уже немного почитал про select, poll.
"Когда 20 лет назад пробовал писать сервер..."
Вместе со мной размышлял. Было интересно.
"У нас дух стартапа. Вообще, стартап - это вещь экстраординарная. Ведь есть корпорации, которые всё предоставляют".
"А тут нужно что-то экстра", - и мягенько рассказал про систему опционов и работу сверх нормы. Стартап же. Нужно обгонять корпорации же.
Обратная связь отсутствует до сих пор. Сам человек русскоговорящий. Команда интернациональная. Английский для меня не проблема.
Лирическое отступление. Плюсы собеседований - разобраться в себе, своей мотивации
В процессе общения стал лучше понимать чего хочу. На текущем месте хотел стать тимлидом. Сам оказался в гуще, когда меня брали для усиления одной команды. Другая полностью ушла и меня направили туда с обещанием вернуться.
И какие-то:
-
Разработки
-
Доработки
-
Баг фиксы
-
Раскапывание дебрей
-
Общение с внутренними заказчиками
-
Апдейты ввиду обновления интерфейсов взаимодействия
-
Заявки на доступы
-
Тушение пожаров на проде
-
...и прочая
...легло на меня и вновь пришедшего аналитика. После такого разгребания жара пыла быть тимлидом поубавилось. И вот это радужная мысль с конференций:
"Я тут создаю рабочие процессы и условия для работы, несу свет и теплую атмосферу людям" - потускнела под грудой серых булыжников ежедневных преодолеваний.
Стало хотеться больше разрабатывать в роли разработчика. А возможности, как я посчитал, нет. Всё примерно работает. Слабо эволюционирует.
В первых собеседованиях говорил, что вот этим пресыщен. Немного обесценивая свой тимлидерский опыт. Который я так хотел получить. Парадоксально. Потом стал себя слушать, больше понимать.
"Ты это чего? Ты же через это прошёл и разгреб. Все сервисы работают. Цепочки сервисов отрабатывают на тестовых контурах, на проде. Поставь себе +сик"
На форуме когда делился мыслями услышал:
"Пожалуйста, ты можешь именно такой опыт и продавать на собеседованиях"
Хм. Т.е. это в своём роде уникальный опыт(хотя... насколько нужный?).
Стал понимать, что первична движуха сменить работу. И нахожу под это пункты. "Разработчик должен менять работу каждые N лет, чтобы не застаиваться", - пульсирует в голове. Это правда? Или, как я слышал, можно на текущем месте стать супер профи?
Или же, как я слышал, разработчик уже больше копает вширь:
-
В бизнес процессы
-
Предметную область
И может в будущем продавать такую экспертизу. А если вглубь - до какой глубины?
"Ну что ж, сейчас я эти биты запакую и получу более компактную структуру, которая ляжет в кэш и уменьшит время обращения"
Пересмотреть все видео с конференций по языку? Что еще?
Еще понял, что для меня важна социализация. На прошлой работе был командный дух разработки. Все сидели через пару метров друг от друга. Руководитель "заходил на огонёк" каждое утро. Подходил к моей парте у стены, опирался на неё и делился мыслями. Рассказывал, что он подумал о таком-то компоненте - как работает, как преобразовать. Я предлагал стул. Он садился, рисовал, визуализировал понимание.
Как-то раз он пришел с озарением. Встретились в коридоре. Распарсил в голове протокол общения сервисов. Ходил из клеточки в клеточку показывая сущности и порядок взаимодействия. Мы тогда перенимали телекоммуникационный проект - работающие асинхронно установки. Я был первым среди нанятых им разработчиков.
Год такого классного взаимодействия. Потом начали приходить еще. Внимание руководителя стало делиться на всех. Сначала было не привычно. Потом как-то получилось выровняться эмоционально.
В какой-то момент, когда уже набирался штат я немного опечалился:
"Вот столько рефакторинга проводили"
"И толку? Какая эта заслуга?"
"Сейчас приходят ребята и для них это уже как данность, пилят фичи."На что руководитель рассказал утешительную историю:
"В одной книжке прочитал пример. Есть комната 3ех метровой высоты. Сверху люк. И есть человек 2м. Не может вылезти. Нужен еще один, чтобы его подсадить, чтобы сдвинуть крышку"
Не строгий пересказ получился. Может, кто-нибудь вспомнит оригинал. Отложилось в памяти, что один может пахать и сделать 80% работы. И есть еще, который может сделать 20%(для которого это его 100%). Вроде и немного. Зато вместе, они сделают 100%. И откроют этот люк.
Еще я отметил, что продукт живет. То что я сделал - это для других само собой разумеющееся. И не надо печалиться. Если бы мы тогда не разгребли эти дебри, то сейчас люди не смогли бы вкладывать в уже более понятную, разобранную архитектуру, понятный код. Каждому моменту жизни проекта своя работа.
Собеседование №4. Финтех решения
Пробовал еще летом, следом за 1ым питерским собеседованием. На звонке пообщался с руководителем. Такой бодрый мужик. Держался вежливо. Чувствовалось, что требовательный. Интересовался чем отличается многопоточность от асинхронного программирования. Кейсы? Рассказывал про свой опыт, про контекст использования.
Спрашивал, как бы я описал развитие продукта. Однако ж! Не задачки тут решаем, а говорим про важные вещи! Рассказал как себе представляю:
-
Выкатили пилот
-
Получили обратную связь
-
Пилим дальше
Тогда думал что ответил хорошо. Это же современный подход. Все так говорят! После смотрел видео про архитектуру, осознавал agile подход. Ответил бы более полно. Того что сказал, видимо, хватило. Позже было тех интервью в стиле: "Готовься к 14:00 быть на связи. Тебе высылается опросник. У тебя 1 час." Поехали!
Тесты
По ощущением, ответил на процентов 70-80%. Пришел отказ.
Еще опросник от другой компании, где спрашивали с какими БД работал, сколько запросов в секунду обслуживал и как бы решил проблему 10к. Hr представила проект и команду как аналог гугла. Продают рекламу везде по миру. Гигабиты скорости. Терабайты данных. Отказ.
Ну и пускай. То была летняя проверка на прочность и прицел к рынку. Хотя бы попрактиковался.
К собеседованию в банке мечты с желаемой суммой подошел уже в хорошей форме.
Следующие части:
-
Нужно больше собеседований
-
Автоматизируем завод
-
Пол года спустя
Если хотите раскрытия какой-то темы, пишите в комментариях. Постараюсь учесть.
Автор:
avovana7