Мой путь Java программиста
Я более 8 лет занимаюсь профессиональной Java разработкой. На данный момент я возглавляю исследовательский отдел в крупной Европейской компании в качестве Ведущего Java Архитектора.
Но так было далеко не всегда и были моменты, когда казалось, что мне вообще не быть Java разработчиком и выбор программирования в университете это моя большая ошибка. В этой статье я хочу поделиться как мне удалось преодолеть личностный кризис и доказать не только себе, но и всем окружающим, что нет ничего невозможного.
Помню молодого себя, только получившего диплом о высшем образовании. За годы обучения я так и не научился программировать ни на C++ ни на Java. Нас заранее учили по устаревшим учебникам и книгам, мы прыгали с одного языка программирования на другой.
Ничего удивительно, что первое время после завершения университета я работал кем угодно, только не программистом. Куча проваленных собеседований на должность Junior Java разработчика, тогда мне казалось что программирование это удел гениев и математиков.
После очередного проваленного собеседования на должность Junior Java разработчика, я встретил своего старого знакомого. Тогда он как раз поделился со мной радостью, что получил оффер от Американской компании и собирает документы на релокацию.
Для меня, это послужило огромной мотивацией и в тот самый момент я поставил себе цель — получить оффер и поработать в крупнейших Американских и Европейских компаниях. Я понимал, что если я хочу следовать за мечтой, мне надо заняться самообразованием и надеяться только на себя.
Так я начал читать книги и прочую литературу по Java программированию. Но чем больше я читал, тем больше вопросов у меня появлялось, непонятных терминов и аббревиатур, а потом голова шла кругом ). Ведь большинство книг для начинающих написаны так, как будто читатель должен быть профессором или обладать 10-ти летним опытом работы в программировании.
Я перечитал с десяток различных книг и статей, доходил до определенной главы и понимал, что ничего не знаю и забрасывал обучение. Учиться я мог по 16 часов в день, пока не выгорал, затем забрасывал обучение на пару дней, накапливал мотивацию и заново продолжал обучение. Так, продолжался месяц, пока я не набрал критическое массу знаний, чтобы пройти собеседование на должность Junior Java разработчика.
Так, в чём же залог успеха?
- Обучение по 16 часов в день, двумя спринтами по 5 дней. Очень важно иметь полноценный отдых, желательно по 2-3 дня межу спринтами.
- Не пытайся учиться на сложных примерах и туториалах. Я наступил на все эти грабли, пытаясь создать сайты, мессенджеры, игры. Не чем хорошим, это не заканчивалась, на половине пути я понимал что ничего не знаю и в голову приходи мысли, что наверное программирование это не моё. Лучше писать очень простые программы, но на 100% понимать как они работают.
- Не пренебрегай тем, как работает виртуальная машина Java, что такое стек, куча, типы переменных. Мне казались эти вещи не важными, ведь я учусь программировать, а не теорией заниматься. Каково же было мое удивление, когда на собеседовании я полностью завалился на теории, даже не приступив к программированию.
- Последовательное изучение материала, очень важно. Перед тем как переходить на следующую лекцию, будь на 100% уверен, что ты полностью понял текущую.
- Не бойся отказов на собеседованиях, я завалил около 8 собеседований, прежде чем найти работу. После каждого проваленного собеседования, я становился только уверенней, выписывая на листочек все вопросы на которых я завалился.
Обучение по 16 часов в день, двумя спринтами по 5 дней. Очень важно иметь полноценный отдых1) Мне одному кажется, что здесь явная логическая нестыковка?
2) У всех джавистов такая упоротая логика?
По моему это фантазии копирайтеров джавабрейнс, а не реальная история.
На обучение был потрачен месяц, неясно зачем его на спринты надо было делить)
Так то ничего такого нет, чтобы месяц позаниматься зубрежкой, обычная сессия
Поделюсь моим опытом изучения Java.
Я занимался с августа по декабрь 2019 года. Я работал с 9 до 18, работал в Москве, жил в МО, чтоб успеть на работу к 9 утра, мне приходилось вставать в 6 утра, а домой я заходил в 20:34. Получается, что домой я приезжал чисто поспать. Я вставал в 5 утра, и занимался 1 час, потом собирался на работу, бывало, занимался в электричке еще час, но внимание было рассеяным, т.к. обстановка в толкучке была некомфортной. Так же, если я не занимался утром, я не ложился до 23 часов вечера/ночи, занимался. Шло немного туго, т.к. с прохождением материала обучение становилось более сложным, и хронический недосып так же давал о себе знать на усваиваемости материалов. Потом случился новый 2020 год, я сделал перерыв на 2 недели. И после перерыва я не смог продолжить, потому что я не смог выполнить ни одну задачу, я просто напросто за эти 2 недели все забыл. В голове была четкое понимание "я же это делал 2 недели назад, я же знаю как это!", но пальцы уже не могли написать рабочий код. В итоге, поняв, что я не могу сейчас нормально учиться, и нынешняя работа по доходу меня устраивает, я забросил обучение... Вчера, я опять вернулся к мысли, что нужно осваивать программирование. Времени свободного у меня сейчас стало значительно больше.
2 - 3 часа в день тоже неплохо, но ни в коем случае нельзя останавливаться или сбавлять темп. По себе заметил, как только даешь небольшую слабину, вся мотивация пропадает и очень тяжело заставить себя что-то делать. Даже сейчас, я не могу позволить себе, не учится, иначе просто устарею, как по знаниям так и по технологиям. Бывает приходишь часов в 7 после работы, включаешь
компьютер и продолжаешь изучать что-то новое, параллельно кушая (благо супруга понимает и не мешает мне), итак может продолжатся до часу — двух ночи.
Так ты никогда не научишься. Все что ты делаешь - это просто играешься и это тебе уже надоело
По 16 часов в день конечно хорошо учится, правда если не работаешь) Когда работаешь на основной работе (которая не связанна с программированием) , то максимум 3-4 часа получается (