Я очень давно хотел закупиться у Егора всеми его книгами, но как-то так получалось, что все митапы и конференции с его участием я пропускал (из рук автора купить книги можно со скидосом в 50%).

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

Я уже писал о Егоре, и о том, что вся его деятельность вращается вокруг нескольких тем: объектно-ориентированное программирование и автоматизация управления командами разработки ПО. В подмножество кластера “автоматизации управления” входит так же концепция оплаты за результат, которая довольно часто повторяется и проходит красной нитью через всю философию Егора.

Книга “Code Ahead” рассказывает как раз о философии управления командами. Если вы регулярно читаете блог Егора (или вообще прочитали все посты, как я), то практически ничего нового вы не почерпнете—все идеи уже были так или иначе выражены в большом количестве постов, книга лишь серьезно структурирует и обагощает эту информацию внешними ссылками и цитатами.

Протагонист—разработчик—устраивается работать в софтверную компанию с офисом в Долине. Компания эта совершенно, даже я бы сказал гротескно обыкновенная, и вы легко можете узнать в ней свое текущее или предыдущееместо работы. Все действие происходит в офисе и сосредоточено в диалогах, монологах и рассуждениях о тех или иных аспектах разработки и жизни вообще. Герои второго плана, задающие канву повествованию, это ваши типичные коллеги: - CTO, который мало понимает в технологиях, - сеньер-помидор, который прессует всех своим авторитетом и постоянно аппелирует к тому что он тут работает с самого основания компании, - трудяга, который постоянно овертаймит и чинит пожары и похоже что единственный человек в компании, который хоть что-то делает, - микроменеджер, который пытается строить управление на чувстве вины, - бизнес-аналитик, который не может и не хочет внятно документировать требования, - тестировщик, который в постоянном стрессе от того, что бизнес требует от его отдела зеленый свет на релиз.

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

Несмотря на то, что книга довольно техническая, потому что много внимания уделяется CI/CD и всему что его окружает, а так же работе непосредственно программистов, я считаю что главная её ценность в переосмыслении человеческой деятельности вообще. Когда весь мир говорит нам, что нужно быть Agile, нужно развивать эмоциональный интеллект, налаживать коммуникацию и взаимоотношения, Егор говорит о вещах совершенно противоположных—максимальной формализации разработки, устранению неформальных коммуникаций, и как результат—построению такого процесса, который будет независимым от участников.

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

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

Если вы не читали блог Егора, его статьи про XDSD, то эта книга однозначно must-read. Да, есть множество книг по управлению людьми, по разработке, но все они, как по мне, слишком “добры”, политкорректны и нейтральны. Егор везде называет вещи своими именами и не стесняется говорить что люди полны недостатков, они глупые, жадные, ленивые, трусливые и так далее и так далее, но как решение проблем, которые эти люди создают в процессе работы, он предлагает менять не людей, или своё отношение к ним, а изменить окружение вокруг команды так, чтобы ленивый или понял зачем ему надо работать лучше или ушел, и сделать это не через встречи 1-на-1 (о которых часто говорит современный менеджмент), не через личные или групповые увещевания или тренинги, не через манипуляции (“давайте поднажмем, мы же команда!”) и создание чувства вины (“ну ты же обещал сделать!”) а через построение такого процесса, который будет сам себя обслуживать и держать планку качества на высоком уровне.

Ну а если вы читали блог Егора, то эта книга—отличный tl;dr и сфокусированное последовательное изложение информации оттуда.

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

С нетерпением жду вторую часть.