Идеальная IT-компания. Как из гиков собрать команду программистов - стр. 6
Бен Коллинз-Сассмэн (Ben Collins-Sussman) – один из первых разработчиков системы контроля версий Subversion и бывший руководитель команды, занимающейся хостингом проектов; в настоящее время он является менеджером команды инженеров партнерской сети Google. Бен один из основателей технического офиса Google в Чикаго; кроме того, он перенес систему Subversion на платформу Bigtable компании Google.
От издательства
Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.
Введение
Инженерное искусство просто. Сложность – в людях.
Билл Когрэн (Bill Coughran), бывший старший вице-президент по инжинирингу компании Google
Жизнь полна неожиданных поворотов, и мы оба никогда не думали о том, что однажды напишем книгу о разработке ПО.
Как и многие компьютерные гики, мы поняли, что наше хобби и страсть – работа с компьютерами – отличный способ заработать на жизнь после колледжа. В середине 1990-х мы, подобно большинству фанатиков-программистов, собирали персональные компьютеры из комплектующих, устанавливали предварительные версии Linux с дискет и учились администрировать Unix-машины. Мы работали системными администраторами, а на заре эпохи «дот-комов» – программистами в небольших компаниях. Когда пузырь «дот-комов» лопнул, мы обосновались в выживших фирмах Силиконовой долины (вроде Apple), а затем были приглашены в стартап-компанию CollabNet в качестве штатных сотрудников для работы над Subversion – системой контроля версий с открытым кодом.
Нечто неожиданное случилось между 2000 и 2005 годами. Во время работы над Subversion наши обязанности стали понемногу изменяться. Мы больше не сидели весь день в изоляции, занимаясь написанием кода, а руководили проектом с открытым исходным кодом. В течение дня мы общались в чате с дюжиной программистов-волонтеров и следили за их работой. Мы почти полностью координировали разработку новых функций через список рассылки. В процессе этой работы мы поняли, что для успеха проекта недостаточно создавать хороший код. Не менее важно то, как люди взаимодействуют друг с другом для достижения конечной цели.
В 2005-м мы открыли технический офис Google в Чикаго и продолжили программистскую карьеру. В то время мы уже были активно вовлечены в мир открытого кода; мы не только работали над системой Subversion, но и участвовали в сообществе Apache Software Foundation (ASF). Мы перенесли Subversion в инфраструктуру BigTable, разработанную Google, и запустили службу хостинга проектов с открытым кодом (аналогичную SourceForge) под флагом Google Code. Мы начали посещать конференции для разработчиков, а затем и выступать на них – OSCON, ApacheCon, PyCon и, наконец, Google I/O. Работая в обеих корпорациях и занимаясь проектами с открытым кодом, мы незаметно собрали кладезь знаний и историй о том, как работают настоящие команды разработчиков ПО. Серия забавных докладов о неэффективных процессах разработки («Худшие практики Subversion») в конечном счете превратилась в выступления о защите команд от деструктивно настроенных людей («Как избавить проект от вредоносных участников»). Все большие и большие толпы людей собирались на наших презентациях, которые больше напоминали сеансы групповой терапии для разработчиков. Каждый участник осознавал свою причастность к проблемам, о которых мы рассказывали, и хотел поделиться ими с группой.