Skip to content

Pavel462/StepikJava

Repository files navigation

Виртуальная Стажировка (JAVA)

  • Приобрети коммерческий опыт.
  • Не выходя из дома.
  • Начни работать над реальным проектом прямо сейчас.

Над каким проектом вы будете работать?

Это веб-приложение (микро сервис), в котором есть:

  • REST API
  • WEB UI
  • Реляционная база данных
  • Hexagonal architecture
  • Автоматические миграции базы данных
  • Юнит, интеграционные и acceptance тесты
  • Реальные бизнес требования
  • Множество дизайн паттернов и библиотек
  • VCS Git, Build Tool Gradle, CI/GitHub Actions
  • И многое другое.

Это уникальный проект над созданием которого мы работали почти два года. Мы вложили в него весь наш 20 летний практический опыт разработки коммерческих приложений, а так же 15 летний опыт обучения молодых специалистов в области программирования на Java. Работа над этим проектом расширит ваш кругозор, откроет глаза на многие детали и тонкости применения подходов и технологий в коммерческом проекте.

Основные темы проекта:

  • Архитектура приложения
  • Дизайн паттерны
  • Работа с требованиями
  • Надёжность
  • Тестирование
  • Развертывание
  • Observability
  • DDD
  • Clean code
  • и так далее.

Одной из целей этого проект является прививание инженерного мышления. Мы хотим, чтобы вы стали не просто кодерами, а настоящими инженерами способными с помощью ИТ технологий эффективно решать реальные задачи бизнеса.

Технологии и инструменты используемые в проекте

  • VCS, Git, GitHub
  • Build Tool Gradle
  • Spring Framework, Spring Boot
  • Design patterns: IoC, Builder, DTO, Factory, Strategy, etc.
  • REST, WEB MVC
  • SQL, MySQL, H2, JDBC, ORM, JPA, Hibernate, Liquibase
  • JUnit, Mockito
  • Lombok, Immutable Objects
  • Logging, metrics
  • JAR, WAR, Java Web Server, Apache Tomcat
  • JSON, XML
  • Containers, Docker
  • Message Broker, RabbitMQ
  • и многое другое.

Что вы будете уметь в конце стажировки?

  • Осознанно строить архитектуру приложения исходя из функциональных и нефункциональных требований и ограничений.
  • Реализовывать компоненты архитектуры в коде.
  • Использовать компонентный подход, тестирование, observability, надёжность и другие архитектурные характеристики на практике.
  • Применять clean code, DDD, TDD, CI, и другие практики для создания качественных ИТ продуктов.
  • Получите опыт работы с реальным проектом, который включает в себя взаимодействие с командой, управление задачами и соблюдение сроков.
  • Приобретёте коммерческий опыт, который включает в себя навыки работы в условиях, приближенных к реальным бизнес требованиям и ожиданиям.

Как долго длится виртуальная стажировка?

Рассчитана на 3 - 4 месяца плотной работы, как реальная стажировка в компании. Можно пройти быстрее, можно медленнее, всё зависит от вас.

Предварительные требования

Для успешной работы над проектом вам необходимы:

  • Крепкие знания Java Core и ООП
  • Самостоятельность
  • Умение работать в команде
  • Желание учиться и развиваться

Зачем нужны крепкие знания Java Core и ООП?

Виртуальная стажировка это не курсы для новичков. Тут не будет времени изучать основы программирования и базовые понятия. На виртуальной стажировке вы будете работать над реальным проектом. Для работы над реальным проектом вам необходимы хорошие знания Java Core и ООП.

Что если у меня нет крепких знаний по ООП и Java Core?

Не переживайте. Это дело поправимое. У нас есть отдельная программа, рассчитанная на обучение с нуля. Для освоения базовых знаний и получения практического опыта их применения вам потребуется 3 - 4 месяца упорной работы. Заинтересовало/хотите получить крепкие практические навыки применения Java Core и ООП? Напишите нам: itguruby@mail.ru или в Telegram: javaguruby.

Зачем нужна самостоятельность?

На виртуальной стажировке вы будете получать конкретные задачи и работать над их выполнением. Это потребует от вас самостоятельности. Для работы мы используем полностью удалённый формат. Над вами не будет начальника, вы сами будете решать когда, где и как работать над проектом. Успешное прохождение виртуальной стажировки будет зависеть от вашей самостоятельности.

Зачем нужно умение работать в команде?

