Всем привет, меня зовут Лена, и я хочу стать программистом Java. Это решение я приняла в декабре 2015. Я ничего не знала о программировании, даже, как переменную объявить хоть в каком-нибудь языке программирования. У меня не было знакомых программистов, я не работала в ИТ компании, в общем ничего, что могло бы хоть как-то мне помочь. Это не история успеха, где в конце концов я устроилась на работу младшим программистом с прекрасными перспективами, нет. Я до сих пор учусь, и далеко не всё получается гладко. В интернете полно вдохновляющих постов – «программировать может каждый», «старики за год становились прекрасными программистами» и т.д. Всё легко, весело и приятно. Я не знаю, кто пишет эти посты, но они меня, наивную женщину, вдохновили. Я решила, что всё будет действительно просто и безболезненно. Тем более мне всего 25 лет, не преклонный возраст для программирования.
На волне оптимизма я купила курсы мобильного разработчика на Geekbrains и начала проходить 1 курс Java для новичков. Этот курс состоит из 8 вебинаров (2 раза в неделю) и маленьких домашних заданий после каждого. Затем идет 2 курс. В общей сложности обучение длится 2-3 месяца, и, вуаля! – ты программист. Но тут происходит столкновение с реальностью.
Перед курсом тебя не предупреждают, что больше половины из сказанного преподавателем ты не поймешь, и это непонятности будут расти снежным комом. Тебе не говорят, что для того, чтобы понять суть следующего урока, тебе нужно прочитать всё, что ты найдешь по теме, посмотреть все видео и поспрашивать знатоков. А еще тебе не говорят, что вместе с тобой на курсе будут учиться далеко не новички в программировании, люди с высшим образованием, с реальным опытом, которые буду активно участвовать в общении на вебинаре и задавать умные вопросы, а ты их даже не поймешь. В общем, ты начинаешь думать, что с тобой что-то не так, программирование не для тебя, у тебя ничего не выйдет, ты тупой и неспособный. Хотя, по сути дело лишь в разнице часов, потраченных на изучение. Кому-то нужно больше времени, кому-то меньше. Но, если честно, то это и не важно. Если ты хочешь программировать, никто не сможет тебя остановить! Конечно, от курсов я получила пользу: мой нулевой уровень в программировании стал выше, но не так сильно, как я рассчитывала.
После двух курсов я решила почитать книги по программированию. Все рекомендовали Шилдта и Эккеля, но я начала читать, и мне стало невыносимо скучно. Я решила попробовать Java Rush, тем более, что первые 10 уровней там бесплатные. Меня подкупило то, что они делают акцент на реальные задачи. Наконец, хоть что-то приближенное к тому, что нужно будет делать на работе!! Мне понравился их подход – не нудно, шутки какие-то шутили по ходу дела, в начале каждого уровня мотивирующая лекция о том, как круто быть программистом. Курс прямо учит наслаждаться Java программированием. Я активно занималась по нему, но так как я работаю, всё равно получалось слишком медленно. Затем я нашла новые рекомендации по книгам – Хорстманн и 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 в августе, но я не уверена, что это моё. Меня больше тянет к вэб, но всё таки думаю над этим вариантом (это старт через месяц и там люди).
Напишите, кто на опыте, что бы вы сделали на моем месте? Спасибо!
JavaRush
/Java блог
/Архив info.javarush
/Как стать Java программистом, не сойти с ума от кучи инфо...
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Мне 24 зовут меня Артём и летом я закончил университет, магистратуру. В общей сложности на высшее образование потратил 7 лет, ну да не 6 как в обычной магистратуре, были свои сложности
Ещё учась на втором курсе, мы с другом решили написать небольшое приложение на Android, просто математический справочник т.к. не хотели мы формулы учить и решили приложение сделать. Кому интересно Пифагор спасибо другу за рекламу на его сайте, это дало не хилое количество скачиваний. И этот кайф от того сколько людей скачивает твоё приложение и оставляет комментарии, я помню до сих пор, это было невероятно.
Потом мы что-то забили и не стали заниматься программированием на Java дальше.
Потом в моей жизни были php, html и css и несколько сайтов знакомым на заказ, это конечно приносило некоторый профит, но как-то напрягало, это всё было как-то не очень интересно.
Когда учёба закончилась, диплом получил и все дела, я стал думать, а чем же мне заняться дальше и куда расти. Я решил изучать программирование, но не знал какой язык выбрать (выбирал между Java и JavaScript), в итоге выбор пал на Java. Я вспомнил тот кайф от приложения и решил развиваться с этим языком.
Для меня Java это возможность работать где ты только захочешь, быть универсальным человеком. Это возможность быть частью чего-то большего. Ты можешь делать приложения, а можешь сервера, а хочешь можешь и для карт делать приложения, это же просто невероятно.
В итоге я начал заниматься на JavaRush 28 июня. До этого проходил курс на «степик». Я остановился на 40 уровне JavaRush, 21 сентября. Почти 3 месяца я занимался, каждый день по 4-5 часов, перерыв был только 1-2 раза по паре дней. Заниматься каждый день это чудовищно тяжело, не советую никому. Я поставил перед собой цель пройти весь курс до нового года, поэтому у меня было такое рвение
но к сожалению это просто не возможно( для того чтобы сейчас устроиться джуном, нужно иметь знания миддла… а у миддла их должно быть огого. плюс ко всему нужен английский от pre-intermediate, знаниями языка такой величины я не владею.
Эхххххх, может быть когда-то…
но я просто иду по накатанной и честно решаю задачи ибо больше ничего не остается. Но я решаю их все, ничего не пропускаю, ну почти, три задачи за 23 уровня(( и я честно пытаюсь понять все темы которые было на этих 23 трех уровнях. Вот немогу я просто так взять и бросить проходить задачу, не могу бросить тему без понимания. Зато сейчас я твердо уверен что если мне попадется какое-то повторение я по крайней мере буду знать что делать и куда смотреть, это дает небольшую уверенность))
Хотя есть два места где усвоил совсем по минимуму: это трэды и клонейбл; шото совсем туго.
И это все жутко тормозит( Я уже говорил что прошел 23 уровня, но прохожу я их уже 9 месяцев!!!
Когда читаю посты других как они пролетаю javarush за 3-6 месяцев, очень гружусь по этому поводу(
Но потом понимаю/читаю ихние оговорки в комментариях, о том сколько было задач пропущено, что они не читали по 2-3 книги параллельно, что они не работали в момент изучения, становится немного лучше))
Вот ппц, я уже наверное раз по 30 прочитал многие статьи которые были по прошедшим темам)) и кстати очень часто находил для себя что-то новое…
Вот лично мой совет, можно научиться абсолютно всему) да у кого-то больше времени на освоение уходит, у кого-то меньше) но самое главное — не забивать!)
Так и одиночество в процессе меньше ощущается и мотивации больше и моря кажутся мельче а горы ниже :)
Если есть желание вообщем, но ежедневно ты сталкиваешься с проблемой лени(хотя интерес же есть, че за дела, верно?!) — понятно что нужно следовать некому режиму дня… в котором хотя бы пару часов продуктивного кодинга должно быть! Для последнего очень важно следующее:
— окружающая обстановка не должна напрягать
— стул или кресло должны быть максимально комфортными
— цветовая тема редактора кода в идее должна быть подходящей для времени суток и не напрягать глаза color-themes.com/
— в качестве фонового звука(если такой приемлем) могу порекомендовать следующее: www.noisli.com/, musicforprogramming.net/
— И!!! Пища для ума должно быть ЕЖЕДНЕВНО! Лично я советую орехи. Иногда должна быть рыба. Ну и вообще надо следить за рационом (но орехи — супер крутая тема :)). Это поможет бороться с ленью, улучшит производительность мозга и память.
Напоследок хотелось бы отметить, что приятно видеть девушек в этой сфере. Удачи, Лена)
Или банальная повседневность?Если интересно, тут описание одного из проектов которым я занимался на работе.Сейчас я не сомневаюсь, что мог бы без особых проблем сдать и CCNP, и двигаться дальше. Но для себя я понял, что это бесперспективно. Почему, это отдельный вопрос.
При этом мне всегда была интересна глубина, узнать как работает та или иная технология, что привело меня в мир программирования. Джавараш я выбрал потому, что он имеет последовательную и поэтапную систему обучения с упором в практику. И коль у меня нет знакомых программистов, которые могли бы меня направлять я посчитал этот путь во тьме наиболее стабильным и безопасным. Мы тут, как сталкеры на пути к машине желаний. В конце каждый один хер получит не то, что хотел, и не в таком виде, как желал, но другие ва