Сколько времени ваш рабочий день тратит на программирование?[закрыто]

StackOverflow https://stackoverflow.com/questions/13343

  •  08-06-2019
  •  | 
  •  

Вопрос

В последнее время я думал об оценке программного обеспечения, и у меня возникло множество вопросов по поводу времени, потраченного на программирование.Мне любопытно услышать мнение людей, имеющих хотя бы пару лет опыта разработки программного обеспечения.

Когда вам нужно оценить количество времени, которое вы потратите на работу над чем-то, сколько часов в день вы тратите на программирование?Что занимает остальные часы, не связанные с программированием?

Считаете ли вы, что тратите на кодирование больше или меньше часов, чем ваши товарищи по команде?Чувствуете ли вы, что выполняете больше или меньше работы, чем они?

Каковы ваши условия работы?Личный офис, общий офис, командная комната?Кодируете в одиночку или в паре?Как ваши условия работы изменили количество времени, которое вы ежедневно тратите на программирование?Если вы можете работать из дома, повысит ли это вашу продуктивность или ухудшит ее?

Какую методологию разработки вы используете?Водопад?Гибкий?Повлиял ли переход от одной методологии к другой на количество часов написания кода в день?

Самое главное:Вы довольны своей продуктивностью?Если нет, какое единственное изменение вы бы внесли, чтобы оказать на него наибольшее влияние?

Это было полезно?

Решение

Я корпоративный разработчик, которого Джоэл Спольски назвал «депрессивным» в паре подкастов StackOverflow.Поскольку моя компания не занимается разработкой программного обеспечения, у нее нет особых бизнес-оснований для реализации многих мер, которые эксперты по программному обеспечению рекомендуют компаниям применять для повышения производительности разработчиков.

У нас нет личных кабинетов и двух 30-дюймовых мониторов.Наша система контроля версий — Microsoft Visual Source Safe.Достаточно сказано.С другой стороны, я могу сделать много вещей, которые наполняют мой день и добавляют разнообразия в мою работу.Я занимаюсь бизнес-анализом, управлением проектами, разработкой, поддержкой производства, международными внедрениями, поддержкой обучения, планированием команды и улучшением процессов.

Я бы сказал, что 85% своего дня я посвящаю кодированию, когда я могу сосредоточиться и у меня есть серьезная задача по программированию.Но чаще всего я посвящаю кодированию около 50% своего дня.Если производственная поддержка (не связанная с кодированием) тяжелая, я могу уделять кодированию только 15% своего дня.

Большинство компаний, в которых я работал, не занимались активно оценкой гибких процессов или разработкой через тестирование, но они также не очень хорошо справлялись с каскадной работой;большинство их разработчиков работали как ковбои, вырезанные и вставленные, с нахальством.

Иногда я работаю дома и с детьми, это ужасный.Я более продуктивен на работе.

Моя продуктивность хорошая, но могла бы быть и лучше, если бы исключить фактор прерывания и затраты на мысленное переключение контекста.Поддержка производства и накладные расходы на управление проектами создают такие перерывы.Но и то, и другое — необходимые части работы, поэтому я не думаю, что смогу от них избавиться.Я хотел бы рассмотреть возможность реструктуризации команды, чтобы люди, работающие над проектами, могли сосредоточиться на проектах, в то время как другие могли блокировать перерывы, посвятив себя поддержке.А затем обменяться, когда проект закончится.

К сожалению, никто не хочет оказывать поддержку, поэтому другой мерой по повышению производительности, которую я бы хотел, была бы одна из следующих:

  • Лучшие инструменты/методологии тестирования для ускорения модульного тестирования.
  • Улучшенные инструменты/навыки бизнес-анализа для улучшения качества новых разработок и ограничения их вклада в нагрузку на поддержку производства.

Другие советы

На самом деле, это, вероятно, составляет в среднем 4 или 5 часов в день.Хотя это «кусково» — бывают дни, когда это может длиться 8 или 9 часов.