ИТ это командный спорт. В ИТ вы всегда будете работать с людьми. Умение эффективно работать в команде это классный soft skill. На виртуальной стажировке в вашу команду будут входить опытный ментор и такие же ребята, как вы сами. Если вы захотите влиться в коллектив, получать ответы на свои вопросы и просто познакомиться со своими коллегами, вам пригодятся умение общаться, умение задавать вопросы, желание помогать другим, в общем, всё то, что называется командной работой. Виртуальная стажировка это то место, где вы сможете прокачать свои soft skills командной работы и подготовить себя по максимуму к реальной работе в ИТ компании. В данный момент soft skills в ИТ ценятся не меньше hard skills.

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

Виртуальная стажировка окунёт вас с головой в современный мир ИТ. В нём вы точно обнаружите много нового и интересного для себя. Вам придётся изучать новые технологии, экспериментировать с новыми для вас библиотеками и подходами к разработке. Эта стажировка заставит вас взглянуть на процесс разработки по-новому. Она даст огромный толчок вашему профессиональному развитию.

Как проходит виртуальная стажировка?

Мы прекрасно понимаем, что вы все разные. Кто-то может уделять проекту несколько часов каждый день, а кто-то только пару часов на выходных. Поэтому виртуальная стажировка проходит:

  • В удалённом формате (работайте в удобном для вас месте)
  • В удобное для вас время
  • С чёткими задачами как на реальной работе

Вы делаете столько заданий, сколько сможете. Вы сами регулируете, контролируете и несёте ответственность за сроки выполнения проекта и успех вашей виртуальной стажировки в целом.

Для кого НЕ подойдёт виртуальная стажировка?

  • Для тех, кто хочет, чтобы ему всё преподносили на блюдце с золотой каёмкой. Виртуальная стажировка максимально приближена к реальной работе, на которой вы сами должны прилагать усилия для получения опыта и знаний.
  • Для тех, кто не готов регулярно уделять время работе над проектом. Реальная работа требует вашего времени на постоянной основе.
  • Для тех, кто хочет всё изучить сам без ментора. Мы верим в то, что самый быстрый и эффективный способ обучения это работа с ментором.
  • Для тех, кто не видит смысла тратить на виртуальную стажировку денег и хочет всё получить бесплатно. Виртуальная стажировка не принесёт вам деньги, вы должны будете заплатить за неё.

Для кого подойдёт виртуальная стажировка?

  • Для тех, кто хочет погрузиться в мир профессиональной разработки на Java.
  • Для тех, кто хочет своими глазами увидеть и принять участие в разработке большого проекта.
  • Для тех, кто хочет поработать с ментором и перенять у него опыт и знания.
  • Для тех, кто готов вложить деньги в своё образование и опыт.

Инструментарий

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

  • Git (система контроля версий)
  • Любая Java среда разработки (мы используем IntelliJ IDEA)
  • JDK 21

Порядок работы над проектом

Проект разбит на задачи. Всего в проекте задач 260+.

В проекте есть две главные папки:

  • project
  • internship

В папке project находятся все материалы проекта. Они разбиты на задачи: task_0, task_1 и так далее.

Задания выполняются строго друг за другом, нельзя переходить к следующему заданию, пока не закончено выполнение предыдущего.

В каждом задании есть файл YourTask.txt. В этом файле находится описание задания. Начинайте выполнение любого задания именно с него.

При работе над проектом в папке project менять ничего нельзя!

В проекте есть папка internship. Это та самая папка, в которой вы и будете выполнять все задания проекта. В ней уже есть начальная структура кода проекта. Если в задании сказано внести изменения в код проекта, вы вносите это изменение в папку internship. Выполняя задание за заданием, вы будете работать над реализацией проекта.

Коммитить ваши изменения в Git и пушить их на GitHub не нужно. Над первыми 30 заданиями проекта вы работаете локально на своём компьютере.

Подсказка: наше решение вы можете найти в коде задания в папке project.

Получение коммерческого опыта

Зачем нужен коммерческий опыт?

Работа над реальными проектами позволяет понять, как ИТ компании работают над продуктами и услугами, которые они предоставляют своим клиентам. Коммерческий опыт даёт понимание реальных бизнес требований, ожиданий и стандартов качества.

Как виртуальная стажировка поможет получить коммерческий опыт?

На виртуальной стажировке вы будете работать над реальными задачами, которые имеют практическую ценность. Это позволит вам приобрести навыки и опыт, которые будут востребованы на рынке труда.

Опыт работы с реальным проектом

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

Коммерческий опыт

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

Начните свою виртуальную стажировку сегодня и получите коммерческий опыт, не выходя из дома!

Поддержка, вопросы и обратная связь по проекту

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages