Новый практический способ быстрого освоения, закрепления и развития навыков веб-разработки на Python и Django

Это как виртуальная стажировка в настоящей компании.

Лаборатория Django-разработки
Для уже знакомых с Python и основами Django
с 24 мая по 18 июля 2021г

8 недель
Сроки
Проект
Результаты
Во время Лаборатории мы будем работать над проектом маркетплейса, тематику которого вы сможете выбрать сами.
участвуя в Лаборатории вы за 8 недель прокачаетесь больше и быстрее, чем за полгода самостоятельно
Процесс
Вы будете сразу работать над решением практических задач под чутким руководством наставника.
Вы получите следующие навыки:
Agile-процесс разработки
Git flow
Разработка через тестирование (TDD)
Работа с базами данных
Миграции,RunSQL, RunPython
Паттерны проектирования
Работа с фоновыми задачами (celery)
Запуск задач по расписанию
Кэширование и оптимизация
Аутентификация через социальные сети
Сложные формы
Docker
Deploy приложений
Проектирование архитектуры
Авторизация
Рефакторинг и написание хорошего кода
Создание API на Django Rest Framework
Глубокое понимание MVC и ORM
Работа с Middleware
Полнотекстовый поиск
Кому подойдет этот курс
Знаете Python и хотите освоить Django?
Вы уже знаете Python и основы Django и хотите освоить Django на профессиональном уровне
Вам не хватает практики?
Вы прошли разные курсы и посмотрели кучу материала в Интернете, но когда дело доходит до реальных задач, не знаете с чего начать
Вы ищите наставника?
Вы хотели бы получать обратную связь по вашему коду от опытных разработчиков, чтобы прокачивать свои навыки
Программа курса
У нас нет такого понятия, как "программа", так как это не обучающий курс, а практическая работа над задачами
Как это работает?
В отличие от курсов и школ, мы не будем в сотый раз рассказывать одно и то же и грузить теорией, которую вы уже знаете.
Вместо этого вы будете сразу работать над решением практических задач под чутким руководством наставника, которому всегда можно задать вопрос и обратиться за помощью.

А нужные для выполнения задачи материалы и необходимая теория будут предоставлены для самостоятельного ознакомления на основе открытых материалов.
О проекте
Во время Лаборатории мы будем работать над проектом маркетплейса, тематику которого вы выбираете сами. В любом маркетплейсе есть как минимум 2 стороны - заказчики и поставщики, а площадка организовывает удобный сервис между ними.

Созданием такой площадки мы и будем заниматься. А тематика может быть любой, на ваш выбор, например:
  • Сайт поиска работы (hh.ru)
  • Сайт объявлений (avito.ru)
  • Торговая площадка (ozon.ru или amazon.com)
  • Аренда и покупка недвижимости (Cian.ru или AirBnB.com)
  • Бронирование отелей (booking.com)
