[Разработка веб-сайтов, Карьера в IT-индустрии] От джуниора до сениора: как это было у меня

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
14-Май-2021 02:31

В этом году будет 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. Только вот если кто-то меня теперь спросит, сеньор я или нет, то я отвечу что хрен его знает, кто такие, эти ваши сениоры.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_razrabotka_vebsajtov (Разработка веб-сайтов), #_karera_v_itindustrii (Карьера в IT-индустрии), #_senory (сеньоры), #_razvitie_programmista (развитие программиста), #_obuchenie (обучение), #_razrabotka_vebsajtov (
Разработка веб-сайтов
)
, #_karera_v_itindustrii (
Карьера в IT-индустрии
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 14:36
Часовой пояс: UTC + 5