ПРАКТИЧЕСКИЙ КУРС
Разработка Enterprise-приложений без боли и сожалений
Курс помогает ускорить и систематизировать знания по разработке бэкенда, сократить время обучения до лида с 5 до 2 лет и стать грамотным техническим специалистом. Авторы собирают грабли и рассказывают о подходах и практиках, которые используют ThoughtWorks, Яндекс и Google.

старт 15 сентября 2023 г.
  • Формат
    Лекции и практические задания
  • Объём
    52 часов лекций и практик
    + д\з с подробным разбором кода от авторов курса
  • Длительность
    3 месяца


Все знают, что ПО нужно писать правильно, но всё равно пишут как получится.

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

Курс не учит очередной хайповой технологии, а раскрывает универсальные принципы и современные подходы лидеров отрасли: как заложить крепкий фундамент проекта, выстроить эффективные процессы и выжить в постоянно меняющихся условиях. Мы отвечаем на три фундаментальных вопроса:
Как разработать продукт, за который не стыдно
Проблема. По началу всё идёт хорошо, но потом проект превращается в зиккурат из костылей и противоречий. Бизнес требует новых фич и не даёт времени на рефакторинг, который «не нужен пользователям». На проде всплывают удиви­тельные баги. Никто не знает, как работает ключевой модуль, а кто знал — уже на пенсии, ушёл к конкурентам или умер. Когда же проект переписывают заново, он за полгода возвращается в прежнее состояние.

Решение. Мы поговорим о подготовке архитектуры к постоянным изменениям. В разделе о Domain Driven Design вы узнаете, как строить софт, который решает проблемы, а не создаёт их. Вы увидите, что на самом деле между технарями и бизнесом нет противоречий. Ещё мы разберём, как собирать требования и договариваться с бизнесом, а также что такое разработка через тестирование и зачем она нужна.
Пример гексагональной архитектуры проекта

Как поддерживать и развивать проект, не жертвуя сном и здоровьем
Проблема. Каждый выкат релиза превращается в два дня борьбы и страданий. Тимлида увезли в больницу с инсультом. Код прошел 10 кодревью, но на прод все равно попал забагованный релиз, который не получается ни откатить, ни пофиксить.

Решение. Вы поймёте, как выстроить инфраструктуру проекта, которая будет помогать команде. Узнаете, что же такое Continuous Integration и Continuous Delivery на самом деле. Разберем, как сделать релизы скучной и даже унылой рутиной.
Коммит, деплой на прод и результат на графике мониторинга

Как перестать выгорать и начать жить
Проблема. Синдром самозванца. Раздражающая необходимость постоянно переключаться с дизайна системы на имена переменных. Вынужденные компро­миссы с менеджерами, которые приводят к нерабочим результатам. Бесконечные конференции, статьи и книги, которые состоят из воды и решений, бесполезных в текущем контексте. Второй год невозможно уйти в отпуск, потому что всё сразу сломается. Назначили тимлидом и непонятно, что делать и куда двигаться.

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

Какие темы охватывает курс
Примеры лекций
Мы постарались выкинуть из лекций всё лишнее и сосредоточиться на главном — знаниях, проверенных на опыте.
Обзор слоеной архитектуры. Оцениваем плюсы и минусы
Карта пользовательских историй помогает увидеть лес за деревьями
преимущества
Чем наши курсы отличаются от других
  • Личный опыт
    Мы рассказываем и показываем только то, что пережили сами, и опираемся на опыт авторитетов в индустрии и исследования. В курс вошёл наш опыт хождения по граблям (на двоих 20+ лет) и лучшие практики Thoughtworks, Яндекс и других компаний, где нам довелось поработать.

    Мы обобщили все пережитое в собрание знаний, которое сами бы хотели иметь лет пять назад. Если вы поймёте, о чём мы говорим, то работать иначе уже не сможете.
  • Учим базе, а не трюкам
    Мы преподаём систему методологий и практик разработки. Какие-то из них вы наверняка уже пробовали. Если у вас не получилось, то только потому, что одно без другого не работает.

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

    Ведём вебинары тоже сами. На экране вы увидите ту же говорящую голову, что и в лекциях.

    У нас есть помощники и роботы для ступенчатой проверки домашек, но глубокую проверку проводим только мы.
