В IT после 30
1.92K subscribers
36 photos
1 video
49 links
Личный блог, где я делюсь своим опытом входа в IT после 30 лет.

👨‍💻 Связь со мной: @wkpman
Download Telegram
Channel created
👨‍💻 Как я стал разработчиком с нуля в 32 года

Всем привет!

Меня зовут Максим, мне 32 года и буквально несколько недель назад я устроился на свою первую работу разработчиком на языке программирования Java ☕️

По образованию я инженер-строитель 🏗 и до IT я трудился в должности инженера производственно-технического отдела. В какой-то момент я осознал, что мой профессиональный рост остановился, а сама работа не доставляет никакого морального удовлетворения. В поисках любимого дела я успел открыть интернет-магазин настольных игр, установить аттракцион виртуальной реальности на набережной курортного города, поработать репетитором по AutoCAD и даже основать сообщество людей в Telegram, стремящихся достичь финансовой независимости в молодом возрасте.

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

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

📜 Осторожно, лонгрид: 21 минута чтения!

Мой путь в IT — читать👇
🔥36👍121
Курсы, которые я проходил во время самостоятельного обучения

Java SE

Первые 3 курса я смотрел от корки до корки. Очень много практики.

1. [Udemy] Основы программирования на Java с нуля за 2 месяца (Дмитрий)
2. [Udemy] Java до уровня Junior Developer за 3 месяца. 1 часть (Дмитрий)
3. [Swiftbook] Продвинутая Java (Алишев)

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

4. [YouTube] Java для начинающих (Алишев)
5. [Stepik] Java с нуля до Junior + Подготовка к собеседованию (Сумин)

Java EE

6. [YouTube] Java EE для начинающих (Алишев)

SQL

7. [Stepik] SQL для начинающих: с нуля до сертификата Oracle (Трегулов)

Git

8. [Udemy] Git: Полный курс для начинающих и не только (Алишев)

Spring

9. [Swiftbook] Spring - Полный курс. Boot, Hibernate, Security, REST (Алишев)

HTML / CSS (основы)

10. [Udemy] WEB-разработчик 2022 (Петриченко)

Docker

11. [Udemy] Docker - Полный курс Docker (Bogdan Stashchuk)

Apache Kafka

12. [Udemy] The Complete Apache Kafka Practical Guide (Bogdan Stashchuk)

Не призыв к действию, а просто для информации: практически любой из перечисленных курсов можно скачать бесплатно с торрентов, но ссылки на скачивание из уважения к авторам курсов оставлять не стану 🏴‍☠️
👍39🔥7👌311
В IT после 30 pinned «Курсы, которые я проходил во время самостоятельного обучения Java SE Первые 3 курса я смотрел от корки до корки. Очень много практики. 1. [Udemy] Основы программирования на Java с нуля за 2 месяца (Дмитрий) 2. [Udemy] Java до уровня Junior Developer за…»
Когда я определился с языком программирования, выбрав Java, то принялся искать истории других людей, которые решили в 30+ лет начать изучать программирование, чтобы сменить профессию.

Популярные IT-блогеры обычно больше блогеры и контент-мейкеры, чем разработчики, поэтому истории на каналах со 100к+ подписчиков немного оторваны от реальности и не такие жизненные что ли. А вот история Александра Никифорова меня зацепила, поэтому тем кто выбрал Java и кто в начале пути — рекомендую к просмотру этот ролик: https://youtu.be/bTxz_lpkB0o

Александр в своё время также составил свой список курсов, которые он проходил для трудоустройства на первую работу. В его списке большое количество англоязычных курсов, поэтому не всем может подойти такой набор, но ссылку оставлю: https://alexnikiforov.com/for-java-students/list-of-courses-and-books-i-used-to-become-a-java-developer/
👍21🔥4
IT-ментор. Зачем он нужен и где его искать?

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

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

