JavaRush /Java блог /Истории успеха /Мой путь свитчера
Сергей
41 уровень
Москва

Мой путь свитчера

Статья из группы Истории успеха
Всем привет! Меня зовут Сергей и я стал Java-разработчиком. Спустя 1,5 года работы решил поделиться своей историей, поскольку сам пользовался и вдохновлялся такими статьями в начале своего пути Java-разработчика. Надеюсь, и моя история будет полезна. Структура стандартная: 1. Расскажу немного о себе и свою историю 2. Опишу ресурсы, которыми я пользовался 3. Поделюсь опытом поиска работы 4. О работе, спустя время 5. Напутствие :) Мой путь Много лет я работал технологом-программистом станков ЧПУ и связанных с этим производственных процессов. Тогда я и стал осваивать программирование. Это был малоизвестный язык tcl + iso языки стоек ЧПУ. Программный код был не основным в нашей деятельности, но, можно сказать, программировал я на коммерческом уровне :) Даже случались разработки на Java, но я участвовал в них посредственно. В общем, небольшой бэкграунд до работы Java-разработчиком я получил. Сам язык Java я стал осваивать в конце 2019 года. Основной идеей было изучить объектно-ориентированный язык программирования и попытаться расширить стек разработки. Для этих целей подходил больше C#, но, промониторив рынок, поняв разницу языков и время перехода с одного на другой, выбор пал на Java. Плюс мне очень понравилась организация курса на javarush, который мне посоветовал бывший коллега, за что ему большое спасибо. На тот момент, у меня не было цели свичнуться, поэтому я не ставил изучение Java на первое место. Изучал в свободное время, бывали длительные перерывы, но всегда возвращался к курсу. Так это длилось больше года. У меня был подход к изучению подобно танку – изучать все темы, решать/разбирать все задачи, читать все рекомендованные статьи в комментариях и только после этого двигаться дальше. Где-то ближе к середине 2021 года, я все больше стал осознавать, что нужны перемены в карьере. Отсутствие реальных перспектив, в том числе и зарплатных; отсутствие достойных альтернатив на рынке; возможные частые и/или длительные командировки на угрюмые завод с древнегреческим оборудованием; нестабильность рынка и частая смена профиля, что с одной стороны расширяет кругозор, с другой не дает развиваться как специалисту; отсутствие возможности 100% удаленной работы и др. Все эти факторы накапливались и сильно влияли на мое эмоциональное состояние. Тогда я решил, что изучение Java должно быть в приоритете, иначе загнусь. В тот момент, до осенней стажировки javarush/topjava оставалось 2 недели. Понимая, что более-менее соображаю в Java core, но совершенно не знаю фреймворки и БД, я решил не форсировать, разобраться с нужным материалом и поступить на зимнюю стажировку. Тем более, я понимал, что параллельно работать и учиться на стажировке не потяну, поэтому необходимо было накопить финансовую «подушку». С осени 2021г. я начал больше времени уделять учебе, ставя ее в приоритет. В этот же период у меня родился сын. Под конец года была, как всегда, запара на работе. Времени на учебу и на сон сильно не хватало, но больше всего не хватало эмоциональных сил. Под конец года чувствовал, что подгораю. Тем не менее, я решил/разобрал все задачи и лекции на javarush, освоил на базовом уровне Spring, SQL, Hibernate и Git. В начале января 2022г. сделал вступительное задание и попал на стажировку. Ура! С февраля 2022г. взял на работе продолжительный неоплачиваемый отпуск и стал погружаться в проект на стажировке topjava. Когда стали подходить к js, решил уделить время на изучение микросервисной архитектуры. В апреле стал готовить резюме. После 24.02.2022г. рынок вакансий стал гораздо хуже, в сравнение с концом прошлого года, когда брали практически всех без серьезного опыта. В связи с этим, нужно было целиться в район middle и готовиться серьезно к собесам. Я разместил резюме на хх и стал откликаться на 10-20 вакансий в день. Итого, я сделал более 110+ откликов. На половину откликов пришел отказ, многие работодатели совсем не давали фидбэк. Но были и те, кто звали на собеседования и даже звонили без моего отклика. Побывав на 6 собесах, я получил 2 оффера, 2 положительных отзыва после тех.интервью и 2 собеседования остались без фидбэка. Честно скажу, что после этих собесов я был наконец-то доволен собой. Считаю, что я хорошо подготовился и достойно для первого раза отвечал на тех. вопросы. В конце апреля я устроился на свою первую работу в качестве Java-разработчика с достойной зарплатой! За 2,5 года я прошёл путь до своей первой работы в качестве Java-разработка и в 31 год получилось свичнуться. Я очень благодарен своей жене за поддержку и понимание, что это нам нужно. Ресурсы по обучению Повторюсь, поскольку обучение проходило в период 2019-2022гг., возможно появились ресурсы более подходящие Вам для обучения. Здесь я расскажу только о том, что мне помогло стать разработчиком. JavaRush – знания java core и не только я получил благодаря этому курсу. Решал все подряд задачи, читал статьи на этом ресурсе, популярные комментарии и рекомендации на внешние статьи. Но здесь есть несколько моментов, которые стоит учитывать: 1. Знать Java core != уметь писать объектно-ориентированный код. В курсе про ООП немного сказано, но желательно этот навык подкачать отдельно. Иначе код написанный на java будет больше похож на процедурный. 2. Изучить, осмыслить и применить большинство инструментов java core – непростая задача и на это уйдут годы. Тот, кто говорит: «java core это просто, а вот фреймворки это сложно», скорее всего, хороший швейцарский нож использует только как нож, а другие инструменты не трогает. Осознать и использовать: обобщённое программирование (дженерики, обобщенные методы, PECS), функциональные интерфейсы и лямбды выражения, stream api, многопоточное программирование – это не просто и не быстро. 3. Большинство задач имеют академический смысл, а не практический. С одной стороны их разбор и решение полезен для осознания core или алгоритмов. Но не надо на них зацикливаться. Особенно когда время на обучения ограниченно. У меня была такая ошибка. После 35 уровня JavaRush, можно было проходить стажировку у их партнеров Java Online Project на проекте TopJava, для этого требуется сдать тестовое задание. Но для его выполнения, да и чтобы совсем не плыть на стажировке, необходимо ещё дополнительно изучтить Git, SQL, общую архитектуру web приложений, Servlet API, Spring, Hibernate. Некоторые из этих технологий я изучил, банально гуглив/смотря видосы, но по остальным порекомендую следующие ресурсы: Java EE для начинающих от Алишева – маловероятно, что повстречаете чистый Servlet API на реальном проекте. Но это базовые вещи, как работает java web приложение (не реактивное). Алишев очень хорошо об этом рассказывает. Spring от Алишева – мое первое знакомство со spring началось с этого курса. Базовые вещи и очень доступно. Сделаете первое web приложение на Spring MVC, REST. И в конце попробовать подключить сначала чистый JDBC, затем Spring JDBC Template. Интерактивный тренажер по SQL на Stepik – очень крутой задачник SQL, руку набьёте сто процентов. Но учтите, что он заточен на SQL запросы. О самой реляционной БД и СУБД лучше изучите из других источников. Важно здесь дойти до уровня join’ов и закрепить его, остальное это уже пожеланию, только чтобы отточить навык. Spring для начинающих от Трегулова – чем-то похож на курс от Алишева, но также познакомит вас со Spring AOP, Hibernate, Spring Boot, Spring Security. После изученных тем, можно смело идти проходить тестовое задание для стажировки TopJava. Стажировка TopJava – проходил её с проверкой ДЗ, также через поток проходил её повторно «замазывал дыры». Лично я – рекомендую. Есть у неё известные минусы: 1. Часть материала подается в формате видео со старого вебинара и медленно обновляются с обновлением курса. 2. На видео приложение не пишется, а просто описывается уже готовый код – тяжело это воспринимать в первый раз. 3. Дается фронт разработка с javascript. Конечно, это полезно знать для бэка. Но в таком сжатом и сумбурном формате мало что осядет. 4. В целом проект морально устаревает (хоть со временем обновляется). То есть можно бы опустить фронт разработку и уделить больше внимание миграции на Spring Boot (хотя о нем рассказано в отдельном курсе BootJava), плюс саму модель и бизнес-логику можно немного разнообразить, чтобы рассмотреть больше возможных кейсов разработки приложения (например, использование зависимости ManyToMany, динамические запросы и др.). Плюсы самого курса и команды Java Online Project: 1. Веб-приложение, которое сделано как «по учебнику». Действительно, некоторые моменты я до сих пор беру для реальных проектов. 2. Очень хорошие практические ДЗ, которые приближенные к реальным таскам. 3. Хорошее код-ревью, как с технической точки зрения, так и некоторые рекомендации по стилистики и структуры кода помню до сих пор. 4. Повторно пройти курс (без код-ревью) можно бесплатно, а доступ к материалам постоянный. 5. Вторая половина курса подается также в текстовом формате, который чаще обновляется и который можно использовать и после прохождения курса. 6. Сам курс обновляется (java, spring) и дорабатывается со временем. 7. Очень хорошее-открытое комьюнити и самый нетоксичный чат о java (и не только) в телеге)). 8. Очень вкусные разрабатываемые курсы. 9. Помощь в оформлении резюме. Спасибо Григорию и команде! Spring Cloud от Леонид Тишкевич несколько уроков в рамках общего курса. Для общего понимания микросервесной архитектуры, как создать приложение на Spring Cloud и настраивать отдельные сервисы. Поиск работы Состоит из двух этапов: 1. Подготовка к тех. интервью и написание резюме. • Как было правильно сказано: если сначала учить все вопросы из статей типа «1000+ вопросов к интервью», а потом идти на собес, то никогда не дойдете. Но, с другой стороны, надо знать и понимать основные темы, чтобы совсем в грязь лицом не упасть. Я взял базовый пул вопросов из схожей статьи и дополнял. Очень удобно записывать эти вопросы в сервис карточек quizlet: удобно учить, можно заполнять и смотреть на компе и телефоне, группировать по темам и если соберетесь через продолжительное время на собесы, то точно не потеряете. Честно скажу, когда я стал учить вопросы, то многое в голове уложилось в плане теории, которую применяю на практике. • Написание резюме - это отдельный скилл. Если у вас он ещё плохо прокачен, советую поглядывать на реальное резюме опытных разработчика, чтобы со временем у вас сформировался личный стиль написания резюме и просто дополнять его. Также порекомендую вот этот шаблон, особенно для сервисов типа linkedin. Если нет опыта работы, пишите в опыт все стажировки и хоть какой-то бэкраунд с разработкой/программированием – хуже не будет. 2. Рассылка резюме, диалог с hr и собеседование. • Когда я более-менее понимал, что могу что-то ответить на собеседованиях, открыл резюме на xx и стал откликаться на вакансии, не меньше 10 шт. в день. В приоритете на те, где указан опыт работы 1 год и знакомый стек, но по факту откликался на вакансии и с большими требованиями. Также важно через пару-тройку дней резюме обновлять, так оно выплывает в топы для hr. • Разговор с hr и самопрезентация. Желательном быть максимально честным в плане знаний, но себя не занижать. Я позиционировал себя как junior+/pre-middle. На 2022г. точно можно себя так позиционировать после прохождения стажировки topjava и изучения микросервисной архитектуры. Также, если мало опыта работы, при рассказе о себе, детализируйте с какими технологиями вы работали во время обучения/стажировки. • Тех. интервью: здесь будет вопросы по теории, возможны: разбор кода, задачи, чуть реже задачи на алгоритмы. О работе, спустя время • Получаю удовольствие от того, что постоянное развиваюсь в том, в чем раньше развивался только по вечерам/ночам. Нельзя сказать, что все так радужно в работе разработчика, но главное есть дорожная карта и направление, в котором можно развиваться. Также рынок достаточно широкий, главное иметь нужную квалификацию и быть в форме. • Обучение не заканчивается. Опыт прошлой работы и свичинга научил меня, что нужно всегда обучаться и прогрессировать, иначе можно до пенсии на одном месте закиснуть. Некоторые развиваются только в рамках рабочего времени и проекта, но здесь нужно быть осторожным иначе можно в итоге стагнировать или даже регрессировать. • Сама веб разработка не такая страшная. Если сравнивать свой предыдущий опыт работы, когда едешь далеко в командировку и до ночи пытаешься понять, почему станок не работает должным образом и что необходимо сделать, чтобы он работал так как нужно, то здесь бывает такой же формат работы, только специфика другая, сидишь дома недалеко от семьи и за кофейком решает важные задачки)) Напутствие • Не бойтесь перемен! Главное задаться целью и идти к ней, хотя бы мелкими шажками. Невозможно все детально продумать наперед, но хорошо всегда иметь общий план на будущее. • Если это то, чем вы хотите развивать не только с 9 до 18, то точно стоит к этом присмотреться. • Отдыхайте! Нет профессионального выгорания – есть непрофессиональное выгорание.
Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
StepkaInspiration Уровень 20
28 ноября 2023
Сергей, спасибо Вам большое! Замечательная статья деятельного и изучающего человека! Минимум слов о сложности и разочарованиях, максимум реализации тезиса пришёл-> увидел -> победил. Очень важно на пути к работе мечты не опускать рук и всегда продолжать идти вперёд.
Элен Уровень 41
4 ноября 2023
Сергей, спасибо за историю! Не знаю, почему так мало реакций от обучающихся, мне она очень понравилась) Я проходила следующую за твоей стажировку (весеннюю/летнюю), и мне было интересно сравнить наши пути) Очень правильное замечание про то, что после устройства на работу надо продолжать учиться. Рада, что у тебя все так здорово получилось и желаю удачи дальше!)
Dmitry Уровень 6 Student
18 октября 2023
Круто. Моя мечта тоже пройти путь до конца. НО я понимаю что он жесточайше сложен