Мой путь Java программиста

Я более 8 лет занимаюсь профессиональной Java разработкой. На данный момент я возглавляю исследовательский отдел в крупной Европейской компании в качестве Ведущего Java Архитектора.

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

Помню молодого себя, только получившего диплом о высшем образовании. За годы обучения я так и не научился программировать ни на C++ ни на Java. Нас заранее учили по устаревшим учебникам и книгам, мы прыгали с одного языка программирования на другой.

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

Мой путь Java программиста

После очередного проваленного собеседования на должность Junior Java разработчика, я встретил своего старого знакомого. Тогда он как раз поделился со мной радостью, что получил оффер от Американской компании и собирает документы на релокацию.

Для меня, это послужило огромной мотивацией и в тот самый момент я поставил себе цель — получить оффер и поработать в крупнейших Американских и Европейских компаниях. Я понимал, что если я хочу следовать за мечтой, мне надо заняться самообразованием и надеяться только на себя.

Мой путь Java программиста

Так я начал читать книги и прочую литературу по Java программированию. Но чем больше я читал, тем больше вопросов у меня появлялось, непонятных терминов и аббревиатур, а потом голова шла кругом ). Ведь большинство книг для начинающих написаны так, как будто читатель должен быть профессором или обладать 10-ти летним опытом работы в программировании.

Я перечитал с десяток различных книг и статей, доходил до определенной главы и понимал, что ничего не знаю и забрасывал обучение. Учиться я мог по 16 часов в день, пока не выгорал, затем забрасывал обучение на пару дней, накапливал мотивацию и заново продолжал обучение. Так, продолжался месяц, пока я не набрал критическое массу знаний, чтобы пройти собеседование на должность Junior Java разработчика.

Мой путь Java программиста

Так, в чём же залог успеха?

  • Обучение по 16 часов в день, двумя спринтами по 5 дней. Очень важно иметь полноценный отдых, желательно по 2-3 дня межу спринтами.
  • Не пытайся учиться на сложных примерах и туториалах. Я наступил на все эти грабли, пытаясь создать сайты, мессенджеры, игры. Не чем хорошим, это не заканчивалась, на половине пути я понимал что ничего не знаю и в голову приходи мысли, что наверное программирование это не моё. Лучше писать очень простые программы, но на 100% понимать как они работают.
  • Не пренебрегай тем, как работает виртуальная машина Java, что такое стек, куча, типы переменных. Мне казались эти вещи не важными, ведь я учусь программировать, а не теорией заниматься. Каково же было мое удивление, когда на собеседовании я полностью завалился на теории, даже не приступив к программированию.
  • Последовательное изучение материала, очень важно. Перед тем как переходить на следующую лекцию, будь на 100% уверен, что ты полностью понял текущую.
  • Не бойся отказов на собеседованиях, я завалил около 8 собеседований, прежде чем найти работу. После каждого проваленного собеседования, я становился только уверенней, выписывая на листочек все вопросы на которых я завалился.
3232
47 комментариев

 Обучение по 16 часов в день, двумя спринтами по 5 дней. Очень важно иметь полноценный отдых1) Мне одному кажется, что здесь явная логическая нестыковка?
2) У всех джавистов такая упоротая логика?

19
Ответить

По моему это фантазии копирайтеров джавабрейнс, а не реальная история.

3
Ответить

На обучение был потрачен месяц, неясно зачем его на спринты надо было делить)
Так то ничего такого нет, чтобы месяц позаниматься зубрежкой, обычная сессия

2
Ответить

Поделюсь моим опытом изучения Java. 
Я занимался с августа по декабрь 2019 года. Я работал с 9 до 18, работал в Москве, жил в МО, чтоб успеть на работу к 9 утра, мне приходилось вставать в 6 утра, а домой я заходил в 20:34. Получается, что домой я приезжал чисто поспать. Я вставал в 5 утра, и занимался 1 час, потом собирался на работу, бывало, занимался в электричке еще час, но внимание было рассеяным, т.к. обстановка в толкучке была некомфортной. Так же, если я не занимался утром, я не ложился до 23 часов вечера/ночи, занимался. Шло немного туго, т.к. с прохождением материала обучение становилось более сложным, и хронический недосып так же давал о себе знать на усваиваемости материалов. Потом случился новый 2020 год, я сделал перерыв на 2 недели. И после перерыва я не смог продолжить, потому что я не смог выполнить ни одну задачу, я просто напросто за эти 2 недели все забыл. В голове была четкое понимание "я же это делал 2 недели назад, я же знаю как это!", но пальцы уже не могли написать рабочий код. В итоге, поняв, что я не могу сейчас нормально учиться, и нынешняя работа по доходу меня устраивает, я забросил обучение... Вчера, я опять вернулся к мысли, что нужно осваивать программирование. Времени свободного у меня сейчас стало значительно больше.

13
Ответить

2 - 3 часа в день тоже неплохо, но ни в коем случае нельзя останавливаться или сбавлять темп. По себе заметил, как только даешь небольшую слабину, вся мотивация пропадает и очень тяжело заставить себя что-то делать. Даже сейчас, я не могу позволить себе, не учится, иначе просто устарею, как по знаниям так и по технологиям. Бывает приходишь часов в 7 после работы, включаешь
компьютер и продолжаешь изучать что-то новое, параллельно кушая (благо супруга понимает и не мешает мне), итак может продолжатся до часу — двух ночи.

5
Ответить

Так ты никогда не научишься. Все что ты делаешь - это просто играешься и это тебе уже надоело

1
Ответить

По 16 часов в день конечно хорошо учится, правда если не работаешь) Когда работаешь на основной работе (которая не связанна с программированием) , то максимум 3-4 часа получается (

9
Ответить