Участвуя в Лаборатории вы получите следующие практические навыки
Agile-процесс разработки
Научитесь декомпозировать задачи, планировать итерации и строить работу в соответсвии с принятыми стандартами в индустрии
Git flow
Научитесь уверенно использовать git и следовать Git flow. Будете уметь использовать merge, rebase, разрешать конфликты и использовать git в командной разработке
Разработка через тестирование (TDD)
Освоите Unit- и интеграционное тестирование, научитесь применять подход TDD в работе
Работа с базами данных
Научитесь проектировать схему БД, разберетесь с ассоциациями между сущностями, освоите работу с базой через ORM
Миграции,RunSQL, RunPython
Научитесь инкрементно развивать схему БД, обрабатывать данные и работать с базой напрямую
Паттерны проектирования
Освоите самые применимые и распространенные паттерны проектирования и архитектурные паттерны
Работа с фоновыми задачами (celery)
Научитесь асинхронному выполнению кода и выносу "тяжелых" задач в фон
Запуск задач по расписанию
Научитесь выполнять код по заданному расписанию
Кэширование и оптимизация
Оптимизируете работу вашего приложения и примените кешироване там, где это нужно
Аутентификация через социальные сети
Реализуете вход через популярные сервисы, такие как Facebook, VK, Twitter, Yandex, Gmail или любые другие
Сложные формы
Создадите сложные, многошаговые формы
Docker
Освоите самый востребованный инструмент виртуализации
Deploy приложений
Научитесь настраивать сервер и разворачивать свое приложение на нем
Проектирование архитектуры
Освоите подходы к проектированию архитектуры, узнаете о хороших и плохих паттернах и подходах
Авторизация
Реализуете ролевую модель в приложении и отслеживание прав пользователей
Рефакторинг и написание хорошего кода
Сможете изменять и улучшать код приложения постепенно, не меняя его поведения, но оставаясь в уверенности, что ничего не сломалось
Создание API на Django Rest Framework
Создадите полноценное REST API для внешних клиентов (например, для мобильного приложения)
Глубокое понимание MVC и ORM
Будете уверенно себя чувствовать при применении ORM, а также поймете что и где должно лежать в архитектуре MVC
Работа с Middleware
Напишите middleware для низкоуровневой обработки запросов
Полнотекстовый поиск
Реализуете полнотекстовый поиск в приложении
Требования к участникам
Наша лаборатория не рассчитана на новичков. Вы уже должны обладать базовыми знаниями.
1
Уверенное знание Python
Вы должны уверенно владеть базовыми конструкциями, знать основы ООП, уметь писать код на Python (например, парсер или чат-бота)
2
Основы Django
Нужно иметь представление о Django и архитектуре MVC, уметь разворачивать проект. Если пока этого нет, вы можете подтянуть эти навыки по предоставленным подготовительным материалам до старта Лаборатории.
3
Основы html/css
Вы должны уметь создать простую страничку на html (без особого дизайна) и уметь добавлять стили элементам через css (например, цвет и размер текста)
4
Базовое знание SQL/БД
Нужно иметь общее представление о базах данных, также желательно знать основы языка SQL (SELECT/UPDATE/INSERT/DELETE, можно без join и сложных запросов)
Итак. Как это работает?
Реальная разработка
Во время Лаборатории вы разрабатываете веб-приложение на Django - проект маркетплэйса. Хорошо знать Django необязательно, вы освоите по ходу дела (но нужно знать основы).
Спринты
Проект разбит на таски (задачи) и недельные спринты. В течение спринта вам нужно будет выполнять задачи и сдавать их на code review наставнику. Прямо как в настоящей разработке.
Онлайн встречи
Раз в неделю вы с другими участниками встречаетесь с наставником (профессиональным разработчиком) в онлайне. Формат Вопрос/Ответ, разбор интересных решений участников, обзор проделанной работы.
Работа над проектом
Между спринтами вы работаете над задачами из итерации. К задачам будут выданы необходимые материалы для самоподготовки. В процессе реализации вы всегда можете обращаться с вопросами к наставнику, он подскажет и поможет. А также можете помогать и обращаться за помощью к своим одногруппникам.
Code review
Когда вы завершаете задачу, вы сдаете ее на проверку наставнику, он проводит code review и либо принимает ваш код, либо отправляет на доработку. В процессе вы всегда можете обратиться за помощью к наставнику и он подскажет и поможет. Так вы нарабатываете опыт решения задач и проблем, "набиваете шишки" и учитесь писать хороший, поддерживаемый, профессиональный код
Результат
Пройдя Лабораторию, вы освоите все необходимые навыки для Junior-разработчика (и даже некоторые навыки middle)
Django
Вы уверенно владеете Django и можете самостоятельно писать полноценные веб-приложения на этом фреймворке
Проект в портфолио
У вас есть один серьезный проект в портфолио, код которого не стыдно показать работодателю
Опыт
Вы получаете опыт реального процесса разработки, как в настоящей компании
Участие
Чтобы попасть в Лабораторию, нужно пройти небольшой отбор. Это нужно, чтобы определить ваш уровень и цели и понять, подойдет ли вам этот формат. Отбор проходит в несколько шагов:
1
Заявка
Вы оставляете заявку на участие
2
Анкетирование
Мы связываемся с вами и проводим небольшое анкетирование, чтобы определить ваш уровень согласно предьявленным требованиям лаборатории.
3
Зачисление
По результатам диагностики, мы пригласим вас к участию или дадим рекомендации по повышению уровня.
О лаборатории
Лабораторию проводит онлайн-школа Thinknetica.
Мы занимаемся обучением разработчиков с 2013 года и имеем большой опыт в этом. Мы проводили как классические курсы, так и экспериментировали с форматами. И за это время, на опыте наших учеников, мы убедились, что важнейшая вещь, которая делает из вас хорошего разработчика - это много практики + проверка вашего кода наставником. И обычно, практики как раз очень не хватает начинающим разработчикам.

