Заметки по книге «Как пасти котов», Рейнвотер Дж.Ханк
Рейнвотера я прочитал достаточно давно, но так и не собрался написать о ней. И вот, недавно, разбирая mind map’ы по прочитанным в прошлом году книгам, я наткнулся на заметки, которые я делал в процессе чтения.
Как пишет сам автор — это книга для программистов, которым нужно руководить другими программистами, чему и соответствует подача материала. Я хорошо помню, какое впечатление произвела на меня книга — мне казалось, что я начал видеть логику там, где раньше замечал только хаос. Возможно, на это повлияло отсутствие у меня опыта, но, в общем, книга мне охренеть как сильно понравилась.
Один из тезисов книги, который меня сильно удивил — о том, что тим-лид — совсем не обязательно самый опытный программист в команде (вообще, из-за специфики нашей профессии, любой программист, не исключая тим-лида, считает себя самым лучшим). В роли тим-лида есть подвох: зачастую, должность руководителя предлагают за особые заслуги в программировании, но вот навыки, требуемые для этой должности требуются совсем иные, и скорее касаются бизнеса, чем программирования.
Ниже мой бессистемный список заметок. Некоторые из них — это цитаты, некоторые — мои интерпретации и мысли, возникающие по ходу чтения.
- Не удивляйтесь тому, что вы чувствуете себя некомфортно в новой роли. Ощущение комфорта появится, наверное, через месяцев 6 или 12.
- Песики, преданно смотрящие в глаза не нужны. Нужны хорошие программисты, не смотря на все их странности.
- Важные навыки руководителя — это наставничество, терпение и проницательность.
- Элегантность — это достижимое совершенство.
- 70% стоимости ПО — это сопровождение. Как следствие, этим можно оправдать и тесты и элегантный код. С последним, правда, есть нюансы.
- Тим-лиду нужно уделять внимание коду, но стараться мыслить более глобально.
- Вариант с «Днем руководить, вечером писать код» работает только некоторое время, но, в конце концов, от этого устаешь.
- Делегирование — это очень важно
- Руководство — это рутинные задачи руководителя (контроль сроков и тд.),
- лидерство — это умение помогать команде добиваться все более высоких результатов.
- Чем выше организованность, тем легче находить баланс между лидерством и руководством.
- Кроме самоорганизации нужно еще помогать компании организовывать процессы, которые касаются разработки.
- Цель руководителя — сделать успех результатом рутинной работы.
- В работе с информацией должна быть система. Это относится как к рабочему столу, так и к информации в целом.
- Обязательно нужно писать код. Хотя бы ночью.
- Лучшее, что может сделать руководитель — усовершенствовать себя.
- Требуйте от своих программистов во всем добиваться безупречности. Если они считают, что это затягивает время — напомните им, что элегантность — это достижимое совершенство.
- Нужно думать наперед о проблемах, которые могут занять много времени. Нужно работать на опережение.
- Для встречи с коллективом хватит одного раза в неделю.
- 45 минут на совещание более чем достаточно.
- Стоит планировать промежуточные пункты, так как люди часто откладывают все до последнего.
- Проектирование прежде, чем технологии.
- Работа на дому — отлично! Но уровень дисциплины у всех разный. Обязательно нужно проверять, и следить за метриками работы сотрудников, которым разрешили поработать дома.
- Стоит начать писать списки задач программистам, и уже невозможно от этого отказаться — все будут ждать новых задач. Именно поэтому стоит очень внимательно и серьезно подходить к этой работе.
- Бизнес: сбор информации необходимой для координирования программных задач.
- Спецификация: Системное отслеживание ожидаемых от вас результатов. Единицы измерения: проект, технологическая область, например.
- Реализация: дотошное выявление всех подробностей, составляющих ожидаемый результат, углубленный анализ.
- Задача руководителя — организовывать производство ПО. Информацию, которая этому не помогает, нужно отфильтровывать.
- Большинство «Срочных замечательных просьб» размывают фокус. На такие просьбы нужно отвечать, сказав, что сейчас очень мало времени, но ты обязательно с этим разберешься! Ну и записывать это в очередь задач, чтобы не забыть.
- Ваша главная задача — выпустить программный продукт.
- Фокусироваться — значит, расставлять приоритеты среди тех сведений, которые претендуют на значимость, и действительно значимых сведений.
- Нужно выделять время как на программирование, так и на решение административных задач.
- Опирайтесь на ПО для управления проектами.
- Не стоит постоянно отвлекаться на skype.
- Со всей хитростью и коварством, важно стараться заставить сотрудников концентрироваться на своей работе.
- Нужно формировать списки задач на неделю с приоритетами и сроками завершения.
- Если разработчики достались в наследство — очень хорошая идея — предложить программистам описать свои текущие задачи. Так можно узнать не только о том, как руководили разработчиками раньше, о том, как кто из них видит свои обязанности.
Похожие статьи:
-
Заметки по книге «Getting Real», 37Signals
Продолжаю разбирать старые заметки из прочитанных книг.
-
«An introduction to programming in Go», Caleb Doxsey
Прочитал. Попробовал. Понравилось.
-
Из Pocket в Instapaper
Немного о том, как я до этого докатился
-
«Просто о vim», Суэруп Си Эйч
Отзыв о небольшой, но очень полезной книге
-
«Как рушатся комплексные системы», Ричард И. Кук
О фундаментальных проблемах больших запутанных систем
-
«Эмоциональный веб-дизайн», Аарон Уолтер
Книга о человечности в дизайне продуктов
-
«Sony. Сделано в Японии», Акио Морита
Впечатления о книге