Здравствуйте!
Хочу рассказать про сайт, который оказался очень полезным для меня в совокупности с историей под названием "Как делать нельзя".
На JavaRush я подсела весной. Когда я была уровне на пятом, JavaRush выпустили акцию - подписка за пол цены! Будучи молодой, неопытной и падкой на халяву (ну или почти халяву), тем более, что скидка в 50% на годовую подписку весьма существенна, я решила купить подписку по акции, тем более, что темпы моего обучения мне казались довольно шустрыми.
Ближе к лету у меня возник перерыв в обучении - работа берёт своё. Потом отпуск - святое. Когда я опомнилась был уже август, а я на восьмом уровне. Я в тихой панике - столько всего нужно сделать, а я не успеваю. По институтским годам знаю, что лучшее лекарство - это планирование. Одного только планирования иногда достаточно, чтобы успокоиться и жить дальше.
Начались изыскания по способам планирования - сёрфинг по интернету привёл меня к бессмертной диаграмме Ганта. Сама я диаграммой Ганта не пользовалась, так как не было настолько масштабных и растянутых во времени проектов. Множество ресурсов рассказывают как сделать её в Excel, предлагаются шаблоны для скачивания, готовые и платные приложения. Я Excel обожаю, но его функционала мне показалось недостаточно - нужно было больше мобильности и интерактивности, хотя, если подумать, то ...в любом случае это трата такого драгоценного времени. Дальнейшие поиски в интернете вывели меня на сайт ganttpro.com - диаграмма Ганта on-line. Есть бесплатная ограниченная версия, но мне хватает.
Итак, зарегистрировалась. Поделила количество дней, оставшиеся до окончания подписки на количество уровней, которые требуется пройти. Получила, что на один уровень мне разрешено тратить семь дней. Расписала задания по уровням. Уровни разбила на уроки. В дальнейшем развитии уроки с задачами разбиваю на задачи; уровни с лекциями - на лекции; отдельно выделила изучение теоретического материала, даже изучение Help'а. В процессе плановое время исправляю на фактическое, то есть, отмечаю начало выполнения задания, окончание, существенные перерывы. Например, когда знаний для решения задачи недостаточно и мне приходится переключаться на поиски теории, я разбиваю задачу на подзадачи и в каждой подзадаче фиксирую этап, оставляю описания, чтобы с течением времени вспомнить чего же это я тут задержалась.
В расчёт включила и выходные дни, так как моя растревоженная нервная система твердила, что я ничего не успеваю.
Пока я диаграммой занимаюсь всего второй день, но уже ясно сколько времени я трачу на уровни. Теперь я могу планировать!
А самое главное, что девятый уровень я закрыла раньше срока и паника исчезла. Хотя признаюсь, что в таком темпе работать сложно, благо, обстоятельства пока позволяют. Сейчас хочу создать буфер времени, который позволит мне, во-первых, больше отдыхать, так как в таком режиме всё-таки трудно обучаться, а, во-вторых, в случае непредвиденных временных расходов, мне не придётся опять впадать в панику и в попыхах нагонять упущенное.
Ну и картинки.


ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
10 уровней пройдено мной за 1 месяц и 17 дней, пока иду с опережением в месяц, хотя по графику видно, что более старшие уровни начинают занимать больше времени.
На первом этапе максимально интенсивно учитесь на джавараш, например, 3 месяца. С полным погружением в задачи и темы лекций. За 3 месяца вы дойдете примерно до 20-25 уровня — этого вполне достаточно, чтобы познакомиться с джавой и хорошо ее прочувствовать.
На втором этапе (на который уйдет примерно полгода плюс-минус у кого-как) — переключаетесь на изучение энтерпрайз-технологий и пишете свой домашний проект. Джавараш при этом совсем не забрасываете, но занимаетесь на нем по свободе, так, чтобы к концу этого этапа дойти до 30-го уровня, который даст возможность попасть на реальный проект.
Третий этап — это еще 3 месяца — уходит на реальный проект и изучение оставшихся лекций и задач.
При таком подходе вы будете лучше готовы к реальному проекту, на котором как раз и используются энтерпрайз-технологии, и в целом будете больше соответствовать вакансиям на рынке труда.
а дальше выпал из него =\
У меня есть возможность учиться только в личное время. На выходном, кажется, что времени море, но не получается фокусироваться на обучении дольше 2-3 часов. В редкие дни учусь 6-7, но тогда страдают другие дела.
Все люди ± одинаковые, надо делать перерывы и давать мозгу отдыхать.
Так вот. На работе я трачу 7 — 6 часов каждый день. Могут отвлечь и на весь день, но сейчас поставила себе установку — чтобы не случилось, хотя бы час уделять заданиям.
Из моего тайм менеджмента. Уже давно стараюсь придерживаться правила 15 минут:
Кто занимается спортом 15 минут в день, тому не стоит беспокоиться о своем здоровье.
Кто уделяет 15 минут в день уборке своего дома, тому не стоит переживать о беспорядке.
Кто выделяет 15 минут в день на улучшение концентрации, тому не стоит беспокоиться о творческом кризисе.
Кто находит 15 минут в день, чтобы выслушать о делах своего мужа или жены, не стоит беспокоиться о проблемах в отношениях.
Кто выделяет 15 минут в день на слушание себя и ведения личных записей, тому не стоит беспокоиться о недостатке идей.
Кто 15 минут в день работает над созданием источников дохода, тому не нужно переживать о собственном финансовом благополучии.
Кто выделяет 15 минут на отдых, не следует опасаться переутомления и усталости.
Кто читает полезную книгу хотя бы 15 минут в день, не стоит переживать о том, как стать экспертом.
Правила действительно работают. Особенно в плане уборки — всё делаю в течение недели и выходные свободны.
Также раза 4-5 в неделю выезжаю с другом на роликах или на велике — помогает разгрузить голову. Приготовление еды тоже не занимает много времени — 30 минут максимум.
Также я отлично понимаю, что если перестать смотреть телевизор, то выделится ещё как минимум два часа свободного времени ежедневно (правда час один уйдет в пользу «лечь пораньше»). Ночью я не занимаюсь ввиду того, что мне ком
За полгода реально все пройти и без спешки.
У меня на первые 10 уровней ушло 3 дня (правда до этого, хотя и в прошлом веке, был любительский опыт программирования на ассемблере, бейсике, C, PL-1 — чистое процедурное, без ООП).
11 — 22 прошлись уже за 1.5 месяца,
самый пик сложности 23-32 2.5 месяца,
остаток 33-40 прошлись за месяц-полтора в начале лета (когда погода не особо способствовала занятиям — плохо переношу жару).
То есть да, за полгода реально пройти (если не филонить). Так как главное в курсе практика, то временные затраты связаны с решаемыми задачами. 27 биг занял полную неделю, ну и увлекся некоторыми задачами: 20бонус4 и построение цепочки городов, каждая из которых тоже отняла пяток дней.
P.S. Так же способствуют лучшему усвоению материала оказывать помощь с разрешением задач на данном форуме. Ибо разбирая чужое решение и ища ошибку также набираешь опыт.
P.S. Еще раз повторю — многие темы я уже знал до этого (математическое образование, так критикуемое авторами JR). Бинарная арифметика, IP-адресация, основы алгоритмов и базовые конструкции и сущности(массивы, ветвления, циклы, итераторы,...) и по ходу курса просматривал «по диагонали».
По работе надо было сделать онлайн синхронизацию разных СУБД (до этого был ежедневный файловый обмен). Штатные средства для многих из них платные, ломано-краденое изначально не рассматривал. Сам потихоньку изучил (где по книгам, где по статья) Java на уровне начала ООП + стартовое знание коллекций + JDBC + позже JSP (JSP также учил «по верхам» глядя используя существующие как шаблоны). Налаживал наверное пару месяцев и интуитивно чувствовал, что сделано кривовато (позже в районе 30х JR отрефакторил).
2) Как пришел в JR.
Так как читал много статей про Java в процессе самообучения — то к новому году браузер начал крутить акционные скидки на JR — куда я в последний день (официально срок уже прошел) и записался.
3) Сложность уровней (для меня, наверное, все индивидуально) JR — сильно нелинейная.
Для меня были самыми сложными темы про multithread(+concurrency)/подробности коллекций/проксирование. Темы связанные с началами ООП/Tomcat/JSON/XML/Работа с файлами/сети — были легкими (я до этого сталкивался с ними по работе или при самообучении). Уровни после 32 — относительно легкие (по сравнению с серединой 22-30). Сложность задач — аналогично.
4)5 часов подряд заниматься Java-обучением — увольте, не для меня. После 1.5-2 часов концентрации внимания на одном предмете я теряю фокус задачи (наверное, тоже индивидуально). Мне важно переключиться (хоть на полчаса-час) на что-то другое — домашние дела/огород/да хоть фильм глянуть.
5) Еще я также изучал Java не в рамках JR-проекта. Старался решать рабочие задачи с помощью Java (что также улучшало его изучение). До Java (До работы программистом СУБД я работал в строительстве 15 лет) я за год до трудоустройства перелопатил вагон инфы по IT чтобы попытаться наверстать 15 лет пропуска — правда 2/3 было в Web-области — Ruby on Rails, Java Script (на уровне написать небольшой онлайн блокнотик) — все как бы тоже легло «в копилку» (хотя признаюсь без практической зад
P.S Во мне всегда ликует маленький практик, когда кто-то пишет что нужно делать больше упор на практику, и читать только то, что нужно, а не все подряд :)
P.P.S мои 5 часов джавы, это пакет из форума, курса, задач, статей, видео с котиками. Все в пределах разумного, безпрерывно заниматься может даже вредно, имхо
Один в один мои ощущения года два назад — когда я запоем бросался на видеокурсы/подкасты/циклы статей по обучению на Ruby/JS. Тратишь тучу времени, наполовину изложенное вообще туманно и т.п… Сильно помогает перенос упора на практику — в случае JR больше времени тратить на решение и оптимизацию задач, в ущерб поглощения теории, далеко отстоящей от решения тех же текущих задач. Тогда и теория лучше пойдет (ибо «прочувствована» хотя бы частично изнутри).
Но ведь прочитать код с ошибкой и найти ее бывает сложнее чем написать его заново и затратнее по времени. Но найти тоже бывает полезно и отвечающему, можно разобрать моменты в которые сам не попадал (например приведение типов, синхронизация в мультипоточности...)
P.S. Спать меньше 5 часов в день — ОЧЕНЬ ПЛОХО. Может сильно сказаться не только на концентрации внимания и занятиях в течении дня, но и физиологически. IMHO, конечно
Читать прям книги целиком, а не только по конкретные темы, не успевала, сейчас наверстываю.
ЗЫ обновление про книги увидел уже после своего поста
2) Идеи для домашек есть, но времени нет. Начинала пару проектов, но до ума не довела (стажировку не считаю, т.к. там все под чутким руководством)
3) на собеседование пока не хожу, планировала с осени, но посмотрим как с садиком все сложится
Осенью планирую сдать ОСА и ОСР, искать работу и параллельно заниматься чем-то своим
А пока лето — времени ни на что не хватает :( Сейчас максимум 2-3 раза в неделю по часу на учебу уделяю. Еще постоянно куда-то в сторону заносит, то SQL колупаю, то JS
выглядит громоздко, но получилась она на удивление быстро, основное время ушло на то, чтобы найти как все это можно двигать туда-сюда :)
habrahabr.ru/post/237813/
habrahabr.ru/post/135075/
Немножко отвлекусь.
При обучении, по моему важно еще и конспектирование. Кому как удобно. Кто делает вкладки в Excel-е по каждой главе, кто в Notepad-е, кто в One Notes и т.п. Старая добрая тетрадка ручкой потихоньку отходит в прошлое (особенно если исходная инфа размещена в электронном виде).
Сам я предпочитаю Карты памяти (mind maps) — пользуюсь старой доброй бесплатной FreeMind ( ru.wikipedia.org/wiki/FreeMind ). Есть и другие программы (в том числе поддерживающие формат FreeMind) как бесплатные так и коммерческие.
Желательно каждый разобранный интересный вам момент (лекции, задачи и т.п.) законспектировать.
Моя карта памяти (Zip архив для FreeMind) Еще раз повторю — делал для себя, в удобном для меня организации тем в виде дерева. При прохождении новы уровней иногда удобно освежить знания предыдущих — что для меня удобно делать в картах памяти (+ можно подредактировать добавив новые подробности).
Примеры:
С экраном «о программе»:
Темы «первого уровня»:
Изучаю регулярные выражения:
Немного разбираю шаблоны проектирования:
Прошел до 30-го уровня с 8-го за 1,5 месяца. Образование профильное(17 лет назад :D ), работал 1С программистом какое-то время, потом ушел в бизнес. Вот решил вернуться в IT. Поставил для себя задачу попасть на зимнюю стажировку — попал, тестовое делал сам, сделал за четыре дня, самое тяжелое это понять логику фреймворков, а она отличается от логики Java. Из книг прочел 4 главы Хортсманна, потом понял, что чтение отнимает много времени и оставил до лучших времен(вот сейчас к ним возвращаюсь). До этого просмотрел весь курс Core Головача на скорости 1.7 (лекции классные, но он так медленно их читает :) ). Несколько задач пропустил(свой LinkedList, перестановку слов и что-то еще), потому как понимал, что они отнимут много времени, а его у меня не было. Занимался ежедневно часов по 8-мь, благо могу себе это позволить, так как сам себе начальник. Часть тем понял поверхностно, но планирую все наверстать по книгам, может еще раз приобрету подписку на месяц — пробегусь по всем задачам. Из собственных ощущений могу сказать, что нормальный срок прохождения при минимальных начальных знаниях от 4 до 6 месяцев, меньше это уже насилие над собственным мозгом и телом.
В общем, спасибо, что делитесь своими способами. А вообще хотелось бы узнать сколько вы потратили на первую десятку, двадцатку. До этого опыта в программировании можно сказать, что не было (не считая подгонки макросов на VBA для своих нужд).
И не стоит лгать, нигде ничего не требуют указывать — This course is intended for students with at least 1 year of programming experience in Java or another object-oriented programming language (for example: C++, Objective C or Python).
Может я конечно чего-то не понял, но точно не вру. По крайней мере специально. А по поводу знаний которых не хватило, пример с таймером это образное выражение, и не совсем удачное, с этим согласен. Могу сказать так, что при изучении андроида я постоянно сталкивался с трудностями, спотыкался об пробелы в своих знаниях именно по джаве, таймер всего лишь один пример из многих. Естественно все это было по моей вине, не понимаю что вас так задело.
P.S если я и соврал, то только гуглу, когда указал 1-2 года джавы (в декабре будет только год учебы), и то что я разрабатывал другие приложения для моб платформ, такие дела. Так что не нужно меня тут обвинять :)
P.S Ник зачетный :)