От джуниора до сениора: как это было у меня

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

В этом году будет 10 лет как я зарегистрирован на этом сайте и немногим больше я занимаюсь веб-разработкой, в основном фронтендом.

Кажется это хороший повод посмотреть как это было, может быть и вы заметите какие-то параллели со своим опытом.

Начало: веб-студия

На 4 курсе университета ИТМО я решил что пора бы перейти от случайных студенческих подработок на полноценную работу. К тому моменту я уже умел немного в программирование, git и linux. С таким набором навыков я попробовал откликнуться на предложение стажера в веб-студию и после тестового задания получил свою первую работу.

У студии был свой стартап, который должен был перевернуть рынок услуг. С технической точки зрения там был jQuery для внешней части сайта и ExtJS для админки. Я начал втягиваться в проект, брать на себя все более сложные задачи. В какой-то момент попалась особенно сложная задача, стилизовать ExtJS. Я решил поделиться своим опытом с сообществом, и так появилась моя первая статья на Хабре.

Проект развивался, а я набирался опыта. Было несколько редизайнов, при которых мы переписали большую часть кода с нуля, переехали с самодельного фреймворка поверх jQuery на AngularJS. Также я прочел "Совершенный код" Макконелла и книжку с носорогом, знал все самые трудные аспекты JavaScript, которыми так любят пугать новичков.

Со временем оказалось, что я уже один из старожилов в компании, мне достаются самые сложные задачи, и я сам обучаю других. Кажется, вот оно случилось, я дорос до сеньора.

Я на картинке снизу
Я на картинке снизу

Яндекс

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

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

Однако выяснилось, что в других областях я не разбираюсь совсем, а надо. Распределенные и высоконагруженные системы требуют особых подходов, в том числе и на фронтенде. Нельзя просто так добавить дополнительных данных в ответ сервера, если это требует дополнительного запроса в базу, который может положить производительность всей системы. Нужно проектировать UI нужно исходя из структуры хранения данных и не все хотелки фронтенда получается реализовать. Так я научился проектировать API между клиентом и сервером.

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

И вот я уже мог добавить еще пару скиллов и ачивок в свое резюме.

Амазон

К 2016 году я решил, что Яндексе уже расти некуда. Компания поменялась, это был уже не тот ламповый стартап как в 2013, когда я только туда пришел. Много коллег уже написали свои прощальные "я мухожук" письма. Пора двигаться дальше и обновить своё резюме, а значит снова встал тот самый экзистенциальный вопрос – сеньор я или нет?

К тому моменту у меня был уже приличный послужной список, в которым были и контрибьшены в популярные проекты и даже наш собственный allure-framework, который мы выложили в опенсорс из Яндекса. По стеку технологий тоже всё было прекрасно, у меня уже был опыт на всех популярных в тот момент фреймворках (Angular, Backbone, React) а также новейшем ES6/ES2015. Прекраснейший набор, конечно я настоящий сениор!

Я решил податься в компанию Амазон. Собеседование прошло хорошо, я ответил на все их вопросы о том, как я решал трудные ситуации и укладывался в сроки по задачам, а также написал прекрасный и читаемый код на секции про кодинг. Через некоторое время мне позвонили и сказали, что я получил оффер.

Первое время в Амазоне всё казалось простым и понятным, это тот же Яндекс, только масштаб помноженный на десять. Достаточно было немного освоиться, и продвижение по карьерной лестнице обеспечено!

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

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

Проект наш тоже рос и развивался, и уже стал важной частью инфраструктуры Амазона. Цена наших решений тоже возросла. Мы разрабатывали внутреннюю библиотеку, поэтому тут важно было соблюдать версионирование и стабильное API. Так я познакомился с законом Хирама – о том, что любое поведение вашей системы будет так или иначе эксплуатироваться пользователями. Пришлось научиться работать и с этим тоже.

Я начал предлагать как нам зарефакторить наш продукт, чтобы фичи в него добавлялись быстрее. Наш менеджер убеждал меня, что на это времени нет, придется потерпеть. На что я показывал ему эту картинку:

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

И вот, теперь у меня есть опыт не только написания новых проектов, но и переписывания старых. Появился опыт общения с стейкхолдерами, навыки оценки не только своего времени, но и всей команды. Важно было приоритизировать задачи на год таким образом, чтобы первая половина не вылилась в прокрастинацию, "ведь у нас еще весь год впереди".

Однажды, на очередном 1-1 разговоре, мой менеджер сказал, что по итогам проделанной работы меня повышают. Я теперь официально называюсь Senior Front-end Engineer. Только вот если кто-то меня теперь спросит, сеньор я или нет, то я отвечу что хрен его знает, кто такие, эти ваши сениоры.

Источник: https://habr.com/ru/post/557286/


Интересные статьи

Интересные статьи

17 января, после аварии в мае и восьмимесячного перерыва на устранение проблемы, стартовала ракета-носитель воздушного старта LauncherOne от компании Virgin Orbit. Десять кубсатов образов...
Привет! Делимся переводом небольшой, но полезной статьи о том, как упростить процесс обновления данных для аутентификации. Установите редирект со страницы /.well-known/change-password...
Месяц назад мир узнал о смелом проекте Дамьена Риля (Damien Riehl) и Ноа Рубиным (Noah Rubin), которые словили не мало хайпа на том, что сгенерировали “все возможные“ уникальные комбинации “из 8 ...
С недавнего московского DotNext прошло уже достаточно времени, чтобы улеглась пыль и были подсчитаны зрительские оценки каждого доклада. А весной 2020-го на петербургском DotNext должно быть о...
Эта публикация написана после неоднократных обращений как клиентов, так и (к горести моей) партнеров. Темы обращений были разные, но причиной в итоге оказывался один и тот же сценарий, реализу...