Командный
бекенд
на PHP

Привет! Это Максим Федоров. 15 мая запускаю практикум:
«Backend PHP на Symfony для не новичков».

Практикум поможет прокачать ваши имеющиеся навыки программирования, быстро и интенсивно .

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

Учимся писать и строить хороший ООП код, простой и надежный. Применим крутые практики современных команд: GIT, CI/CD, много тестов, использование в работе Docker/Vagrant. Получите опыт работы с фреймворком Symfony. Повысите качество вашего кода (паттерны, Code Review).

 

 

 

Формат обучения

 

Обучающий урок.

Например, учимся правильно писать юнит-тесты: как конструировать класс, как правильно создавать мок и стабы, чтобы подменить зависимости и сделать тесты проще, а код надежнее.

Разбор

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

Не будет неподъемной сложности. Ваши напарники — такие же новички, которые только-только разобрались с ООП или вообще застряли в какой-нибудь CMS.

 

 

3



Завершенных сервиса,
протестированных
и написанных в команде
+ 1 дипломный

 

 

Тестируем код:

Рефакторим код:

 

 

Акценты в учебе

 

Код-ревью:

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

Далеко не во всех современных командах обычные разработчики ревьюят других — мы будем.

 

GIT flow:

Будете разрабатывать свои программы так, чтобы поддерживать актуальность и безконфликтность.

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

Все изменения будете делать через Pull Requests — способ безопасно и быстро выкладывать код на продакшн.

Конфликты:

Так как вы будете работать в мини-командах над одним проектом, то у вас будут конфликты и вам придется научиться их разрешать.

Авто-деплой:

Настроим систему таким образом, чтобы код проходил через нужные этапы: проверка стиля, сборка зависимостей, накатывание миграций и прогон тестов, чтобы программа прошла все проверки и снизила вероятность ошибки человеком.

Рабочее окружение:

Крепко освоим разработку в изолированных окружениях, чтобы разрабатывать с софтом тех же версий, что на продакшне. Это поможет быстро в 2 клика поднимать окружение на разных компьютерах и у всех в команде. С этим придется работать ежедневно, как с GIT.

Программа обучения

 

 

 

 

 

 

 

 

 

 

 

Курс не для совсем новичков?

Да, курс для тех, кто уже прошел некоторые курсы (например Hexlet, Курсера), либо самостоятельно изучил основы языка: понимает ООП-синтаксис, умеет строить простые скрипты и кто хочет научиться писать полноценный функционал. А также знать немного SQL. Для опытных курс будет вряд ли интересен.

Какие гарантии трудоустройства?

Никаких. Но в скорости я буду проводить бесплатные публичные онлайн-собеседования по PHP, на которых буду выявлять слабые места и давать советы, куда сделать упор и как именно.

Как выглядит процесс?

Все занятия проходят онлайн в Zoom. Уроки идут по будням (вт, чт) по 2 часа и 1 выходной (4 часа).

Как будет построено окружение? Какие технологии?

К началу интенсива все будет настроено — Gitlab, сервер и первичный код приложения с инструкциями.

Разработка будет проводиться на PHP с использованием фреймворка: Symfony 4 + Doctrine + Postgres . Работа в команде будет проходить с использованием Gitlab и Docker/Vagrant по желанию. Деплой (доносить свой код до рабочего приложения) будете делать через Gitlab CI.

В чем отличия от других курсов?

Курс отличается полнейшим уклоном в практику — вы будете писать код. А также сильно отличительным — придется работать в команде, потому не получится писать “как люблю”, и придется придерживаться стандартов, писать тесты и работать в одном репозитории.

Что нужно иметь к мастер-классу?

Вам нужен будет ноутбук. Желательно с предустановленным Linux или MacOS. Если Windows — необходима будет виртуалка (думаю разберемся на курсе, хотя опыта c этой ОС нет), Open Server и прочие замены возможно подойдут, но вам будет немного не удобно и не приятно.

Что делать, если будем не успевать?

Пока карантин — поработаем на славу. В любом случае, продлим до выполнения всех заданий.

Почему ты будешь учить? Ты самый умный?

Я регуляр(мидл)-программист, практикующий в крупных компаниях. Смогу объяснить вам сложные вещи простым языком и научить работать ровно так, как идет работа в современных командах (например как в Яндекс.Еде).

Помогаю другим программистам на сайтах вопросов и ответов (куратор тега PHP):
https://toster.ru/user/Maksclub/answers

Иногда пишу статьи:
https://habr.com/ru/post/469323/

Работал в больших командах:

  • "Баланс-платформа"
    Работаю в системе верификации документов. Система обслуживает крупные внутренние сервисы крупнейших банков по проверке документов для кредитов.
  • "Яндекс.Еда"
    поддерживал систему заказов и пилил внутреннюю платежную систему с нуля.
  • Издательство Condenast Russia (Vogue, Glamour, GQ)
    поддерживал внутренний большой сервис и пару мелких, заложил в компании QA-культуру.