JavaRush /Java блог /Истории успеха /История для тех, кому за 30
Святослав Винниченко
20 уровень
Томск

История для тех, кому за 30

Статья из группы Истории успеха
И так, добрались руки нашлось время и мне поделиться своей небольшой историей.

Пролог.

Начнём с того, что мне 30, моё основное образование — высшее химическое (не буду углубляться в тонкости), почти 8 лет я проработал на заводе. Работа была на самом деле достаточно интересная, но, смотря на коллег, я понимал, что выходить на пенсию и работать *дцать лет тут мне не охота, не так я хочу провести свою жизнь. Так же хочу добавить что у меня есть семья, двое детей (старшей 6, младшей год) и, по классике, ипотека. Наконец я решил попробовать уехать в другое место, на другой завод, где выше оплата и есть карьерный рост. Корни на заводе я уже пустил, уходить было тяжело, но решился. Поездка под Питер длилась месяц. Там я проработал официально неделю, понял, что в нашей стране с заводами по большей части ситуация печальная, и вернулся в родной город. Возвращаться обратно не хотел, мне казалось, что это шаг назад. Тут уж я и решил, что если менять жизнь, то менять кардинально! Около недели я думал, какой язык программирования выбрать, и, собственно, выбор пал на Java. После этого начал искать курсы. На самом деле курсов хороших очень много, некоторые из них даже за приемлемую цену, но у меня была проблема: желания и времени для учебы было много, а вот финансовая подушка была максимум на 3-4 месяца. Все курсы, которые мне нравились, были от полугода и больше с двумя занятиями в неделю (чаще всего). И тут мне одна знакомая порекомендовала JavaRush, мол, слышала, что хороший очень ресурс. Я увидел, что здесь есть всё, что мне нужно:
  • подписка с материалами и задачами.
  • никаких ограничений по времени: я мог учиться ровно столько, сколько позволял мой график (а он был свободный), и моё желание (а его, как писал выше, было в достатке).

Часть 1: В поисках знаний.

26 ноября 2019 года я оформил подписку и приступил к занятиям. Скажу сразу, порой были дни, когда сидел до 14 часов за изучением, читал все смежные ссылки, искал более красивые решения (не подглядывая в Помощь). Только когда думал, что мое решение оптимальное, то смотрел в Помощь и очень часто удивлялся, что можно было решить красивее и лаконичней. В конце января, по достижении 17 уровня, я решил начать ходить по собесам, натаскивать навык и смотреть, что вообще требуется на рынке. По факту никто мне особо не отвечал, но нашлась одна контора, которая взяла меня на условно-бесплатную стажировку: первый месяц бесплатно, второй и третий — с небольшой стипендией). Далее должен был быть собес по результатам трех месяцев, и уже при успешном прохождении — трудоустройство.

Часть 2: Врываемся "в бой".

Стажировка заключалась в написании плагина для Chrome с back-end на Java для автоматизации рутинных задач одного внутреннего отдела компании. У меня был прекрасный наставник с большим багажом знаний, думаю, это тоже немаловажно. Собственно, чтобы не уходить в дебри, я сразу напишу какой стек использовался, а в конце статьи дам несколько ссылок, которые для меня оказались очень полезными.

Стек:

Java 11 (проект полностью писался с нуля), Spring (Boot, Security, OAuth2); в качестве базы использовалась MongoDB; для покрытия автотестами использовал Assertj, Mockito, Spring-boot-starter-test, работали по достаточно популярному GitHub Flow (статья на русском, в оригинале). Здесь и далее буду стараться давать ссылки на оригинал и на перевод. Желательно, конечно, читать оригинал, но если возможности нет, то читайте перевод. Тут как раз самое время посоветовать изучать английский язык. У меня уровень А2, но стараюсь читать статьи на английском (конечно же, не без использования переводчика). В этом как раз была наибольшая сложность в первое время на стажёрском проекте, потому что там надо было работать со сторонней CRM, у которой вся документация на английском языке. Так же при работе со спрингом лучше читать оригинальную документацию, она у них очень хорошая и подробная, даже и не нужны никакие гайды русскоязычные, да и вообще почти вся документация англоязычная (немного от Капитана Очевидности). Также наставник сказал писать все комментарии к коду и документацию по API на английском языке, поэтому повторюсь ещё раз: изучайте английский язык! Даже если и не собираетесь работать с зарубежными заказчиками или выезжать за рубеж, этот навык просто очень сильно упростит вам изучение и разработку.

Часть 3: Развязка.

Эта часть будет значительно короче :) По окончанию стажировки я прошёл собес и устроился на работу, продолжил заниматься данным проектом. В рамках стажировки должен был быть реализован первый этап, а всего их было, можно сказать, три. Из-за начала пандемии много коммерческих проектов исчезло, и я реализовал все этапы и задумки/хотелки, которые только могли быть на данном проекте. Были и другие задачи, но это, как говорится, уже другая история.

