Как стать Java программистом и получить удовольствие?

Елена Рыжова

Всем привет, меня зовут Лена, и я хочу стать программистом Java. Это решение я приняла в декабре 2015. Я ничего не знала о программировании, даже, как переменную объявить хоть в каком-нибудь языке программирования. У меня не было знакомых программистов, я не работала в ИТ компании, в общем ничего, что могло бы хоть как-то мне помочь. Это не история успеха, где в конце концов я устроилась на работу младшим программистом с прекрасными перспективами, нет. Я до сих пор учусь, и далеко не всё получается гладко. В интернете полно вдохновляющих постов – «программировать может каждый», «старики за год становились прекрасными программистами» и т.д. Всё легко, весело и приятно. Я не знаю, кто пишет эти посты, но они меня, наивную женщину, вдохновили. Я решила, что всё будет действительно просто и безболезненно. Тем более мне всего 25 лет, не преклонный возраст для программирования.

На волне оптимизма я купила курсы мобильного разработчика на Geekbrains и начала проходить 1 курс Java для новичков. Этот курс состоит из 8 вебинаров (2 раза в неделю) и маленьких домашних заданий после каждого. Затем идет 2 курс. В общей сложности обучение длится 2-3 месяца, и, вуаля! – ты программист. Но тут происходит столкновение с реальностью.

Перед курсом тебя не предупреждают, что больше половины из сказанного преподавателем ты не поймешь, и это непонятности будут расти снежным комом. Тебе не говорят, что для того, чтобы понять суть следующего урока, тебе нужно прочитать всё, что ты найдешь по теме, посмотреть все видео и поспрашивать знатоков. А еще тебе не говорят, что вместе с тобой на курсе будут учиться далеко не новички в программировании, люди с высшим образованием, с реальным опытом, которые буду активно участвовать в общении на вебинаре и задавать умные вопросы, а ты их даже не поймешь. В общем, ты начинаешь думать, что с тобой что-то не так, программирование не для тебя, у тебя ничего не выйдет, ты тупой и неспособный. Хотя, по сути дело лишь в разнице часов, потраченных на изучение. Кому-то нужно больше времени, кому-то меньше. Но, если честно, то это и не важно. Если ты хочешь программировать, никто не сможет тебя остановить! Конечно, от курсов я получила пользу: мой нулевой уровень в программировании стал выше, но не так сильно, как я рассчитывала.

После двух курсов я решила почитать книги по программированию. Все рекомендовали Шилдта и Эккеля, но я начала читать, и мне стало невыносимо скучно. Я решила попробовать Java Rush, тем более, что первые 10 уровней там бесплатные. Меня подкупило то, что они делают акцент на реальные задачи. Наконец, хоть что-то приближенное к тому, что нужно будет делать на работе!!! Мне понравился их подход – не нудно, шутки какие-то шутили по ходу дела, в начале каждого уровня мотивирующая лекция о том, как круто быть программистом. Курс прямо учит наслаждаться программированием. Я активно занималась по нему, но так как я работаю, всё равно получалось слишком медленно. Затем я нашла новые рекомендации по книгам – Хорстманн и Head First Java. Это очень крутые книжки!!! Хорстманн пишет довольно ясно, а Head First Java я просто обожаю – она веселая, понятно написанная, с использованием разных подходов, например, картинок, для лучшего усвоения информации. Её можно читать даже просто так, для поднятия настроения + она написана на довольно простом английском, а значит можно еще и язык подтянуть, что немаловажно!

И вот начинаются просветы, когда сложную задачу ты смог решить с первого раза или когда плагин к IDEA установил (я всё-таки девочка, и с установкой программ у меня проблемы). Когда до тебя, наконец, доходит, как создавать и использовать объекты. Это прекрасное время подъема. Но ты идешь дальше по Java Rush и постепенно читаешь литературу по теме, смотришь видео. Когда где-то тормозишь, то начинаешь смотреть Info JavaRush, даже регистрируешься там, чтобы когда-нибудь задать умный или не очень вопрос. С каждым разом темы становятся сложнее. HashMap вообще меня убил – я 4 дня не могла понять как работает итератор, со static мы долго находили общий язык, а StackTrace – это вообще одна большая радость! Мотивация падает, а ты продолжаешь один в этом всем вариться. На работу или даже на стажировку тебя никто не возьмет, ведь нужно знать как минимум Java Core, а до его знания ой как далеко. Я не имею понятия, как работать с входящими и исходящими потоками. Я не знаю, что такое сериализация, многопоточность, вывод на консоль. До сих пор не понимаю, что такое интерфейс. О фреймворках и Java EE вообще молчу, хотя эти знания будут вообще не лишними на собеседовании. И еще периодически бывают такие моменты, когда ты думаешь, что хоть что-то знаешь, например, как инициализировать строку в Java. Вроде это уже пройденный этап, но потом неожиданно узнаешь, что у String есть очень много полезных методов, например, toCharArray(), toUpperCase(), compareTo(). И тут приходит понимание: ты знаешь только верхушку айсберга, а не знаешь гораздо больше.

К чему я это всё пишу? Поделитесь, всё действительно так? Нужно просто заткнуться и усиленно день и ночь учить Java, смотреть видео, читать книги, решать задачи, сколько влезет. И после нескольких месяцев такого отшельничества жизнь войдет в нормальное русло: ты устроишься на работу, опять начнешь общаться с другими людьми, будешь больше практиковаться, а не изучать абсолютно новые темы каждый день, появится уверенность в своих мозгах и так далее. Или есть какой-то вариант жить по-человечески уже сейчас, когда твоих знаний еще не хватает, чтобы решить хоть сколько-нибудь отвечающую требованиям реального мира задачу?

У меня куплена годовая подписка на Java Rush и курс мобильного разработчика на GeekBrains, но это разные направления. Java Rush потом может предложить платную стажировку, но это вэб. GeekBrains — это android, objective c, swift. Чтобы дойти до стажировки на Java Rush нужен 30 уровень, а у меня как бы 10! Набор начнется только в ноябре, так как август я уже пропускаю! На стажировке будет отлично – там другие люди, сроки, наставник, когда я вместе с кем-то занимаюсь, у меня больше мотивации и соревновательного духа что ли. Но это значит, что 20 уровней нужно пройти самостоятельно и еще 4 месяца тусить одной! На GeekBrains я могу начать изучать тот же Android в августе, но я не уверена, что это моё. Меня больше тянет к вэб, но всё таки думаю над этим вариантом (это старт через месяц и там люди).

Напишите, кто на опыте, что бы вы сделали на моем месте? Спасибо!

Елена Рыжова около 1 года назадСпасибо 7
4 чел.