преподаватели
Менторы-основатели школы
Евгений Лукьянов

14 лет в разработке. В прошлом старший разработчик в Яндекс-Деньгах и Behavox. Архитектор в Abe Health. Спикер Archdays, ведёт собственные проекты c построением надёжных систем.
Пишет код за деньги с 2009 года.

Java/Kotlin/Python-разработчик опытным путем
вышедший в архитекторы.

Ментор, спикер Archdays.

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

Участвовал в создании Яндекс-кассы, наладил выпуск банковских карт Яндекса и разрабатывал единую платформу для платёжных сервисов, проектирует и разрабатывает сложные долгоживущие системы.

Начинал с прошивок для железа и десктопа на asm и C/C++, затем перебрался в энтерпрайз. С 2014 варится в финтехе.

Интересуется IT-безопасностью. Учредитель региональной общественной организаций "Объединение ИТ-Архитекторов".
Сергей Бухаров

Lead Developer Consultant в ThoughtWorks
12 лет в IT. Разрабатывал бэкенд мобильного приложения для Swedbank — крупнейшего банка Прибалтики.

Пять лет провёл в автоматизации медицины, где баги могут стоить жизни. Там научился отказоустойчивости и DDD.

Участвовал в разработке стартапов, медицинских систем, банковского ПО, а также монструозных телеком-систем, обрабатывающих чудовищный СМС-трафик.

Сейчас работает в сингапурском отделении ThoughtWorks, под одним логотипом с Мартином Фаулером и Нилом Фордом. Компания стояла у истоков Agile manifesto и широко известна применением лучших практик. В ThoughtWorks Сергей консультирует команды клиентов по архитектуре проектов, участвует в разработке стратегий рефакторинга и обучении. Проводит вебинары и семинары по архитектуре.

За 12 лет видел множество проблемных, разжиревших от фич и невостребованных проектов, которые причиняли команде и владельцам нестерпимую боль.
Евгений и Сергей ведут блог и телеграм-канал, в которых рассказывают о своём опыте, бэкенд-разработке, граблях, коммитах и инсайтах.

Блог практикующих бэкенд-разработчиков
Телеграм-канал
Формат курса
Это дистанционный курс с лекциями, практикой.

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

В практической части мы вместе с вами разбираем изученное и применяем знания. Вы выполняете домашнее задание и получаете обратную связь. Проверка домашнего задания доступна в тарифе Базовый.
Пример домашнего задания
Вам необходимо настроить процесс непрерывной интеграции для вашего проекта.

Шаги:

  1. Создать максимально простой проект из одного модуля — один эндпоинт по адресу localhost:8080/hello, который отдаёт строку "Hello world" и тест на него. Возьмите любой фреймворк, который вам нравится. Система сборки — Gradle (Kotlin DSL).

  2. Настроить сборку проекта одной кнопкой, по которой будет проверяться достаточность тестового покрытия, code style, искаться библиотеки с уязвимостями. и пр. Смотри требования к проекту

  3. Настроить CI-сервер GitHub Actions. CI сервер должен использовать для сборки ту же "одну кнопку", что и в задании

Требования к проекту:


  1. Деплоймент-юнит должен собираться одной кнопкой (build.sh).

    • Проект со всей инфраструктурой должен разворачиваться и запускаться локально также одной кнопкой (run.sh для запуска, shop.sh для остановки) через docker-compose

    • Проект содержать средства обнаружения ошибок и других проблем с кодом (высокая цикломатическая сложность, большое количество параметров и т.п.).

    • Проект не должен содержать нарушений code-style.

    • Проект не должен содержать warning'ов.

    • Покрытие тестов должно быть не меньше чем определенное значение (для начала это не так важно сколько, но попробуйте сделать 80%).

    • Разработчик должен легко понимать, почему упала сборка (как локально, так и на CI-сервере).

    • Любой билд на главной ветке не должен содержать RC или SNAPSHOT-зависимости.

    • Должна быть возможность видеть список зависимостей, которые можно обновить (для них вышла новая версия).

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

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


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

