Java Online Projects edited this page May 8, 2018 · 59 revisions

План стажировки

  • Вводное занятие
  • Архитектура проекта. Персистентность: 5 занятий
  • Разработка WEB: 5 занятий
  • Заключительное занятие, деплой в Heroku

Общая продолжительность ~ 3.5 месяца.

Формат

Стажировка ведется по подготовленным на основе вебинара, разбитым по темам и отредактированным записям. Раз в неделю (четверг) производится рассылка новых материалов, обновления к проекту (патчи) и домашние задания. Домашние задания подобраны по темам занятия и требуют реализации функциональности, схожей с пройденной на занятии. Выполнение вводного занятия дает хорошее представление о том, как будут проходить стажировка. Разница в том, что каждый урок начинается с разбора домашнего задания и состоит из 6-8 тем/видео и 7-15 патчей к проекту. Начиная с 4-го занятия участники параллельно с общим проектом разрабатывают выпускной проект на нашем стеке (Maven/ Spring MVC, Security/Hibernate/ REST). Ресурсы для лучшего усвоения всех тем проекта.

Требования к участникам

Некоторый опыт программирования на java: предполагается, что вы уже знаете, что такое классы, конструкторы, аннотации, анонимные классы, исключения и пр. Желательно знание сервлетов. Мы начинаем использовать их на первом занятии, кратко повторяя основы. Желательно знание JDBC/SQL (на уровне select/update/delete), самых основ JavaScript, HTML. Весь "Enterprise": Maven, Git (в том объеме, который нам нужен), Spring, Hibernate, REST даются с азов.

Варианты участия в проектах:

  • Без проверки домашних заданий: сюда входят все материалы, участие в группе slack, разбор домашних заданий, ответы на вопросы и помощь с проектом.
  • Расширенное: добавляется проверка домашних заданий и ревью выпускного проекта.
  • А также для всех участников: бесплатное участие в следующий выпусках проекта.

Проект ведется на Ultimate IDEA.

Всем участникам выдается персональный ключ IDEA на 6 месяцев (согласно политике JetBrains ключ выдается только один раз)

Общение по проекту ведется в группе https://slack.com/ по темам

Для каждого нового урока будет делаться отдельный канал. Дополнительные каналы Slack:

  • #flooding: оффтопик
  • #general: общие вопросы
  • #git: вопросы по git
  • #idea: вопросы по IDEA
  • #interview_job: прохождение интервью, работа, вакансии
  • #links: интересные ресурсы
  • #rss: RSS подписка на публикации от JUG.ru, Хабрабабр, Типичный программист.

Ваши вопросы:

Достаточно ли изучить технологии проекта, чтобы претендовать на должность junior/middle developer?

После проекта я настоятельно рекомендую убрать слово junior из резюме. Здесь нет прямолинейного ответа. Для разработчика Java нужно уметь алгоритмически мыслить (программировать). Очень желательно иметь какой-то опыт в программировании, участие хотя бы в небольших проектах. Еще (очень часто): знание SQL. Все остальное идет как дополнения к основному. Тк мы разрабатываем достаточно сложный проект (а не технологии в отрыве от всего), то самое основное, что вы получаете, это опыт работы в реальном проекте Spring/ ORM/ Hibernate/ Maven/ jQuery/ REST/ Security. При условии, что вы делаете домашние задания, повышение вашего уровня java разработчика на порядок гарантировано. Посмотрите также на позиционирование проекта topjava.

Будет ли оказываться помощь в составлении резюме, советы по трудоустройству?

Да. В конце курса мы совместно ревьюим ваши резюме и вы заполняете на Java Online Project свой профиль, который становится доступен HR менеждерам и фрилансерам (на 25.10.2017 рассылка идет по 135 HR контактам). Есть трудоустроенные участники, почитайте истории некоторых из них. Также в группе выпускников Slak происходит активное общение бывших участников на эту тему, часто туда публикуют вакансии со своей работы, отзывы по работодателям и опыт трудоустройства. Посмотрите также информацию по турдоустройству.

Я правильно понимаю, что в процессе курса мы будем строить приложение с нуля, каждый будет делать это самостоятельно и в конце каждый участник развернёт его на Heroku?

Приложение строится с нуля и в конце каждый участник деплоит его на Heroku. На занятиях я последовательно разрабатываю приложение с подробными объяснениями и теоретическим материалом по теме. Домашние задания также выполняются по теме занятия и являются частью проекта. В начале каждого следующего занятия я разбираю домашнее задание и добавляю его в проект. Из практики лучше всего оказалось делать домашние задания в отдельных ветках git для отсылки мне на проверку. На вступительном занятии подробно разбирается работа с проектом в системе управления версиями Git. Начиная с 4-го занятия, участники параллельно с общим проектом разрабатывают выпускной проект на нашем стеке (Maven/ Spring MVC, Security/Hibernate/ REST), ревью которого входит в участие с проверкой. Это будет уже полностью твой собственный проект.

Можно поподробнее про проверку домашних заданий? Пример домашнего задания и как будет проходить проверка?

Разбор домашний заданий происходит в начале каждого занятия. Проверка заданий подразумевает ревью твоего кода (лучше ДЗ присылать пораньше, чтобы успеть поправить ошибки и сделать еще одно ревью). Ты увидишь именно свои ошибки в стиле, структурах данных, алгоритмах и кодировании. Это самый эффективный способ научиться программировать. Все домашние задания это часть проекта. Часть из них достаточно простая, часть Optional - сложнее. Обычно участники чекинят код в гитхаб и шлют ссылку на репозиторий. Проверка заданий делается ассистентом при моей поддержке, фидбэк пишется в slack. Получается эффективно и оперативно. Можно что-то переделать и снова поревьюится. Пример сокращенного домашнего задания: HW0 вводного занятия.

Можно ли будет потом получить все записи стажировки?

Все записи видео будут вам доступны во время и после завершения проекта. Их можно скачать для просмотра в отсутствие интернета. Также вам доступны все обновления проекта и бесплатное участие в следующих выпусках topjava.

Какие требования к компьютеру? Postgres обязателен к установке?

Postgres не обязателен, хотя желателен. Мы также будем использовать HSQLDB (установка не требуется). Для компьютера - достаточно, чтобы работала IDEA (с плагинами Spring, JPA). Также мы будем использовать инструмент SoapUI (тоже опционально).

Пожелания к участникам.

Обычно участники подбираются с разным уровнем. Поэтому главное- не стеснятся задавать вопросы! Всегда есть поддержка группы, меня и ассистента. Проходят занятия раз в неделю, поэтому времени для усвоения пройденного и выполнения домашних заданий достаточно, при условии что вы не ОТКЛАДЫВАЕТЕ обучение на потом. В зависимости от уровня подготовки на обучение необходимо уделять от 5 до 15 часов в неделю. Для усвоения материала выполнять домашние задания НЕОБХОДИМО: после лекции, через месяц у студента в голове остаётся 3% знаний. А если он выполнил упражнение на практике то в памяти сохраняется 95% знаний + бонус. Студент, практикуя упражнение, открывает ещё 50% нюансов знаний, которые не были озвучены преподавателем.

Результат других исследований: люди запоминают только

5% того, что узнали из лекции.
10% того, что прочитали.
20% того, что узнали посредством аудио-визуального воздействия.
30% визуальной демонстрации (опыт, эксперимент).
50% материала групповой дискуссии.
75% практической отработки теории.
90% того, что объясняют кому-то еще.

FAQ по Git

FAQ по IDEA

FAQ по Maven

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.