Жизнь полна неожиданных поворотов, и мы оба никогда не думали о том, что однажды напишем книгу о разработке ПО.
Как и многие компьютерные гики, мы поняли, что наше хобби и страсть – работа с компьютерами – отличный способ заработать на жизнь после колледжа. В середине 1990-х мы, подобно большинству фанатиков-программистов, собирали персональные компьютеры из комплектующих, устанавливали предварительные версии Linux с дискет и учились администрировать Unix-машины. Мы работали системными администраторами, а на заре эпохи «дот-комов» – программистами в небольших компаниях. Когда пузырь «дот-комов» лопнул, мы обосновались в выживших фирмах Силиконовой долины (вроде Apple), а затем были приглашены в стартап-компанию CollabNet в качестве штатных сотрудников для работы над Subversion – системой контроля версий с открытым кодом.
Нечто неожиданное случилось между 2000 и 2005 годами. Во время работы над Subversion наши обязанности стали понемногу изменяться. Мы больше не сидели весь день в изоляции, занимаясь написанием кода, а руководили проектом с открытым исходным кодом. В течение дня мы общались в чате с дюжиной программистов-волонтеров и следили за их работой. Мы почти полностью координировали разработку новых функций через список рассылки. В процессе этой работы мы поняли, что для успеха проекта недостаточно создавать хороший код. Не менее важно то, как люди взаимодействуют друг с другом для достижения конечной цели.