• ,

Я теперь тоже разработчик.

Всем привет!

Так вышло, что я отмотал свой испытательный срок уже довольно давно, но (удивительно) найти время на писанину теперь не так уж и просто.

Начну с самого начала. Меня зовут Михаил, мне 27 лет. Сразу хочу сказать, что у меня нет высшего образования (в процессе поиска работы это сыграло свою роль — кто-то может сказать, что сыграло со мной злую шутку, но по мне скорее оказало услугу), хотя за спиной у меня три института.


После школы я поступил в Белорусский национальный технический университет, но к учебе даже не приступил. Переехал в Москву, поступил в один малоизвестный экономический вуз на маркетинг и рекламу, отучился один семестр и бросил. После этого поступил в Останскинский институт на специальность «Звукорежиссура», где одолел два курса. Так что, можно сказать, что прежде чем стать разработчиком, я был звукорежиссером. Карьера в этой области у меня сложилась стремительная и скоротечная — ко второму году работы я понял, что куда-то еще расти в этой области довольно проблематично.

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

Таким образом, в сентябрь 2016 года я вступил с трудовой книжкой в руках и запасом средств примерно на полгода. Тут стоит отдать должное одному нашумевшему ресурсу про подготовке программистов — его маркетологи заронили в меня уверенность в том, что я, как парень довольно смышленый, смогу без труда за каких-нибудь пол-года выучиться на программиста. Таким образом я обозначил свою цель и перестроил свою жизнь так, чтобы ничто не мешало ее достигнуть. Учеба на этом ресурсе оказалась бессмысленной в плане профессиональных навыков, поэтому уже после второго вебинара я понял, что нужен другой подход. К счастью, благодаря однокурсникам я открыл два совершенно замечательных ресурса: платформа Stepik.org и тот, на котором вы это читаете. В конце сентября я начал проходить курс на JavaRush, параллельно проходя курсы, которые я нашел полезными на stepik: дискретную математику, курс по java и несколько курсов по алгоритмам и структурам данных.

К концу октября я закончил часть курсов, прошел 10 бесплатных уровней на JavaRush, и затем около месяца просидел в горах, не особо заморачиваясь о чем либо, кроме выживания. Отдыхать тоже нужно.