Можете сюда добавить какие-то свои идеи, но те пункты, что перечислены — максимально желательны.
Что ожидать от курса
При условии, что вы посмотрите все лекции, сделаете практику и прочтёте хотя бы половину из списка литературы.

  1. Систематизируете знания и справитесь с синдромом самозванца. Познаете принципы и основные грабли энтерпрайза.
  2. Получите полное руководство по созданию энтерпрайз-приложений.
  3. Разберётесь, что не так с вашим приложением, и разработаете план его улучшения.
  4. Будете готовы к собеседованиям в крупные компании. Вас не поставят в тупик вопросы про SOLID

Курс требует труда и вовлечения. Звучит пафосно, но мы серьезно: вас ждёт много практики и непривычных концепций. Чтобы их осознать и встроить в свою картину мира разработки, потребуются время и некоторые усилия. Закладывайте минимум час в день на занятия.

Мы знаем, что учиться новому сложно. Поэтому мы будем периодически напоминать вам о сроках сдачи домашних работ и мотивировать в меру сил.
Тарифы
По предыдущим потокам мы знаем, что не у всех есть время и силы для максимального погружения. Поэтому курс доступен в нескольких вариантах
Опции
Экспресс
Базовый
Максимальная прокачка (количество мест ограничено)
Начало занятий
Сразу
Сразу
Старт 15 декабря 2023
Лекции и практики в записи
Конспекты лекций
Доступ к Reference application
Возможность задавать вопросы авторам через форму
Практические задания для закрепления материала
Персональная проверка д/з с обратной связью от авторов
Практические занятия через Zoom, ответы на вопросы, живое человеческое общение
Общение с авторами в Telegram
Доступ в закрытое сообщество выпускников
Карьерная консультация от авторов
Стоимость
30000₽
60000₽
140000
Рассрочка
нет
да
да
Экспресс
Начало занятий Сразу

Лекции и практики в записи
Конспекты лекций
Доступ к Reference application

Возможность задавать вопросы авторам через форму

30 000 руб.
КУПИТЬ
Базовый
Начало занятий Сразу

Лекции и практики в записи
Конспекты лекций
Доступ к Reference application

Возможность задавать вопросы авторам через форму

+Практические задания для закрепления материала

+Персональная проверка д/з с обратной связью от авторов

есть беспроцентная рассрочка на 1 мес.


60 000 руб.
КУПИТЬ
Максимальная прокачка
(количество мест ограничено)
Старт 15 декабря 2023

Лекции в опыте, через Zoom
Конспекты лекций
Доступ к справочному приложению

Возможность задавать вопросы авторам через формуляр
+Общение с авторами в Telegram
Практические задания для закрепления материала

Персональная проверка д/з с обратной  связью от авторов

+Практические занятия через Zoom, ответы на вопросы, живое человеческое общение

+Доступ в закрытое сообщество выпускников
+Карьерная консультация от авторов, по завершении истории

есть беспроцентная рассрочка на 1 мес.

140 000 руб.
ЗАСТОЛБИТЬ МЕСТО

Необходимые знания
Курс рассчитан на практикующих разработчиков. Чтобы во всём разобраться и получить от курса максимум пользы, вам потребуются:
  1. Опыт работы на коммерческих проектах.
  2. Знакомство с основными паттернами и инструментами разработки.
Если вы только начинаете изучать программирование, вам будет сложно. Начинающим мы советуем начать с курса других авторов:
Backend-разработка на Kotlin.
ОТЗЫВЫ
Мнение студентов нашей школы
Ответы на вопросы
  • Как пройти курс за счет компании?
    Мы дадим вам чек, чтобы вы компенсировали часть стоимости, или подготовим договор на обучение с вашей компанией. У нас нет лицензии вуза, поэтому вы не сможете получить налоговый вычет.
  • А вдруг мне не хватит скилов?
    Напишите нам на course@stringconcat.com, мы свяжемся с вами и поможем оценить ваш уровень.
  • Поможете с рабочим проектом?
    Да. На практических занятиях можно задавать вопросы и по рабочим проектам. А если вам нужно больше нашего участия, напишите нам на course@stringconcat.com и мы вместе подумаем как вам помочь.
  • У меня остались ещё вопросы!
    Напишите нам на course@stringconcat.com, мы ответим.
Прочли сами, покажите другим
Распространение знаний — путь к развитию нашей индустрии.
© StringConcat.com. I Оферта
По всем вопросам пишите в службу заботы: