Получи практический опыт Django-разработки на реальном проекте с наставником

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

Лаборатория Django-разработки
*Для уже знакомых с Python и основами Django
Проект
Результат
Во время Лаборатории мы будем работать над проектом, на котором вы отработаете 80% задач, с которыми сталкивается каждый Django-разработчик в реальных проектах
участвуя в Лаборатории вы за 8 недель прокачаетесь больше и быстрее, чем за полгода самостоятельно
Процесс
Вы будете сразу работать над решением практических задач под чутким руководством наставника.
Участвуя в Лаборатории вы получите следующие практические навыки
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 для низкоуровневой обработки запросов
Полнотекстовый поиск
Реализуете полнотекстовый поиск в приложении
Кому подойдет эта лаборатория
Знаете Python и хотите освоить Django?
Вы уже знаете Python и основы Django и хотите освоить Django на профессиональном уровне
Вам не хватает практики?
Вы прошли разные курсы и посмотрели кучу материала в Интернете, но когда дело доходит до реальных задач, не знаете с чего начать
Вы ищите наставника?
Вы хотели бы получать обратную связь по вашему коду от опытных разработчиков, чтобы прокачивать свои навыки
Программа курса
У нас нет такого понятия, как "программа", так как это не обучающий курс, а практическая работа над задачами
Как это работает?
В отличие от курсов и школ, мы не будем в сотый раз рассказывать одно и то же и грузить теорией, которую вы уже знаете.
Вместо этого вы будете сразу работать над решением практических задач под чутким руководством наставника, которому всегда можно задать вопрос и обратиться за помощью.

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

Созданием такой площадки мы и будем заниматься.

Это позволит на практике отработать 80% задач, с которыми сталкивается каждый Django-разработчик в реальных проектах.
    Необходимые навыки для участия
    Наша лаборатория не рассчитана на новичков. Вы уже должны обладать базовыми знаниями.
    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.
    Стоимость участия
    В группе максимум 20 мест. Стоимость зависит от наполнения группы.

    Подробнее узнай на презентации, регистрация ниже.

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