Из всех разработчиков программного обеспечения, которых я знаю, те, кто пишет производственный код (а не исследовательский), от 4 до 5, кажется, являются максимальным количеством фактического кодирования.Есть много других вещей, которые происходят.

И, честно говоря, есть много прокрастинации.Я нахожу это немного похожим на писательский кризис.иногда просто сложно начать, но хорошая двухчасовая сессия — это МНОГО проделанной работы.Это всего лишь подготовка, которую вам нужно пройти, экспериментирование, чтобы убедиться, что вы выбираете правильный подход.Бесконечное количество смотрений в окно, проверки электронной почты и т. д.

Я работаю 37,5 часов в неделю.
30 из этих часов (80%) я должен выставлять счета нашим клиентам.
На самом деле я обнаружил, что около 60% кода использую на реальных клиентских системах, 20% экспериментирую с новыми технологиями и читаю блоги, а 20% трачу на офисную политику и «общение».

Рад ли я этому?
Хотел бы я смотреть на экран 30 часов в неделю, кодируя данные задания?

Хорошо.Поскольку 20% времени уходит на совершенствование себя в своем ремесле, за те 60%, что приходится на эффективное программирование, я, вероятно, создаю больше, чем мог бы за 90% своего времени, если бы я этого не делал.
Опять же, попробуйте объяснить этот факт начальству;)

Что ж, я обычно прихожу как минимум на пятнадцать минут поздно, ах, я использую боковую дверь - таким образом, Ламберг не видит меня, хе -хе - и, после этого, я просто не буду в течение часа.

...Да, я просто смотрю на свой стол;Но похоже, что я работаю.Я делаю это, наверное, еще один час после обеда.Я бы сказал, что на определенной неделе я, вероятно, делаю всего около пятнадцати минут реальной, реальной работы.

Для меня переключение между проектами — большая причина прокрастинации.Когда я только что закончил проект, я склонен откладывать выполнение следующего порученного мне требования.Мой разум все еще находится в режиме кодирования, но сначала мне нужно оценить затраты на создание спецификации.Поэтому мне приходится переключаться с кодирования на звонки клиентам и тому подобное, что вызывает дискомфорт.

Что мне больше всего помогает быть продуктивным, так это исключить любые отвлекающие факторы в первые часы дня и немедленно приступить к самой важной задаче дня.Мне нужно войти в поток как можно раньше.


Рекомендую взглянуть на «Камень программистов»:

Мы знаем, что стресс ухудшает некоторые когнитивные функции.Утрата этих функций может точно объяснить, почему программирование сложно, и показать нам множество других возможностей улучшить способы организации вещей.Последствия затрагивают язык, логику и культурные нормы.Нажмите здесь, чтобы ознакомиться...

Я провожу около 40% своего дня за программированием.40% уходит на деятельность, не связанную с кодированием (например, борьба с нашим схематичным сервером сборки или выяснение того, почему NUnit снова не выдал сообщение об ошибке, или попытки выяснить, почему наш код перестал общаться с сервером Oracle внизу...такая фигня).Остальные 20% обычно тратятся на прокрастинацию или встречи.

Доволен ли я своей продуктивностью?Точно нет.Я работаю около 7 часов в день и трачу около 2,5 часов на программирование.Я бы предпочел тратить 5-6 часов в день на программирование, а на все остальное - только час (к сожалению, единственное, что могло бы сделать это возможным - чтобы премьер-министр перестал каждый день возиться со сценариями сборки - - не произойдет).К сожалению, поскольку я корпоративный разработчик, руководство не видит, что время тратится зря.Поскольку за эти 40% дня я делаю гораздо больше, чем большинство дронов в здании за неделю (включая премьер-министра), они думают, что я продуктивен.

@Бернард Дай:Я провел, наверное, 30% своей карьеры в корпоративной среде (сейчас это не так).Обычно это происходит после какой-то неудачной (или не проваленной, но провалившейся) идеи стартапа или какого-то выгорания/изменения.На какое-то время это нормально, приятно встречать людей совершенно разного происхождения (кто бы мог подумать, что с юристами и актуариями может быть так весело тусоваться), но, в конце концов, мне просто слишком трудно получить вставать утром с мотивацией (или после праздника с страхом вернуться) - вероятно, по причинам, которые вы определяете (просто недостаток заботы).Но это, по крайней мере, хороший опыт и источник идей.И блестящих людей можно встретить повсюду (умны не только программисты — я всегда пытался выяснить, кто на самом деле стоит за бизнесом).

