Junior разработчик в 32 года. Испытательный срок пройден!

Год назад я работал инженером ПТО со свободным графиком, то есть самостоятельно искал заказчиков и на сдельной основе выполнял работы. Чаще всего это была подготовка исполнительной документации для сдачи выполненных строительно-монтажных работ заказчику. За 10 лет работы я откровенно устал от неповоротливости системы, бюрократии и кумовства в строительной сфере. Рутина, кидающие на деньги подрядчики, не желающие принимать идеально подготовленные документы заказчики и непокидающее ощущение, что результат моей работы в скором времени отправится в архив, а через N лет будет служить средством розжига камина — всё это давило на меня с каждым годом все сильнее, но по какой-то неведомой причине я продолжал всем этим заниматься (не зря же я учился 5 лет в университете). По меркам города у меня был приличный доход, но когда закрываются базовые потребности, начинаешь задумываться о том, а почему бы не заняться тем, что действительно интересно, ведь работе мы посвящаем существенную часть своей жизни.

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

Не все осилят мою эмоциональную простыню, поэтому очень кратко остановлюсь на основных этапах, которые пришлось преодолеть.

Обучение, курсы

Я не приобретал дорогостоящие курсы, которые обещают из бревна сделать разработчика за 3 месяца с гарантией трудоустройства. Я отдал предпочтение бесплатным материалам на YouTube, недорогим курсам на площадках Юдеми и Степик и бесплатным площадкам по тренировке алгоритмов (codesignal). Абсолютно все есть в бесплатном доступе. Я не мог себе позволить вестись на рекламу и платить 100к+ за то, что мне продают надежду на красивую и беззаботную жизнь программиста. Учиться гуглить, анализировать информацию и выбирать наиболее рациональные решения я начал ещё на этапе выбора подхода к обучению.

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

Ментор

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

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

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

Первая работа

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

Я сделал около 700(мать их!) откликов на вакансии, получил всего 4 приглашения на собеседования и прошел успешно только одно. Так как мне не приходилось выбирать, я ухватился за этот оффер, как за шанс приобрести хоть какой-нибудь опыт коммерческой разработки. Но условия были так себе:

  • Зарплата 45000 на руки

  • Поддержка legacy проекта на Java EE

  • Работа в офисе, которая подразумевала мой переезд с семьей в другой город

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

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

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

Первые впечатления от работы разработчиком

В общей сложности я работаю уже четвертый месяц, а конкретно в текущей компании только на днях успешно перешагнул испытательный срок. Я попал в крутой и дружелюбный коллектив. Средний возраст коллег: 25-35 лет. Есть более опытные разработчики, у которых можно многому поучиться. Самозванцем себя не ощущаю, так как справляюсь со всеми задачами, которые мне дают. Бывают моменты, когда что-то долго не получается, но после решения проблемы наступает чувство удовлетворения и гордости за себя.

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

В отличие от большинства других профессий, прелесть разработки в том, что в процессе повседневной работы можно быстро расти как профессионал и повышать свою стоимость на рынке труда, причем не ограничиваясь только своей страной. Условно говоря: зарплаты Junior и Senior разработчика могут отличаться в 20 раз, в то время как зарплаты начинающего инженера и ведущего инженера в строительной сфере будут отличаться всего в 2-3 раза, да и работу в другой стране на сопоставимую должность найти в разы труднее.

Выпускники курсов за 100к+

Ни на первой, ни на второй работе я не видел тех, кто закончил курсы Гик/Скилл/Брейнс/Бокс и теперь работает разработчиком. В основной массе программисты — это люди, которые ещё в школе определились с выбором, получили профильное IT-образование и вот теперь работают по специальности. Но я знаю нескольких самоучек, которые в сознательном возрасте (35+) решили уйти в разработку и у них это получилось. Всех их объединяет неподдельный интерес к программированию, к решению логических задачек и вот всему этому делу.

Так что мне искренне интересно узнать: где же тысячи выпускников, которые окончили курсы стоимостью по 100к+?

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

P.S. Мелкие заметки делаю в телеге (https://t.me/lovecodebro), на Пикабу публикую редко и только лонгриды.