Мой ментор составлял технические задания для пет-проектов и в процессе моей работы над ними отвечал на мои глупые (не всегда) вопросы. В моменты когда я не знал как задать свой вопрос в гугле, чтобы найти решение, меня спасал ментор.

Когда стоит обращаться за помощью к ментору?

Мне кажется, что для начала необходимо определиться с направлением, затем пройти базовый бесплатный курс на каком-нибудь Яндекс.Практикуме или Stepik'e, а уже после этого искать ментора и предметно разговаривать.

Где искать ментора?

В тематических IT-чатах. Оставлю ссылку на ментора, который взял меня в ученики и благодаря которому я получил первую работу: https://t.me/zhukovsd_it_mentor

Также на канале Антона Назарова можно глянуть табличку с менторами, которая постоянно обновляется. Там можно найти ментора практически по любому популярному языку программирования: https://it-volki.notion.site/b369c1ad87f84165954165289be5a0ce

А менторство бесплатное?

Тут как договоритесь. Чаще всего да, но, возможно, кому-то придется закидывать ежемесячно на смузи.
👍36🔥3
Прохожу курс по Kafka и тут в качестве примера для сравнения приводят "Общий журнал работ", который мне приходилось заполнять на прошлой работе инженером ПТО. Интересное совпадение :)

Многие из старых заказчиков в строительной сфере до сих пор звонят мне и просят помочь с подготовкой документов. Но примерно в середине своего обучения я решил больше не брать новые заказы, так как это отнимало очень много времени и не приближало меня к моей цели: сменить сферу деятельности.
👍20🔥2
Авито точно не тот сайт, где нужно искать работу программисту.

На мгновение мне показалось (пункт #4), что все это стёб, но судя по всему нет. Интересно, кто соглашается на такие предложения, ведь новичков и студентов даже не рассматривают.
😁20😱11👻3👍2🔥2
🐈‍⬛ Важность пет-проектов при устройстве на первую работу

Когда я выбрал направление (Java Backend) и начал учиться, то попросил своего ментора расставить для меня приоритеты. Вокруг было огромное количество источников информации: книги, курсы, сервисы для решения алгоритмических задачек и многое другое. Однажды я увидел приличную скидку на годовую подписку JavaRush и уже был готов приобрести, но перед покупкой решил посоветоваться с ментором, а стоит ли...

Почему мнение ментора было для меня таким важным? Дело в том, что ментор уже прошел путь от новичка до опытного специалиста и стал тем, кем я только собираюсь стать в профессиональном плане. При этом по его методике уже отучились и устроились на работу несколько человек. Было бы очень странно слушать свою интуицию и не слушать советы ментора в этом плане.

Ментор настаивал на том, что именно работа над пет-проектами должна быть в приоритете. а все остальное, в том числе и JavaRush — это лишь дополнение к первому, но не наоборот. Ясное дело, что невозможно просто взять и начать с 0 писать проект, ничего не зная о технологиях. Поэтому тактика такая: просмотр курса -> выполнение проекта -> просмотр следующего курса -> выполнение следующего проекта. В промежутках между этим можно что-то почитать, порешать алгоритмические задачки и т.д. Но основной упор должен быть на практике, а именно на работе над своими проектами, ведь это максимально похоже на настоящую работу разработчика. Помимо этого, работу над своими проектами можно и нужно будет указать в резюме в разделе "опыт работы". Если будет 2 резюме и в одном будут перечислены и описаны только пет-проекты, а во втором вместо пет-проектов будут указаны пройденные курсы, прочитанные книги и достигнутый уровень на JavaRush, то ответьте себе сами на вопрос: кого с большей вероятностью из этих двух пригласят на собеседование?

В процессе работы над проектами придется много гуглить, причем на английском, так как на русском языке есть только самая базовая информация и не всегда самая актуальная. Верными друзьями станут 2 сайта: stackoverflow.com и baeldung.com. Главная сложность — правильно сформулировать свой вопрос, чтобы получить релевантный ответ.

Я не пытаюсь умничать и раздавать советы от своего имени, ведь я всего 4 недели как джун :) Я лишь доношу мысли человека (ментора), который помог мне максимально быстро трудоустроиться (7,5 месяцев). Вы сами можете видеть на скриншоте ниже к чему приводит обучение по наитию и отсутствие пет-проектов: 1,5 года обучения и даже нет намека на трудоустройство (сообщение увидел в одном из чатов по Java). Так что пет-проекты для джуна без опыта — must have!

Ссылки на технические задания для пет-проектов с прописанной структурой и необходимыми технологиями для выполнения можно найти на страничке моего ментора:

🐈‍⬛ https://zhukovsd.github.io/java-backend-learning-course/
👍23🔥1011👎1🤯1
👨‍💻 Про что вам рассказать?

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

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

— Какие вопросы чаще всего мне задавали на собеседованиях
— На что мне пришлось пойти, чтобы устроиться на первую работу
— Чем я занимался на первой работе в должности Java Junior Developer
— Почему спустя 3 недели я уволился и что делаю сейчас
👨‍💻18👍8
​​🤷‍♂️ Первый оффер: соглашаться или нет?

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

Как я говорил ранее (в первом посте), я сделал 700 откликов на hh, прошел 4 собеседования и получил только один оффер в компанию, которая находилась в другом городе (Краснодар) и которая искала человека в офис. Конечно, мне хотелось найти удаленку с зарплатой 300кк в наносекунду, но я трезво оценивал ситуацию на рынке джунов и понимал, что передо мной стоит выбор: продолжать учиться и пилить пет-проекты или временно переехать в другой город (180 км или 3 часа езды на машине) для получения коммерческого опыта, который позволит позднее найти работу на более комфортных для меня условиях.

Я был рад получить первый оффер, но перспектива переезда меня не так сильно смущала, как сам проект, на котором предстояло работать. Меня сразу предупредили, что это поддержка легаси проекта, написанного на Java EE с использованием библиотеки Hibernate. Spring'а там нет и других проектов на Java в этой компании тоже нет. Новые проекты пишутся на C#, поэтому перспективы уйти с легаси на что-то "модно-молодежное" попросту отсутствовали.

Ещё один немаловажный момент — размер ЗП, указанный в оффере. Не стану называть конкретных цифр, но скажу так: такую зарплату в номинальных цифрах я получал в 2012 году сразу после окончания института. И если тогда для вчерашнего студента это было норм, то спустя 10 лет с учетом инфляции и с учетом того, что теперь у меня есть семья — это смешная сумма. Ещё нужно понимать, что половина этой зарплаты будет уходить на аренду квартиры.

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

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

• продолжение изучения новых технологий и самостоятельная работа над пет-проектами
• или работа в IT-компании над легаси проектом.

Ради собственного успокоения я посмотрел несколько роликов на YouTube на тему: "А так ли страшен legacy, как все говорят?" и нашел даже несколько позитивных видео, автор которых говорил, что начинать карьеру с легаси кода даже лучше, ведь ты будешь знать как и что работает на более низком уровне и зачем вообще придумали эти новомодные фреймворки и для решения каких проблем.

В итоге возможность получить реальный коммерческий опыт перевесила чашу весов в свою пользу, я принял оффер и начал готовиться к переезду.

Продолжение следует...
👍36🌚4❤‍🔥3🔥2
Первая работа

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

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

Мне выделили рабочее место, на телефон пришло сообщение от HR с паролем от учетки и различными доступами (местная база знаний, Gitlab). Рядом со мной сидел ещё один джун, который проходил в этой компании стажировку и которого буквально месяц назад приняли в штат. В нашем кабинете помимо Java-разработчиков сидели C#-разработчики, системный аналитик, дизайнер и системный администратор. Достаточно дружный коллектив, регулярно собирающийся по пятницам поиграть в настолки или попить пива в баре.

В первые дни мне не давали никаких рабочих задач, всё что я делал — читал базу знаний и смотрел на код проекта, пытаясь что-то понять. Куча незнакомых аннотаций, огромные классы по 5000-8000 тысяч строк кода, нереально большие HQL-запросы к БД по 20-30 строк кода и отсутствие документации. Я также видел закомментированные участки кода, над которым не было никаких пояснений и было непонятно для чего это сделано. Просматривая код, я столкнулся с абсолютной противоположностью "чистого кода", о котором я начал читать в одноименной книге.

В ожидании первой задачи, я не терял времени зря и гуглил все незнакомые аннотации, а также начал читать книгу "Java Persistence API и Hibernate", которую мне скинул PM. Я также охренел от масштаба базы данных, в которой были сотни (если не тысячи) таблиц, а также огромное количество связей между ними. После рафинированных (как сказал мой ментор) пет-проектов, я оказался в огромном хаосе непонятных мне вещей. Однако джун рядом успокоил меня, сказав что тоже вначале ничего не понимал, но постепенно втянулся и начал разбираться.
👍26🔥184
Рабочие задачи

Спустя некоторое время я узнал, что в нашей команде нет опытных разработчиков, вроде тимлида или сеньора, максимальный уровень — это PreMiddle. Всего 4 человека на проекте: 2 джуна, 2 премиддла. Основная задача команды Java-разработчиков — техническая поддержка проекта. Процесс такой: пользователи продукта сталкиваются с какой-то проблемой в программе, оформляют заявку с описанием и отправляют нам в виде мини-ТЗ. Задача разработчиков, соответственно, найти и исправить эту ошибку. Задачи между командой распределяет проект-менеджер. Новый функционал этого продукта на Java не разрабатывался. Разработчики на C#, сидящие в нашем кабинете как раз разрабатывали новую версию сервиса, который должен будет в будущем заменить сервис, написанный на Java.

Через несколько дней после трудоустройства я получил первую задачу. Необходимо было совершить несколько INSERT'ов в базу данных и исправить некоторые данные в таблицах. Всё это необходимо было сделать сначала на тестовом контуре, после чего отправить на проверку и после согласования сделать тоже самое на продакшн базе. С первой задачей я справился.

Следующие таски были примерно такого же характера: поиск дефектов в БД и их исправление посредством запросов к БД. Задачи найти ошибку в коде и бизнес-логике не стояло. Джун, сидящий рядом, сказал, что за все время работы он практически не трогал код приложения, а исправлял конкретные данные внутри БД.

Уже в первые дни работы я понял, что в этой компании невозможен профессиональный рост, как Java-разработчика и что задерживаться здесь надолго нельзя. Низкая зарплата, легаси код, скучные SQL-задачи и отсутствие каких-либо перспектив сподвигли меня продолжить откликаться на вакансии. Так как я уже переехал в Краснодар, то решил поискать вакансии в этом городе, ведь если будет требоваться человек в офис, а не на удаленку, то у меня гораздо больше шансов получить оффер за счет меньшей конкуренции.

Продолжение следует...
👍51🔥21👎1
Мотивация

Цель моих постов на этом канале — дать волшебный пендель тем, кому это действительно необходимо. В процессе своего обучения я перечитал десятки различных историй о входе в IT и это мотивировало меня не сдаваться. Успех других людей заражал меня в самом хорошем смысле этого слова. Если получилось у него, то значит получится и у меня! И я практически не встречал историй, где человек приложил максимум усилий и посвятил огромное количество времени своему делу (не важно какому) и у него ничего не вышло. Если ты не сдался, значит ты ещё не проиграл. Чем больше попыток, тем больше вероятность успеха. Хорошая новость в том, что количество попыток (если мы говорим про прохождение собеседований после обучения) неограниченно.

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

Если у вас есть интересная история о входе/выходе или пути в IT — можете прислать мне в личные сообщения, опубликую на канале.
👍38