Круглое нести, квадратное катить: история джависта

image alt text


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


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


Любишь программировать — иди в журналисты

Создавать приложения мне нравилось с детства, поэтому любимым домашним хобби было изучение Бейсика и TurboPascal на популярном в те времена i486. Еще участвовал в школьных олимпиадах по программированию и уделял особое внимание домашним заданиям по информатике. В общем, явно будущий программер — что вообще может пойти не так?


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


image alt text


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


В то время как раз набирали популярность идеи удаленного обучения, и в нашем университете решили сделать электронное учебное пособие для подготовки радиожурналистов, с видео- и аудиоматериалами. Я как раз отвечал за реализацию «движка» на базе HTML и JS. Это был первый серьезный опыт разработки реального веб-приложения, которое в дальнейшем мы еще долго совершенствовали и дополняли.


Точка невозврата

После университета мое представление о мире, полном интересных лично мне задач, малость треснуло от удара о реальность. Но мне повезло: друзья предложили переехать в Петербург и заняться выпуском цветной ежедневной спортивной газеты уровня Marcá и Gazzetta dello Sport, а это уникальный проект для России. Такое предложение было большим успехом для вчерашнего выпускника, и я немедленно согласился.


Но программист в душе, видимо, требовал выхода. Поэтому вечера проходили за программированием и фрилансом по разработке сайтов. Через некоторое время пришлось решать, чему отдавать больше времени — разработке сайтов или дизайну газеты, так как объем задач по разработке рос в геометрической прогрессии. Очень кстати наступил кризис в отрасли печатных СМИ, который наложился на личную потерю интереса к дизайну и подтолкнул к смене профиля деятельности, что я так долго и старательно откладывал.


Главным было «ввязаться в драку» — опубликовать резюме и начать ходить по собеседованиям. После этого начался долгий марафон ежедневных собеседований, каждое из которых добавляло уверенности в своих силах и пополняло копилку каверзных вопросов от собеседующих. Вообще, было неожиданно увидеть такой интерес к резюме без впечатляющего программистского опыта. Видимо, помогли советы моего друга, опытного разработчика, который к тому моменту уже дорос до ИТ-директора.


Сидишь вечером, никого не трогаешь, кодишь в PHP…

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


image alt text


Но настоящий звездный час настал спустя год работы: передо мной поставили задачу переписать высоконагруженную систему показа баннеров и сбора пользовательской статистики. Прежний вариант был плох тем, что толком не масштабировался из-за не слишком удачных архитектурных решений и был крайне неустойчив. К тому моменту я программировал на Java только факультативно, поэтому задача стала настоящим вызовом и проверкой веры в свои силы. И, как это часто бывает с подобными «динозаврами», в компании не осталось никого, кто хорошо разбирался бы в работе текущей системы. Ну что ж, заодно прокачал навыки бизнес-аналитики и составления ТЗ.


Баннерный кризис

Спустя полгода мои познания в Java, многопоточном программировании и распределенных системах значительно расширились, а новая баннерная система прошла все круги ада и была сдана в продакшн. Это произошло в 2014 году — как раз в то время, когда в экономике страны начался общий спад и рынок баннерной рекламы с оплатой за показ/переход стал стремительно сокращаться. Как и многие, наша компания решила на всем экономить и свернула дальнейшую перспективную разработку.


Но не возвращаться же снова в PHP после такого большого и интересного Java-проекта! А раз идем по нарастающей сложности, то самое время окунуться в «кровавый энтерпрайз», со всеми этими масштабными системами и разработкой «по науке». Как раз в тот момент удача мне еще раз улыбнулась, и мои умения заинтересовали крупного госзаказчика с проектом на Oracle DB, J2EE и всем таким прочим. Если не вдаваться в детали, то проект состоял из огромного монолитного приложения и нескольких микросервисов для работы с ним — в разработке одного из них я и участвовал.


Конечно, это был совсем иной уровень, как по масштабу систем, так и по компетенциям коллег.


Первый важный вывод

Знаете, чего не хватает в энтерпрайзе? Отдачи — реакции на твой продукт от конечного пользователя. Получается, что ты пишешь все эти тысячи строк кода, выпускаешь релиз и… все. Релиз проходит формальное одобрение и уходит в продакшен без каких-либо оценок со стороны пользователя. В корпоративных системах покупатель и пользователь — обычно разные лица. При этом решения принимает покупатель, которого мало интересуют пользователь и его удобства — в таких делах важнее завершить работу в срок и уложиться в бюджет. Это был довольно странный и неожиданный вывод, который «менял все».


image alt text


Так что нет никаких гуманитариев и инженеров — просто мы лучше всего делаем то, что нравится в конкретный момент жизни.

Казалось, можно спокойно заниматься энтерпрайз–разработкой, но возникло желание вновь расширить профессиональные горизонты. К тому же сработал «голливудский принцип» — мой профиль на LinkedIn заинтересовал рекрутеров Яндекс.Денег, и позже пришло сообщение из разряда: «Некогда объяснять, приезжай на собеседование!»


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


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


Еще немного откровений

Если вернуться лет на пять назад, то я дал бы себе тогдашнему несколько советов:


  1. Не бояться и начинать меняться как можно раньше.


  2. Работа в команде быстрее прокачивает навыки, так что фриланс надо оставлять сразу, как начинаешь задумываться о новых направлениях.


  3. Продуктовая разработка — это невероятный драйв, и чем ближе к пользователю, тем острее ощущения. Адреналин, как от спорта.


  4. На техническом собеседовании нельзя дать «плохих» ответов, зато легко показать неумение рассуждать и думать. Но к собеседованию всё равно надо готовиться: обидно будет провалиться, если забыл какую-то тривиальную вещь.


  5. Журналистика — это, конечно, весело и необычно, но все равно мы знаем, чем это закончится. Может, тогда без прелюдий?

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

Комментарии (2)

  • 1 марта 2017 в 12:55

    0

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

    Высшее образование и ИТ — текущие реалии и перспективы, мнения и опыт экспертов

    Думаю, главное — что бы человек был хороший… Как говорят, в цирке медведь на велосипеде одноколесном ездит :))
    Вот у меня сосед по рабочему месту 12 лет на скоряке фельдшером отработал, потом трах-бах, закончил вечерку и он инженер!, инженерит (копипастит) софт для нефтеперекачивающих станций. Как человек он нормальный, а как инженер скорлупы от яйца не стоит… как-то так.

  • 1 марта 2017 в 13:19 (комментарий был изменён)

    0

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

© Habrahabr.ru