В декабре я со свежими силами вернулся к обучению. В конце декабря приобрел подписку и побежал галопом по уровням. Я отдался этому процессу целиком — перестроил режим (спал днем, когда девушки не было дома, вечером проводил несколько часов с ней, потом всю ночь и утро (примерно 12 часов в сумме) работал, утром шел на тренировку (про необходимость физической нагрузки я напишу отдельный пост, просто знайте, что если вы собираетесь всерьез в эту профессию, она не просто желательна — это необходимое условие качественной жизни. Сидячий образ жизни убивает). Спал. И так каждый день, без исключений. Я создал железную систему, и любое отклонение от нее выбивало меня из колеи на несколько дней.
Скажу честно, последние уровни меня скорее разочаровали (небольшое количество задач и размытая теория, да еще и обезумевший с обновлением ресурса валидатор попортили мне порядком крови). Но как бы то ни было, к февралю рядом с моей аватаркой появилось красивое и аккуратное число «40». За бортом я оставил 7 задач, из которых 6 на тот момент не сдавались валидатору, а с одной совсем уж было неохота разбираться.

В этом момент мне следовало бы уже начать искать работу, тем более, что мои скромные сбережения подошли к концу. Тем не менее, я счел необходимым освоить Git, Maven, Gradle, разобраться с SQL, получить представление о Спринге. С гитом, как мне показалось, я освоился за пару дней (в рабочей среде по факту пришлось повторять все по новой), maven на базовом уровне я осознал скорее интуитивно, по Gradle я прошел довольно неплохой курс на Udemy, SQL подтянул на sql-ex, по спрингу я прочитал книгу Spring in Action (для старта более чем достаточно).

С этим скромным багажом знаний в начале апреля я начал поиски работы. Первое собеседование состоялось через две недели. Перед этим я сделал тестовое задание, которое было до безобразия похоже на тестовое задание перед стажировкой на JR (которое я тоже сделал, хотя на стажировку в итоге не пошел). На собеседовании я понял две вещи: во-первых, я совершенно неспособен объяснить на словах элементарные вещи, а во-вторых, я порядочно завысил себе планку — по факту все вопросы на собеседовании были посвящены только Core (и буквально пара вопросов про SQL). Собеседование, тем не менее, прошло неплохо, и мою кандидатуру согласились рассмотреть. Тем не менее, спустя две недели я так и не получил от них внятного ответа (все просили немного подождать, видимо, смотрели других кандидатов). В итоге я махнул на них рукой и продолжил поиски.

Естественно, я побывал в Сбертехе (как и многие выпускники JR), к этому моменту я основательно подтянул скилл отвечания на вопросы, поэтому собеседование прошло отлично, но в конце выяснилось, что без высшего образования взять меня они не могут. Это было довольно досадно, но оно и к лучшему, я как-то убежден, что работать в банковской сфере — клеймо на всю жизнь.

Третье собеседование привело меня туда, где я сейчас нахожусь. Это было нестандартное собеседование, мне задали буквально пару вопросов про Core, больше спрашивали Spring (причем, на достаточно глубоком уровне, про жизненный цикл бинов, аспекты, spring mvc), кое-что про Groovy. По Java спрашивали тоже нестандартное, например, как устроен изнутри StringBuilder, где хранится хэшкод, когда он вычисляется. Были вопросы про JavaScript (его я тоже между делом подучил в самых общих чертах), несколько головоломок. В целом, я ответил примерно на половину вопросов, и ушел с собеседования разочарованным. Тем не менее, на следующий день я получил оффер, с зарплатой, о которой даже мечтал не смел на первом месте работы. Это был конец апреля — прошло чуть больше 8 месяцев с того момента, как я узнал, чем класс отличается от объекта.

Компания называется MASTERDATA, это крупный интегратор систем SAP, 1С, Hybris и прочих энтерпрайзных решений. Я попал в отдел E-commerce, мы разрабатываем сайты для интернет-магазинов. Многие пишут, что они с первого дня попали на передовую нового проекта и начали писать сотни строк кода. У меня было не так. Я первый месяц занимался примерно тем же, чем и дома — сидел и учился, правда, уже более прицельно. Подтянул JQuery, Apache Solr, MQ, Velocity, углубился в MVC, подучил Groovy. Коснулся совсем экзотических технологий, вроде JBoss Drools. Через месяц я начал в одно лицо писать REST API для интеграции нашего текущего проекта c сайтом партнера. Попутно изучал разные модули проекта (чтобы был понятен масштаб трагедии, в проекте без малого 10 миллионов строк кода, не считая фронта и конфигураций). На данный момент я знаю проект процентов на 10%. Скоро стартует новый этап разработки, будем делать два новых сайта для текущего клиента.

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

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

Второе — найдите правильный баланс между физическим и умственным трудом. Следите за своей осанкой, не сутультесь за компом, разминайтесь регулярно, начните ходить в тренажерный зал (гармоничное развитие своего тела — тоже целое искусство, не бросайтесь в этот омут бездумно, иначе только покалечите себя. Лучше позаниматься с тренером, но только если есть хороший. Если хорошего нет, то лучший (возможно, единственный) источник знаний по оздоровительной тренировке — жж-сообщество ru_healthlife). Если вам кажется, что это не имеет никакого отношения к делу — вы ошибаетесь. Физическая нагрузка самым положительным образом влияет и на умственную деятельность в том числе.

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


На этом все, спасибо за внимание. Всем удачи!

7 комментариев

jd2050
Поздравляю! В итоге устроились в Москве, или пришлось перебираться?
naatsms
В Москве, да. Была бы вышла, пришлось бы ехать в Иннополис в сбертех. Так что считай повезло.)
jd2050
Ну, я в Иннополис переехал и вполне доволен))
Хотя, я из провинции, из столицы может быть не так комфортно перебираться
merzki
Поздравляю! Подскажите какой уровень английского у вас? Знание английского требовали?
naatsms
Вообще у меня разговорный elementary, но технический upper-intermediate, я могу читать доки на английском и все понимать. Собственно, способность читать доки на английском спрашивали везде, да.
saudabaew
Тридцать уровней менее чем за три месяца это сильно! Видимо программирование это и впрямь ваше) удачи на новом месте!
Kingpin
Спасибо, хорошая история. Удачи вам)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.