Поэтому мы запускаем формат освоения навыков исключительно через практику, а необходимую теорию дать для самостоятельного изучения. Мы верим, что именно такой формат даст максимальный результат.
Ведущий Лаборатории
Михаил Бородин
Team Lead в X5 Retail Group
Профессионально занимается разработкой ПО более10 лет. За это время разрабатывал архитектуру и выступал ведущим разработчиком различных высоконагруженных информационные системы в области ГИС, финтех, e-commerce. Много лет пишет на Python, JavaScript, с недавних пор начал писать на Go и разрабатывать мобильные приложения на Swift.
26 500 руб.
* Также возможна банковская рассрочка.
Стоимость участия
Стоимость участия
Первые 5 мест
В группе максимум 20 мест. Стоимость зависит от наполнения группы:
28 500 руб.
Места 6-15
30 500 руб.
Места 16-20
Оставить заявку на участие
Текущая стоимость 26 500 руб.

Оставьте контакты, мы свяжемся с вами и подробнее расскажем о лаборатории
Ваше имя
Ваш e-mail
Ваш телефон
Как вас найти в Telegram?
Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности
Подойдет ли мне этот формат?
Если вы уже неплохо знаете Python и, возможно, подступались к Django, то скорее всего да. Но мы понимаем, что такой формат подойдет не каждому, поэтому у нас есть гарантия возврата средств в течение 14 дней. Поэтому если вы поймете, что вам не подходит такой формат, вы ничего не потеряете.
В интернете полно бесплатной информации, зачем мне идти к вам?
Абсолютно верно. В интернете действительно очень много информации (порой слишком много), в том числе очень хорошей. Но вот чего не найдешь на бесплатных ресурсах - так это реальной практики и обратной связи от опытного коллеги. Именно поэтому в Лаборатории мы не читаем лекций и не объясняем то, что уже где-то описано. Вместо этого мы даем вам ссылки на уже отобранные материалы, где вы можете ознакомиться с теорией и сосредотачиваемся на практике.
Чем это отличается от обычных курсов?
Тем, что здесь нет классической схемы "лекция с теорией - домашнее задание - проверка". Мы используем методики проектного обучения и перевернутого класса. Вместо прослушивания очередной лекции, на встречах вы сразу погружаетесь в практическую работу. У нас нет понятия "Домашнее задание", вместо этого у вас есть полноценный проект, над которым вы работаете. То есть вы осваиваете и закрепляете навыки исключительно на практике, а необходимую теорию осваиваете самостоятельно по предоставленным материалам
Разве можно изучить что-то не изучив теорию? А если я не знаю, как что-то делать?
Мы не говорим, что теория не нужна. Мы лишь утверждаем, что использовать встречи с наставником эффективнее для практической работы, а не для объяснения теории и что теория усваивается только через практику. Как говорится, теория без практики мертва, практика без теории - глупа.
Поэтому мы обязательно даем вам необходимые для решения задач теоретические материалы, чтобы вы могли их освоить самостоятельно. Это заранее отобранные материалы, подобранные под конкретную задачу. Т.е. мы не вываливаем на вас кучу информации, а даем ровно то, что вам нужно для решения задачи. По нашему опыту, так получается гораздо эффективнее, ведь изученная теория тут же применяется на практике, что делает ее полезной и она не забывается.
Сколько времени требуется уделять?
Это зависит от вашей предыдущей подготовки, но в целом участие в Лаборатории довольно интенсивное и требует хотя бы 10-15 часов в неделю (2-4 ч в день). Чем больше времени вы сможете выделить, тем лучше.
Каждый пишет свой проект индивидуально или это командный проект?
В рамках этой лаборатории, каждый пишет свой проект индивидуально, так мы гарантируем, что каждый участник освоит все необходимые инструменты и технологии. Командная работа планируется в следующих лабораториях другого уровня.
Короткие отзывы
Первый поток ещё идёт, так что пока небольшая обратная связь:
Что в Лаборатории вам нравится больше всего?
Прикладные задачи, не оторванные от реальности. Доступность наставника и коллег для обсуждения вопросов.
@katyfrolova
Наличие практики, код-ревью
@jakosoll
Обратная связь и поддержка наставника
@EGIZBAEVA_NAZIRA
ощущение работы над реальным проектом
@i_va_nov
Имитация условий реальной разработки
@zubanik
практика, код-ревью, поддержка наставника
@AlexanderShibelgut