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

Курс основан на практиках разработки ПО внутри Google, дополненных советами таких экспертов как John Ousterhout, Martin Fowler, Dave Thomas, Fred Brooks и др.

Productive Software
Engineering

Обучение проходит на доступном языке, с реальными примерами из жизни команд Google и живыми дискуссиями.
Для кого этот курс
Тренинг будет полезен для всех практикующих разработчиков, независимо от количества лет опыта и уровня скиллов. Но особенно будет полезен для программистов с существенным опытом промышленной разработки.
Этот курс будет полезен, если вы хотите:
01
Понять, в каком направлении двигаться, чтобы стать 10x Developer, и что Вам сейчас мешает.
02
Принять практические решения, которые навсегда изменят траекторию вашей карьеры.
03
Точечно перенять опыт Google и ведущих мировых экспертов, вместо того, чтобы долго и мучительно учиться на своих ошибках.
04
Ближе познакомиться с best practices в области разработки ПО и глубже понять, как и почему это работает.
Программа курса
Основания продуктивности SWE
Продуктивность разработчика базируется на его знаниях и навыках? Развенчаем этот распространенный миф и сфокусируемся на вещах более фундаментальных и важных как для вас лично, так и для вашей компании.
Философия продуктивного SWE
У каждого разработчика свой “путь продуктивности” или между двумя продуктивными разработчиками всегда больше общего, чем различий? Покроем дюжину практически философских установок, характерных для абсолютного большинства продуктивных разработчиков.
Код ревью
Сформулируем, ради чего существует код ревью, и почему это не только о качестве кода. На базе гугловских guidelines поговорим о том, что конкретно нужно ревьюить, на что обращать внимание и, главное, как писать комменты так, чтобы это было продуктивно и максимально бесконфликтно.
Работа со сложностью в коде
Код, который легко менять - мечта любого менеджера, да и, скажем честно, не только менеджера. С одной стороны - это искусство, которое можно постичь только на практике (и вряд ли кто-то скажет, что он уже всего в этом достиг). Но есть здесь и хорошие теоретические наработки/ направляющие, про которые можно и нужно говорить. Собственно, работа со сложностью - это основная тема курса.
Модульный дизайн
Вслед за John Ousterhout, профессором из Стенфорда, погрузимся в мир теории разработки ПО, регулярно возвращаясь к практическим примерам. Поговорим о признаках сложности и об underlying причинах сложности в коде. Обобщим функции, классы и сервисы, подведя их под общее определение модуля, и подготовив себя к центральной теме глубины модуля.
Глубокие модули и техники увеличения их глубины
Классы должны быть небольшими, а методы, в идеале, должны быть маленькими? Развенчаем этот миф, и поговорим о глубине модулей как о реально полезной альтернативной метрике. Посмотрим, как можно эту самую глубину модулей увеличивать, и какие подводные камни подстерегают нас на этом пути.
Design by Сontract
Поговорим о древней технике, формализованной Бертраном Мейером еще в 1986, которая ни в коем случае не потеряла своей актуальности сегодня. И как вообще можно программировать с уверенностью как-то по-другому?
Тестирование
На базе гугловских guidelines поговорим о том, как стоит код тестировать. В чём опасность mocking фреймворков? Почему абсолютное большинство тестов должны быть юнит тестами? И как писать юнит/интеграционные тесты так, чтобы их value был позитивным, а не негативным?
Документация
Лучше краткая корректная документация, чем её полное отсутствие. Это главное, что нужно знать. Поговорим о том, почему документацию сегодня всё-таки нужно писать, какие виды её бывают, и как находить нужный баланс при её написании и поддержке.
Именование
Поговорим про одну из центральных проблем сложности кода, и постараемся укорениться в хороших практиках, чтобы облегчить жизнь и себе, и своим коллегам, и, главное, клиентам.
Product-first ментальность
Ради чего мы пишем код? Может быть, для Вас сегодня это просто возможность заниматься искусством, за которую вам ещё и платят деньги? Оказаться здесь на одной странице (on the same page) со своими коллегами, фаундерами вашей компании, руководством и клиентами - это суперважная, но часто пренебрегаемая компонента построения успешных команд. Не стоит забывать, что продуктивный - как раз от слова product. Product-first ментальность - это один из основных takeaways в этом курсе - курс буквально пропитан нацеленностью на конечный продукт.
Артём Шевченко
Константин Хохрин, тренер ScrumTrek – обучение OKR
Тренер:
Посмотреть видео с лекции.
Ex-Googler, CEO в IntoPerf, лектор в ИТМО.

Более чем 10-летний опыт в области проектирования и развития архитектур систем и управления продуктами различной степени сложности. Комплексно взглянуть на вопрос продуктивности разработчиков позволяет опыт работы:
• как в России, так и в Лондоне и Силиконовой долине;
• как в больших корпорациях, так и в маленьких стартапах;
• как в роли разработчика, так и в роли менеджера.

Организатор и идейный вдохновитель курсов:
• Productive Software Engineering в ИТМО c NPS 50%;
• Good Code Reviewer для разработчиков внутри Google. За год больше тысячи разработчиков прошло через этот курс, с рейтингом 4.5/5 по 200 отзывам.
Отзывы о курсе
Организатор
ScrumTrek с 2007 года помогает российским и зарубежным компаниям повышать эффективность бизнеса с помощью Agile и Lean практик. Более 250 внедрений Agile в организациях и 6500 проведенных тренингов. Ежегодно мы организуем конференцию AgileDays, собирая российские и мировые практики гибкого управления.

scrumtrek.ru
Формат онлайн-интенсива
Обучение длится 5 дней с 10:00 до 13:00 и проводится на онлайн-платформе Zoom. Проходит на русском языке, но все материалы — на английском.
Объясняем на доступном языке, с реальными примерами из жизни команд Google, живыми дискуссиями и live-кодингом.
Особый акцент на ясность материала — в любой момент есть возможность задать вопрос, вживую или анонимно.
Онлайн-интенсив оргдизайн продуктовой компании
Корпоративный тренинг
для моей компании
Подходим индивидуально к каждому запросу —
выясняем состав аудитории, основные задачи обучения.
Проводим обучение на вашей или нашей площадке.
Возможно обучение на английском.

В рамках корпоративного тренинга проводится бонусная рубрика
“My 2-minute productivity tip” для обмена знаниями внутри вашей компании. Эта рубрика посвящена небольшим советам, ради которых ваши разработчики не будут организовывать отдельный tech talk, но при этом поделиться которыми точно стоит.
ОСТАЛИСЬ ВОПРОСЫ? ЗАДАЙТЕ ИХ НАМ