Всем привет, меня зовут Лена, и я хочу стать программистом 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 в августе, но я не уверена, что это моё. Меня больше тянет к вэб, но всё таки думаю над этим вариантом (это старт через месяц и там люди).
Напишите, кто на опыте, что бы вы сделали на моем месте? Спасибо!
LenaR
16 уровень
Мне 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, и двигаться дальше. Но для себя я понял, что это бесперспективно. Почему, это отдельный вопрос.
При этом мне всегда была интересна глубина, узнать как работает та или иная технология, что привело меня в мир программирования. Джавараш я выбрал потому, что он имеет последовательную и поэтапную систему обучения с упором в практику. И коль у меня нет знакомых программистов, которые могли бы меня направлять я посчитал этот путь во тьме наиболее стабильным и безопасным. Мы тут, как сталкеры на пути к машине желаний. В конце каждый один хер получит не то, что хотел, и не в таком виде, как желал, но другие ва
По поводу олимпиадного программирования, попробуй сначала посмотреть его начальный курс где он дает основы и подбирает под каждую новую тему задачи со специализированного ресурса для олимпиадников. Конечно если ты знаешь матан и имеешь опыт решения хитрых олимпиадных задач, вероятно ты сможешь решить проходные задачи, чтобы попасть на следующий круг познания к элите :)
В начальном курсе задачи по сложности не превышают 25% Где-то я читал, что 60% это уже уровень всероссийских олимпиад, вероятно такие и более сложные, и решаются в закрытом сообществе.
Седжвик мне не зашел, попробуй) А английский я стал прокачивать в соответствующей школе на офлайн курсах.
По собеседования планирую ходить ближе к концу года. Сейчас я понимаю, что объективно не готов. Не вижу смысла тратить свое и чужое время. Темы которые нужно подтянуть я знаю и так. Хотелось бы сначала дойти до 30 уровня, пройти стажировку и уже тогда делать попытки. Хотя я еще не выбрал точно область применения джавы для себя. Веб мне не очень нравится, смотрю на андройд, мне нравится идея изучения устройства, которое пол мира таскает в кармане, нравится идея работы с аппаратным уровнем, вай-фай, блютуз и тп, но еще не щупал, не смотрел, не знаю на сколько это перспективно.
слушай у тебя день рождения не в сентябре случаем? :)
Пиши в личку дам контакты :)