Интересно, что единственный раз, когда я практиковал строгую Agile/XP, был в корпоративной среде - в этом случае, вероятно, 7 часов в день были фактически практическими работами с кодом (в паре) - я никогда не был так утомлен после дня этого.не уверен, хорошо ли это, возможно, я просто ленив.

Чтобы ответить на некоторые мои собственные вопросы:

Текущая команда, в которой я работаю, занимается только общей оценкой задач, поэтому трудно отслеживать количество часов в днях.Я бы сказал, что за всю мою карьеру время, потраченное на программирование, составляло от 25% (в основном менеджмент) до 85%+ (работа дома 4 дня в неделю, собираемся на полдня раз в неделю).Однако, если мне пришлось угадывать, среднее значение, вероятно, где-то около 60%.

Для меня самое большое влияние на время, потраченное на кодирование, оказывает наличие или отсутствие совещаний.Когда я работал над гибкими проектами, когда все находились в одной комнате, встречи, как правило, были разовыми и очень короткими, поэтому время, затрачиваемое на программирование, было очень большим.Я также чувствовал, что трачу меньше времени (иногда гораздо меньше времени) на действия, не связанные с программированием, когда находился в командной комнате, потому что гораздо легче тратить время, случайно или нет, когда никто не имеет четкого обзора вашего монитора. .:)

Я занимаюсь аутсорсингом и в основном кодирую весь день, у меня два проекта, и у меня мало времени, чтобы сделать что-то еще, а это означает, что я не могу брать на себя больше работы, потому что я не могу ничего закончить, это хорошая политика. вы должны брать столько, сколько можете.

Помните также, что у вас должно быть свободное время и, что очень важно, достаточно отдыхать, иначе вы не будете очень продуктивны.Ключевым моментом здесь является планирование и дисциплина.

В свободное от программирования время я проводил его с женой, мне также нравится выбираться из города и стараться не думать о своих проектах, чем больше я соблюдаю этот баланс, тем более продуктивным я работаю.

Когда я мало работаю, мне нравится читать блоги по программированию, а также мне нравится изучать программирование.

И, наконец, я хотел бы сказать, что, ИМХО, нашу карьеру не следует рассматривать как работу, а как что-то развлечение.

Я разработчик программного обеспечения в отделе исследований и разработок, работаю 40 часов в неделю.

Я трачу примерно...10% моего времени — это программирование.В свободное от программирования время я в основном тестирую, оцениваю, сравниваю и записываю результаты.Я также трачу много времени на написание спецификации кода, который буду писать, и на исследование кода, который буду писать, участвую в мозговых штурмах по текущим проектам и т. д.

Могу сказать, что из моих товарищей по команде (также разработчиков программного обеспечения) я сейчас больше всех программирую;но это зависит от того, над какой задачей мы работаем каждый раз.Я бы не стал количественно оценивать программирование как тяжелый труд.Если есть хорошая спецификация, правильное исследование и хорошее понимание проекта, кодирование — это всего лишь formality и происходит почти плавно и быстро.

Здесь у нас общий офис с двумя командами.В основном мы кодируем в одиночку, редко в паре.Моя работа сильно меняет количество времени, которое я занимаюсь программированием;в прошлом я тратил большую часть своего времени на кодирование, не очень хорошо разбираясь в кодировании.Если бы у меня была задача, я бы немедленно начал программировать и переписывал каждый раз, когда понимал, что сделал что-то не так, и так далее.И это было очень неэффективно.

Методология разработки сейчас находится где-то между прототипированием и спиралью.Он явно изменил количество часов, которые я кодирую.

Я доволен своей продуктивностью, связанной с моими сроками и целями.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top