🔥

Тред (Илья Таратухин)


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

Семья у меня где-то под границей среднего класса, так что я рос в хорошей атмосфере, но с четкими установками: на квартиру мне придется заработать самостоятельно. Но были и плюсы: с компьютером и интернетом я познакомился примерно классе в 5, хоть интересы и крутились вокруг игр.

Не смотря на то, что я рос в довольно криминальном районе города, мне очень нравилось учиться, так что к 10-му классу я не скололся, а поступил в замечательное заведение — Лицей НГТУ, спасибо ему за крутой опыт и возможность завести много крутых знакомств!

Там же я наконец познакомился с программированием, и тут же прыгнул с головой в историю с олимпиадным программированием, тут спасибо преподавательнице по информатике. Вынырнул из олимпиадного программирования я тоже довольно рано, курсе на 1-м.

Учился я на АВТФ в НГТУ. В то время (2004-й год) в моем окружении особо не возникало вопроса: "Нужно ли высшее образование?", всем было очевидно, что "Нужно конечно!". Проблем с поступлением у меня особо не было, первые два курса тоже давались легко.

Где-то здесь я начал фрилансить и делать сайты на PHP за деньги (до этого подрабатывал эникеем по сарафанному радио). Мне казалось, что у меня обязательно должен быть свой фреймворк на PHP, меня дико воротило от верстки и необходимости рисовать дизайны, я был вебмастером.

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

Самое классное — это различные тусовки, причем в основном не айтишные. Кругозор это очень полезно на длинной перспективе, знакомства помогают развивать "личный бренд", а так же это все помогает не поехать кукухой (или поехать).

Помимо тусовок, во время обучения в ВУЗе, ты учишься продавать результаты своей работы. Вот мои одногруппники нашли лабы старших ребят по унылому предмету, вот мы из этого что-то слепили, а вот мы пытаемся своей бригадой это продать преподу. Не напоминает работу в корпорации?

Но тогда я совершенно не представлял, как выглядит продуктовая разработка, испытывал жуткий страх при виде "чистого листа" и считал, что мое будущее - работа C++ разработчиком, но не представлял где.

С первой работой как-то так и получилось. Я делал верхний уровень АСУТП для шахтной вентиляции, катался в командировки в Кузбасс и был 20-летним сотрудником в маленькой компании с офисами без кондиционеров среди 35-летних ребят, которых жизнь уже немного потрепала.

Там я писал на C++, C# и потом на Java, но руководствовался лишь теми знаниями, что были получены во время обучения (то есть так себе программировал). Ах да, было это на 4-м курсе и я продолжал получать высшее образование, но уже начинал сомневаться в этой затее.

И где-то в районе 5-го курса мои социальные связи выстреливают. @2gis зовет твитерских на экскурсию в новый офис (чтобы нанять комьюнити менеджера во Flamp на самом деле), я прихожу, удачно знакомлюсь с Темой @kudzev и через пару собеседований выхожу джуном.

Это было прекрасное время! Маленькая дружная команда, интересные задачи и самое главное — ментор! Спасибо @illbullet, он тогда неплохо помог мне упорядочить всю информацию, что была у меня в голове и научится писать осознанный код с паттернами, абстракциями и прочими SOLID и DRY.

Это были прекрасные 5.5 лет. Сначала мы врывались во фронтенд с бекендным бекграундом, потом прикручивали knockoutjs, затем писали свой фреймворк. И где-то на середине этого пути случилось то, к чему я стремился где-то внутри: я стал тимлидом.

К этому времени я уже довольно давно участвовал как в собеседованиях, так и в продумывании архитектуры, но тут потребовалось как формировать команду, так и планировать ее работу (читайте и отчитываться перед компанией тоже).

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

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

Хотелось переехать поближе и как-то так совпало, что мне написали ребята из @wrike и мы друг другу как-то сразу понравились. Был переезд в Санкт-Петербург, новая команда, смена JS на Dart и старт в роли обычного разработчика - возможность передохнуть от тимлидства.

Отдых был недолгим и вскоре я обнаружил себя руководителем команды, которая занимается развитием UI-kit. Это были очень холиварные времена, особенно если учесть что продуктовым командам надо побыстрее, а половина разработчиков пришла из .NET и им UI не хочется заниматься вообще.

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

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

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

Через пару месяцев я уже забыл о том, как круто было писать на Dart, неплохо ориентировался в кодовой базе и подходах разработчиков, но от легаси иногда хотелось плакать. Очень радовался, когда можно было пилить фичу на React!

И спустя некоторое время это случилось опять. "Илья, а не хочешь ли ты заняться инфраструктурой?" На тот момент уже довольно много всего хотелось полечить, так что я согласился.

Для начала мы наладили нормальный сбор js-ошибок с использовании Raven.js от Sentry с сохранением текстов ошибок и стектрейсов в clickhouse. Затем начали причесывать сборку, переносить js код под webpack.

Когда я стал заниматься этим не один, а начал набирать команду, то дело пошло бодрее. Потом мы добавили поддержку TS и стало совсем хорошо, я почти перестал скучать по Dart. Сейчас мы подтянули фронтенд ВК до должного уровня и перед кандидатами не стыдно на собеседованиях.

Начиная от устройства в 2ГИС и до текущего времени я всегда вписываюсь в любые активности: выступление на конференциях, организация стендов и прочее. Во-первых, это тусовочка, полезные знакомства и личный бренд. Во-вторых, это клевый мерч.

А в третьих — возможность узнать коллег с другой стороны. Например, можно круто затусить с HR-ми и ребятами что организуют ивенты, очень часто они оказываются классными, и в обычной рабочей рутине так не раскрываются. (не то чтобы мерч важнее коллег, но так по твитам удобно бить)

Что же я представляю из себя, как специалист в 2020? Мне 31 год, я работал в 3-х крупных IT-компаниях, активно писал на JS, Dart, TS. Много ковырялся как в кишках Angular, так и в кишках React. Все еще не определился, нравится ли мне тимлидство и готов ли я завязать с кодом.

Надеюсь, я не слишком сгустил краски, но вот в этом докладе попытался рассказать о состоянии фронтенда и его эволюции vk.com/video-14741532…