Часть 4: Happy End, хотя ещё далеко не End ;)

В середине июля мне позвонили и спросили, ищу ли я работу. Резюме висело на hh, хотя и давно не обновлялось. Я решил попробовать себя, прошёл 3 этапа: тестовое задание, техническое собеседование, собеседование с начальством, прислали оффер и... Это было предложение, от которого я не смог отказаться. Кстати, обязательно почитайте статью о том, какие бывают компании, и постарайтесь выбрать для себя более подходящую. Понимаю, конечно, что на первых парах вы будете пытаться попасть туда, куда возьмут, но всё же. Моя первая работа была аутстаф, а сейчас — продуктовая (на момент написания статьи я работаю лишь второй день). Взяли так же на позицию джуна, но я ни капли не расстроен, ведь есть куда расти и по знаниям, и по деньгам.

Эпилог.

Так что, друзья, не унывайте, главное — решить и не сворачивать со своего пути. В моём случае у меня была большая ответственность перед семьёй и желание поменять что-то в жизни, заниматься тем, что действительно нравится. Особенно прекрасно в этой сфере то, что ты можешь подниматься по карьерной лестнице вне зависимости от того, есть ли в компании вакансия выше, ушел ли оттуда пенсионер, который проработал уже *дцать лет, и достаточно ли у тебя мохнатая рука, чтобы пролезть на это вакантное место. В нашей сфере всё в наших руках!

Статьи, которыми хотелось бы поделиться:

  • Понимание архитектуры (на русском и в оригинале). Эту статью я лично читал 4 раза, когда только разрабатывали архитектуру будущего приложения. Пишу во множественном числе, так как все проверял и отправлял на повторные правки наставник (делал code review). В первый раз я мало что понял, потом читал спустя 3 месяца, тогда уже понял почему именно так. Потом прочитал ещё 2 раза, так сказать, для закрепления и полного усваивания всей информации.
  • Интерактивное обучение работы с Git.
  • Советую всем изучить работу со стримами (stream). Это реально классная вещь: зачастую можно огромную писанину заменить небольшим стримом. Для напоминания про работу со стримами у меня всегда висела открытая вот эта статейка.
  • Для работы со спрингом есть документация подробная, так что уж на неё я ссылки давать не буду, но почему-то я не сразу наткнулся на человека по имени Евгений Борисов, он же Spring-потрошитель. Вот очень классное выступление и разбор работы бинов и т. д. Очень жалею, что не сразу наткнулся на него, многое было бы яснее на начальном этапе. Особенно рекомендую не просто прослушать, а параллельно писать код и закладывать всё, так скзать, в мышечную память.
  • Ну и так как я работал с нереляционной базой, а большинство компаний (особенно крупных) работают с SQL, то в свободное время старался решать хотя бы пару задачек на построение SQL-запросов. Для этого есть масса разных сайтов, но мне понравился вот этот, с задачками и учебником для изучения.
  • Ещё порекомендовал бы почитать про написание тестов (Assertj, Mockito), но прям хороших статей не припомню, просто документация.
  • И при разработке приложения (но это уже не совсем для новичков) старайтесь использовать паттерны проектирования. По крайней мере ознакомьтесь по диагонали с известными паттернами, на начальном этапе будет полезно.
Ещё раз желаю всем удачи в этом деле! Будут вопросы — задавайте, по возможности отвечу.
Комментарии (22)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Леонид Уровень 7
8 февраля 2021
Круто! Очень мотивирует! Спасибо за статьи!
Акижан Уровень 30
22 сентября 2020
Поздравляю с успехом! Работу и первую и вторую, я так понимаю, ты в Томске нашёл?
Екатерина Уровень 22
8 сентября 2020
Ты молодец, спасибо за вдохновляющий пост и полезные ссылки.:)
Andre Makkin Уровень 20
7 сентября 2020
А по зарплате, больше чем на заводе стало?
Юрий Уровень 31
7 сентября 2020
Удачи тебе!!!!!!!!!!
Андрей Уровень 27 Expert
6 сентября 2020
Однозначно в закладки! Большое спасибо за историю и ссылки!
Сергей Уровень 22
5 сентября 2020
В 30 - это круто. Но можно и в 43, как это сделал я. Моя история успеха https://klever.blog/from-business-to-it-development/
Herr Ives Уровень 30
5 сентября 2020
коротко и по делу! держи в курсе!! удачи!!!
Глеб Стадник Уровень 33
4 сентября 2020
спасибо за ссылки !
Daniil Fedorov Уровень 9
1 сентября 2020
Спасибо за отличную мотивацию перед сном) Так быстро найти работу - это очень круто! Удачи вам.