Как-то, на очередном выступлении меня попросили рассказать, отчего зависит производительность команды. Она, на самом деле, зависит от стольких параметров, что мысли у меня разбежались по углам.
Потом потихоньку мысли пришли в порядок, и я решил кроме всего прочего поделиться своими историями про инструменты работы. Память тут же услужливо подкинула несколько случаев из жизни.
Ну, вот, например, работаете вы в проекте средних размеров, где есть pre-commit checks. То есть прежде, чем залить свой код в пространство, каждый разработчик должен прогнать определенный набор тестов. Когда это занимает 1-2 минуты – без проблем. Но чуть больше проект, чуть нетривиальней архитектура – и привет! Прогон занимает уже минут 30. Что человек делает в эти 30 минут? Правильно, пьет кофе.
Что происходит дальше? Дальше человек устает пить кофе, кладет с прибором на прогон тестов и заливает код без проверок. Интеграция ломается. Если ответственный менеджер обладает большим мохнатым мотиватором, то он приходит и объясняет разработчику, что интеграцию надо чинить. А если не обладает… то получается как в истории с Windows Vista. Где ребята потеряли интеграцию и потом не смогли синтегрировать то, что все понаписали. И начали писать с нуля.
И вот тут-то они вспомнили, что есть техники статического анализа кода, что можно сделать инструмент, который статический анализ делает, что можно встроить его в процесс… И худо-бедно, но Windows Vista вышла в свет, и стоит-таки сейчас на моем ноутбуке, когда я пишу этот пост.
Или вот зайдем с другой стороны – посмотрим, что у нас с мониторами. Для чего программисту нужен монитор? Каждый менеджер, трепетно относящийся к бюджету, знает для чего: читать почту, форумы, чатиться в Аське, гонять в Counter Strike и иногда, иногда – писать код. Поэтому на все просьбы инженера про “монитор побольше” менеджер искренне недоумевает: “что, для каунтер страйка 17 дюймов недостаточно, что ли? Что?!! Второй монитор?!!”
И он как-то забывает, а программист не догадывается напомнить, что есть еще процесс отладки. И что во время этого процесса иногда открывается пять окон, и программисту очень удобно, когда они все у него перед глазами. А когда бедолага начинает переключаться между окнами, то процесс отладки может замедлиться в разы. А процесс отладки занимает сколько там процентов от жизненного цикла продукта? Вот-вот. Желающие могут посчитать ROI (Return On Investment) от покупки мониторов побольше или вторых мониторов для своего конкретного случая.
Кстати, говоря, кроме процесса отладки – два монитора реально помогают делать несколько работ параллельно. У тех же тестеров – могут идти тестовые циклы, отображаться статус прогонов, эмуляторы и прочие прибамбасы на одном мониторе. А пока тесты идут – на втором мониторе человек может писать новые тесты. И это эффективней, чем переключаться с одной машины на другую при одном экране. Думаю, понятно почему.
(Кстати, во многих крупных конторах – Google, Sun у каждого инженера на столе стоит от двух и более мониторов.)
Там еще было несколько историй, но это уж как-нибудь в следующий раз. А напоследок – напутственное слово. Часто приходишь в компанию, проведя там немного времени, уже видишь, где косяки с инструментарием. Однако все сидят и вот так работают уже довольно долго. Почему? Во всех этих историях с инструментами работы есть, собственно, два важных пункта.
Пункт №1. Кто-то должен заметить, что с инструментами что-то не так, и что вот это можно улучшить. Для этого инженеры нужны, извините, правильные. Инициативные, думающие про то, как достичь результата наиболее эффективным путем. Если таковых инженеров нет, то с этим надо что-то делать (звать специалистов, менять людей, менять людям мозги и все такое).
Пункт №2. Менеджер должен что-то делать. Выбивать бюджеты, искать дешевые пути решения проблем (опен сорсные инструменты, списанные мониторы из соседнего отдела и пр., и пр.), поощрять сотрудников за initiative thinking.
Как-то так.
P.S. Исследование по эффективности бОльшего монитора и нескольких мониторов: http://biz.cnews.ru/news/top/index.shtml?2009/02/20/338544 Говорят, чем больше, тем лучше. Thanx Optimizator за ссылку!
сложив вместе пунткы 1 и 2 получается, что надо просто контору поменять. Целиком. И инженеров и менеджеров.
Есть промежуточный вариант – позвать грамотного человека, который со стороны посмотрит на все это и скажет, где и что поправить. Инженеры и менеджеры смогут увидеть хотя бы, про что вообще стоит думать.
Но может и не помочь, да. Тогда рано или поздно придется всех в сад.
Только на фотке у тебя терминал трейдера Почти такой как мы пишем (а может даже и нами написанный — в таком разрешении не разберешь)
Хехе, понятное дело, где ж столько брату программисту дадут.
Eugene Vorobyev February 6th, 2009 at 09:05
Я лично считаю, что два монитора – это очень удобно. Это почти “мечта идиота” для меня. Однако скольких менеджеров не видел (не считая тех что в Microsoft) – все на 100% уверены, что одного предостаточно и это всего лишь лишняя трата денег.
И кстати говоря очень грамотные менеджеры, от этого и получается, что убедить их невозможно, а уж тем более кого то со стороны.
Такая же ситуация мне часто встречалась с тест боксами, где автоматизация запускается и билд боксы, где запускаются сложные и долгие процессы интеграции. Обычная мысль – хватает для всего одного старенького компутера. Не считали они видимо ROI то =)
А самому слабо посчитать ROI? Сразу скажу, что не знаю вашей ситуации, может быть, у вас с наличными проблемы, какие уж тут мониторы… Я это к тому, что не все Investment компания может себе позволить.
Но если менеджер грамотный, то помогает спросить его: товарищ менеджер, скажи, пожалуйста, а какие сведения или данные убедили бы тебя, что людям нужен второй монитор? Неспроста же во всех ведущих конторах у сотрудников по несколько мониторов.
Еще один способ убеждения – попробовать провести тестирование. Ну, например, кто-то уволился – дать другому человеку, пока не наняли нового, второй монитор и посмотреть, как у него пойдет.
Павел Габриель February 8th, 2009 at 18:50
Саша, насчет монитора. Как-то я решил попробовать работать за двумя мониторами… И обнаружил вот такой неприятный момент: если мониторы разные (цветопередача, размеры и т.п.), то человек будет испытывать дискомфорт. А в Google/Sun мониторы одинаковые?
Optimizator February 8th, 2009 at 20:03
В Deutsche Bank, где я работал, два монитора у айтишника – это норма.
На самом деле мне было мало 2, просил 3-ий…. А у трейдеров было по 6 мониторов!
У LG видел отличное бюджетное решение FLATRON L206WU – мониторы цепляются гирляндой через USB, дорогая видеокарта для этого не нужна
Павел Габриель February 8th, 2009 at 21:00
Я к тому, что просто взять у соседа монитор или старый, то эффект получится чуток другой
Optimizator February 8th, 2009 at 21:19
У меня нет опыта с разными мониторами – у нас мониторы в паре все были одинаковые. Я думаю, дело в том, как их ставить и для чего использовать. Если просто для общего расширения рабочего поля – то они должны быть одинаковые.
Я хочу себе сейчас 1-2 дополнительных монитора – поставил бы сбоку для email, асек всяких, и для JIRA (трекинг и планировщик задач). А по центру – большой монитор как главное рабочее поле. Думаю, при таком использовании не будет иметь значения различие в цветах-размерах.
В общем, да. Если ставить разные мониторы под разные задачи, то нормально. Хотя при разном качестве мониторов и тут может перекосить. А если пытаться заниматься отладкой и все время таскать окошки из одного монитора в другой, то тут да, лучше бы мониторы одинаковые.
За Google не скажу, а в Sun’е – мониторы как бог на душу положит.
Я за 7 лет работы, начиная от программиста и заканчивая сейчас менеджером, ни разу не испытал надобности во втором мониторе.
Наши программисты, кому надо, юзают виртуальные рабочие столы и переключаются между ними. Если действительно удаленная отладка, то конечно юзается 2 компьютера и 2 монитора.
А если по теме, то конечно же находятся люди, которые недовольны инструментарием. Но их обычно 1-2 на сотню. И менеджеру проще сказать “что ты в меньшинстве, один из ста. я ж не буду ради тебя одного теперь всю налаженную систему перестраивать”.
И мы продолжаем работать устаревшими инструментами…
Optimizator February 8th, 2009 at 23:08
7 лет работы – это не так много Речь идет не об общем недовольстве инструментарием, а об организации эффективной работы там, где это нужно.
Потребность во втором (третьем, четвертом и т.п.) мониторе остро возникает например, когда надо решать в короткое время много разных задач (при поддержке приложений, например, или при торгах на бирже). Или когда необходим постоянный мониторинг параметров систем.
Постоянное переключение между окнами выбивает из “работуна” – состояния эффективной работы, особенно когда под каждую задачу нужно не одно окно, а несколько разных открыть. Когда счет идет на секунды, переключение между окнами занимает несколько секунд, а перенос внимания с одного монитора на другой – долю секунды.
Виртуальные рабочие столы – это полумера. Второй комп – это тоже не совсем то – поскольку не позволяет “таскать” данные с одного окна в другое.
Если программер отлаживает программу, то вообще очень удобно иметь на одном мониторе гуй разработки, на другом – гуй программы, на третьем смотреть на дампы в реальном времени, и т.п.
Optimizator February 8th, 2009 at 23:15
Да, я вспомнил – я сидел как-то за рабочем столом с разными цветовыми гаммами мониторов. Первое время немного мешало, но потом просто перестал замечать. Главное, окно программы не ставить посередине, и все ок.
>Если программер отлаживает программу, то вообще очень удобно иметь на одном мониторе гуй разработки, на другом – гуй программы, на третьем смотреть на дампы в реальном времени, и т.п.
2 монитора на одном компьютере понадобилось только нашему инженеру-электронщику, потому что у него там действительно сложные системы моделирования и слишком много окон с состоянием все возможных регистров.
Наверно мы разрабатываем программы разного типа… Мне с моими потребностями, все равно это не понять.
Тут как, я не знаю, с коробкой автоматом. Нужно попробовать, чтобы понять, насколько оно удобней. )
Константин Иванов February 10th, 2009 at 20:18
Эхх..разговор о мониторах.. А у нас компики слабые стоят на работе.. При открытии почты, Visual Studio и броузера все начинает тормозить и вордовские документики открыаются по минуте… И вот как пояснить что нужны новые ПК не знаю! Продукты мы тем не менее выпускаем, постоянно, хоть и теряется процентов 30 времени из-за жудких тормозов.. Но старшему начальству бесполезно это объяснять, они видят что задачи выполняем и не хотят что то менять.. (((
Ещё и кризис теперь, курс долара высокий и цены на ПК тоже.. Нас тем более ни кто не хочет слушать А и меня и людей из моей комманды все это иногда жудко бесит и производительность ещё более снижается..
Тема жизненная. Надо про это написать отдельный пост.
Andrew February 19th, 2009 at 02:17
Программисты они как дети – увидели на рынке новый монитор 20″ и давай клянчить “у меня тут строки не влазят, мне надо больше места на десктопе”..
Ну тогда некоторые менеджеры как жадные дети. “Ничего не куплю, денег нет, отстаньте от меня, и так все хорошо…”
Таки надо смотреть вокруг, как у других, почему, сравнивать, пробовать и принимать решения.
Optimizator February 20th, 2009 at 00:58
Вот для информации:
Описание компьютерного монитора LG 20 Flatron L206WU-WF
Возможность подключения к компьютеру через кабель USB. Можно поддерживать до восьми экранов одновременно (включая дополнительный монитор, подключеный по D-Sub, и экран ноутбука).
Возможность не только регулировать высоту и наклон монитора, а также поворачивать его вокруг оси обеспечивает максимальное удобство для работы.
Стоит он в Москве около 300 у.е.
хочешь второй монитор – пошёл да купил. до 6 тыр вполне нормальный можно взять. если нет возможности у предприятия, почему твой комфорт работы должен зависить от этого?
Optimizator February 20th, 2009 at 21:12
dm,
Во-первых, это не комфорт – это увеличение производительности труда, что при ПРАВИЛЬНОЙ организации и хорошем менеджменте дает ощутимый возврат инвестиций.
Во-вторых, а почему бы о комфорте на рабочем месте не позаботиться начальникам? Хотя все равно, пусть люди хоть в подвале кодируют. Всех на галеры!
А в третьих, не все упирается в пошел и купил себе. В больших конторах тебя сразу съедят сисадмины и секьюрити. Кроме того, не все видеоплаты поддерживают два монитора, а больше – так там уже цены на порядок взлетают.
Optimizator February 21st, 2009 at 21:56
Исследование:
Три монитора – скорость работы выше на 36%.
Спасибо! Добавил в пост.
Optimizator,
1. Ну если ещё и производительность на деле докажешь – флаг в руки и барабан на шею
2. У тебя тыща стратегий поведения выбирай, что хочешь. Тебе важно биться с начальством или монитор? Конечно, если ты тим-лид и т.п. тебе начальник может и даст денег. Но вот джьюниору ждать первое звезды?
Итак задача – нужен второй монитор. Решений – тыща в зависимости от контекстов и т.п. Как говориться тебе шашечки или ехать?
3. Чтобы не съели делаешь так – при входе оформляешь квиток на внос. К монитору ещё карточку, кстати нужно прикупить это верно. За 800 рублей можно найти. А с секьюрити просто заявку начальнику с обоснованием. Когда требуется разрешение без материального подкрепления. Начальники любят когда их просят. Так что ещё и хорошим сотрудником прослывёшь. И денежки в виде премии вернёться. Ты же на 36% повысил производтельность ))))
А ссылка прикольная +1.
dm = denis miller
Начальнику вносят комп. Он спрашивает:
- что это?
- компьютер, будет делать за вас половину работы!
- тогда ставь два!!!
В общем, да, довольно многие мои знакомые покупают себе удобные клавиатуры и мышки. Чем монитор хуже? Немного дороже, да. Ну, может, кто и решится.
Это, конечно, никак не отменяет возможных проблем с видеокартами и обязательных (часто неразрешимых) проблем с сис. админами в больших компаниях.
Но как вариант может и сработать, почему нет?
Правда, где-то таки надо остановиться. Иначе можно предложить самому себе апгрейдить комп, покупать лицензии на IntelliJ IDEA, и далее по списку.
dm, представь себе пилота сверхзвукового истребителя, у которого вместо приборной управления монитор 17 дюймов. И вот во время боевого задания ищет нужные кнопку, тасуя свою колоду из окошек….
Как ты думаешь, весело ему будет на боевом задании? А думаешь, сисадмину, который следит за сотнями серверов, легче?
Смысл многомонироной системы в том, что у тебя все нужные окна всегда открыты, и все мелкие элементы находятся на своих привычных местах. Насколько это увеличивает эффективность – вопрос индивидуальный.
К примеру, если только отчеты по проектам сочинять, то и наладонника достаточно.
И с видеокартами все не так просто. Обычные карты с дровами держут десктоп максимум из 2 мониторов. Вторая видеокарта не расширет десктоп, если вообще будет работать.
Ох, спать надо чаще:
“Представь себе пилота сверхзвукового истребителя, у которого вместо приборной ПАНЕЛИ монитор 17 дюймов. И вот во время боевого задания он ищет нужные кнопкИ, тасуя свою колоду из окошек…”
[...] бы, уже всем давно ясно, что с одним монитором инженер работает менее [...]
Последние коментарии