Недавно один из основателей компании DevExpress, Роман Ерёмин, дал небольшое интервью. В нём он рассказывает про основные методологии, которых мы придерживаемся при создании своих продуктов, обсуждает различные подходы к управлению большой компанией, а также делится своими основными жизненными принципами.
"Работа должна быть в удовольствие. По большому счету, надо заниматься только тем, что и так бы делал. Главная ценность? Приносить пользу. Деньги важны как мерило этой пользы. Нужно создавать такие продукты и услуги, чтобы люди очень хотели позволить себе их купить.
Если кого-то слушаются, значит, он более убедителен или его мнение уважают и ему доверяют. Я стараюсь сделать так, чтобы у меня были не подчиненные, а коллеги, занятые общей работой. Мы придерживаемся теории менеджмента Y: людям нравится исполнять свои обязанности хорошо, и им всегда хочется сделать все быстрее. Никого не надо заставлять или подгонять. Мы стремимся набирать и удерживать именно таких сотрудников. Все, что нужно делать для слаженной работы в таком случае, — четко формулировать цели и не мешать людям принимать решения.
В теории менеджмента Y сложно представить, что человек работает плохо потому, что мало платят, и начинает работать вдвое лучше, если ему платят вдвое больше. Программирование — это все-таки искусство, а не ремесло. Даже просидев 16 часов вместо 8, можно не сделать вдвое больше, а иногда можно сделать в 10 раз больше/лучше, просто отдохнув и очистив голову. Поэтому у нас нет никакой сдельной оплаты. Есть понятие профессионального уровня. Все люди на одном уровне получают одинаковые деньги. Этот уровень говорит о том, насколько успешно человек берет на себя ответственность за те или иные аспекты работы — своей или чужой.
Надо поменьше принимать решения за других. Люди поддерживают решение, если это их решение. Если мне нравится какое-то решение, я должен убедить в этом других — возможно, у меня просто больше информации, и это надо донести до коллег.
Авторитарный способ управления, к сожалению, возможен и случается, и мы боремся с подобными проявлениями.
Мы практикуем совместное владение кодом. То есть каждый член команды может решить любую задачу или исправить ошибку, он не скажет: «Это не я писал». Соответственно, существует разумный размер команды. Тут математика проста: 1 человек ничего не должен обсуждать, 2 человека имеют один канал обсуждения, 3 — 3 канала, 4 — 6 каналов, 5 человек — 10 каналов и т. п. Каждый N+1 человек добавляет N возможных каналов общения. Поэтому оптимальный размер команды — 2–4 человека. 5–7 человек будут требовать уже формальных процессов согласования работы (собраний, например), а больше 7 человек естественным образом самостоятельно разобьются на группы. Поэтому мы стараемся, чтобы команды были небольшими, тогда процессы принятия решений происходят сами собой. Главное, чтобы были общие цели.
Не страшно ошибаться, надо просто снизить цену ошибки: когда едут на автомобиле, не задают же заранее курс и точки поворота с точностью до миллиметра и не следуют потом тупо, невзирая на реальность. Вместо этого едут по дороге и подруливают там, где дорога поворачивает. Для нас важна гибкость в планировании, то есть возможность подруливать.
Общие стандарты практики экстремального программирования: короткие итерации, совместное владение кодом, разработка через тестирование, непрерывная интеграция, рефакторинг.
Не думаю, что мы уникальны. Мы предлагаем возможность работать на мировом уровне, в творческой атмосфере, без бюрократии. Хотелось бы, чтобы таких компаний становилось все больше.
Системы генерации идей у нас нет, мы стараемся излишне ничего не формализировать. Любой, у кого есть идея, может высказать ее или в разговоре, или на форуме и узнать мнение окружающих. Если идея стоящая, ее поддержат, и она дойдет до людей, которые обладают возможностями ее реализовать. Поощрять это мы стараемся убеждением в том, что у нас в компании нет понятия «это не мое дело» или «у меня нет полномочий». Наоборот, каждый новый профессиональный уровень — это расширение круга вещей, за которые ты отвечаешь, про которые ты говоришь: «Это мое дело, это мне небезразлично».
Уникальный сотрудник — тот, кто разделяет цели компании и ведет ее к успеху тем или иным образом. Каждый уникальный сотрудник обладает своим собственным набором качеств. Важно не быть уникальным в том смысле, что только ты знаешь, как что-то устроено.
Я всегда был успешным по своим внутренним критериям успеха. Отличником я не был и не стремился, но старался делать то, что мне нравилось, и не делать того, что не нравилось.
Как только я узнал про компьютеры, я захотел ими заниматься. Наверное, у меня такой склад ума. К тому же тогда это было модно и труднодоступно. И сейчас я ничего не поменял бы, ну может, только быстрее бы добрался до собственно компьютеров. Чтобы стать успешным программистом, нужно учиться за компьютером – писать много разных программ, читать чужие программы, почувствовать красоту в коде. Вуз дает высшее образование, кругозор, но научиться быть успешным программистом там нельзя.
Люди, работающие вместе со мной? Да ничему не научили, в этом смысле я упрямый осел и продолжаю наступать на те же грабли. Если серьезно, то только благодаря людям, которые работают со мной, мы можем сделать так много.
Мотивация? Выполнить текущий проект так, чтобы он изменил что-то в мире, сделал жизнь людей лучше.
20 лет назад моя будущая жена спросила меня, чем я буду зарабатывать на жизнь. Я ответил, что соберу программистов, мы начнем писать программы и продавать их. Так я и сделал. Потом мы с Андреем (прим: Андрей Тельнов, коллега Романа и основатель DevExpress) мечтали, что у нас будут работать 20–30 человек. Так что сейчас компания превышает наши мечты раз в 10–15.
Будущее – в удовлетворении всех потребностей наших клиентов – разработчиков ПО не только в библиотеках, но и в сервисах, инструментах, технологиях.
Жизнь коротка, и ею надо наслаждаться. Не суетись и не беспокойся раньше времени."
А как организована работа в вашей компании? Какие методологии вы используете, какой стиль управления у вас принят? Чем вы можете гордиться в своей работе?
Автор: AlexAkimov