Pull to refresh

Comments 49

Фактически варианты 4 и 5 - это одно и то же по продуктивности. Так что при оценке результатов их можно будет (в уме) объединить.

Смысл опроса в следующем: после обсуждения этой темы со своими знакомыми, возникло подозрение, что программированием продуктивно заниматься больше 1/3 времени (т.е. как раз варианты 4 и 5) никто не в состоянии. Причём обычно работа идёт "запоями". Очень любопытно проверить эту мысль на более широкой аудитории.

Если это действительно так, то становится понятно, откуда взялось правило умножать estimate программистов на число Пи. :)
Согласен. Непрерывно эффективно работать получается максимум 5 часов подряд, да и то в экстремальных случаях. Обычно часа 3-3,5 подряд. Если больше - то код уже становится менее удачным, и обычно нуждается в рефакторинге уже через 1-2 дня. А таких "заходов" в день может быть один или несколько, в зависимости от загруженности (я фрилансер)
Причем код рожденный в этих экстримальных случаях тоже не является образчиком красоты ;)
Причем код рожденный в этих экстремальных случаях тоже не является образчиком красоты ;)
Нет, слева обычно висит уже подготовленная схема, и код в этом случае вполне нормальный)
Профессиональный робот-фанат: 5-16 часов в день, практически каждый день.

Количество времени, затраченного на работу зависит от многих факторов, например: кол-во времени, которое было потрачено на работу прошлым днем; кол-во часов сна; погода (для меня лично и для многих, я думаю, тоже, т.к. организм несколько не в лучшей форме или, как вот сейчас, за окном +30++, влажно и душно). Иногда бывают простои по несколько дней-неделю, но это нормально для всех творческих профессий, таких, как программист, дизайнер, художник и т.п. Но в общем и целом картина примерно такая.
Интересный и актуальный опрос. Все решает организация времени. И распределение задач в течении дня.
Согласен с постами выше, сложно 5 часов подряд писать хороший код, а потом не думать в буфете что взять сначало ложку, а потом вилку не оптимально, так как это два сеанса и создаст нагрузку на сервер(читай мозг), и можно обойтись одним.

Чтение, скажем, постов на хабре про оптимизацию и Zend Fr, считаеться эфективным рабочим временем? Если да то что мешает в перерывах между сеансами написания кода (2-3 часа) читать статьи такого рода, уделяя им 30-40 минут? А это будет несколько отвлекать мозги, что позволит програмировать дальше.
Приятно ощущать себя профессионалом. Спасибо составителю.
UFO just landed and posted this here
За компом я сижу много, практически как фанат - 12-16 часов в день, каждый день. Но реальной работы, за которую платят денег не более 6 часов в день и то не каждый день.
хм, одно попугайское крылышко.
никогда не измерял, но соврешенно точно знаю, что на одну схожую задачу может уйти разное количество времени, или по дороге домой можно обдумывать разные варианты решения проблемы, это входит в продуктивность?
Плохая идея с роботами, фанатами и профессионалами - сильно собьёт вам результат, потому как роботом я, например, себя называть не хочу. Плюс, продуктивность - понятие для каждого своё.

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

А учитывая особенности человеческого мозга, все работают почти круглосуточно ;)
Насчет "роботов" соглашусь, насчет "запоев" - не совсем. Все-таки существует еще такое понятие, как план работ.
План - да, существует. Но когда есть стопроцентная концентрация на задаче - тогда и получаем «запой», который может продолжаться достаточно долго.

Впрочем, бывает по-разному.
C роботами это шутка была, вообще-то. Кто не спрятался понял - я не виноват. :)
Про шутку понятно, я думаю, всем ;) Только вот рука не поднимается, даже несмотря на шутку, назвать себя роботом. Неприятно как-то. Так что большинство, скорее всего, назовут себя профессионалами - самое приятное из названий в опросе.
Я не программист, я социолог. И в соц опросах принято разбивать массу ответивших на профили с говорящими названиями, т.к. это удобно и наглядно. Но название и социологический портрет той или иной категории складывается ПОСЛЕ опроса, т.к. это и правда может сбить.
Всё верно. Я в курсе. Я когда-то работал с социологами, писал для них софт. :) Да и сам интересовался немного.

Но это был не соц.опрос. Соц.опросы нормальные так не проводят обычно. Меня интересовало скорее отношение к этому вопросу довольно специфичной аудитории хабра (получить "реальные" данные по этому вопросу я и не пытался, это так не делается). И это отношение я узнал. Так что цель опроса достигнута. :)
Однако ж некоторый процент воспротестований ваш опрос заработал. Ясно, что инернет-опрос - штука не идеальная, просто можно было бы повысить его объективность.
Выбрал первый, тока я ни черта не фанат, просто выбора другого нет...
судя по нику - точно не фанат)
Есть разница между
  1. сижу за компом 16 часов в день
  2. из 8-ми часов просиживаемых на работе пишу код 7.5 часов
  3. пишу код, за который мне не стыдно, и который не будет моментально выброшен и переписан как только ко мне вернётся вдохновение/рабочее настроение

Последний пункт — ключевой. Именно это я называю продуктивной работой. Потому, что весь остальной код обычно выбрасывается и переписывается в тот момент, когда происходит «нечто» (иногда это называют «погружение», иногда вдохновение, иногда рабочим настроением, etc.). Ибо если результат многочасовой работы был выброшен, значит эти часы «продуктивными» назвать нельзя! И, да, иногда (часто) этот код не выбрасывается, просто потому, что уже нет времени его переписывать — но и в этом случае я не считаю потраченное на написание этого кода время «продуктивным». Потому, что обычно на написание и отладку этого кода тратится в разы больше времени по сравнению с тем, сколько было бы потрачено при наличии вдохновения, и результат всё равно получается несравненно хуже.

К сожалению, объяснить всё это в заголовке опроса возможности небыло, поэтому остаётся надеяться что большая часть ответивших разделяет моё понимание термина «продуктивная работа».
Почему вы делаете такой акцент именно на писании кода? Продуктивное время это ведь не только время в течении которого ваши пальца находились на клавиатуре. Почему продуктивной работой нельзя назвать проектирование, или же оптимизацию, или же исследование технологий, с помощью которых поставленную задачу можно решить наиболее быстро и качественно? А то вдохновение, о котором здесь говорят (далее идет ИМХО, потому что у меня оно возникает именно в таких случаях) есть ничто иное, как четкое понимание задачи и не менее четкое понимание ее решения, тогда код пишется особенно легко и четко, и главное что за него потом не стыдно.
Я не делал акцент на писании кода. Всё, что Вы описали, безусловно, может быть частью продуктивной работы. Просто у программиста конечная цель его деятельности - именно код. Именно код является "продукцией". И можно, например, оптимизировать что-то в голове или на бумажке день, потом пол дня это кодить, и получить в результате тихий ужас. А можно получить гениальное решение. В первом случае, IMHO, продуктивная работа отсутствовала, не смотря на факт написания кода (даже если этот код кое-как работает!), а во втором продуктивной работой однозначно считается и то время, когда ни строчки кода небыло написано.
Интересно где, вы работаете, и на чем пишете, в свое время мне попадался персонажь, который считал что профессионал от любителя отличаеться тем, что дает всегда 80-100% результата который возможен за данное время, а любитель может дать 100, а может дать 0. Если кому будет интересно, скажу чем человек занимался :)

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

Я не считаю, что отличие профессионала от любителя именно в том, что Вы описали (названия пунктов голосования были даны просто для развлечения).

Но если Вам лень слазить в профайл, то: работаю фрилансером с 98 года, веду достаточно большой проект последние 5-ти лет (причём проект "живой" и прибыльный), пишу на Perl (LAMP), руковожу группой фрилансеров работающих над этим же проектом. С того момента, как проект начал "расползаться" по кучке серверов, пытаюсь перевести его с Perl/Linux на Limbo/Inferno (это гораздо более комфортная среда для программирования кластеров).

Голосовал за пункт "Фрилансер", естественно. :)
Развернуто ответил, прочитав профайлы, письмом :) не лень их читать, просто еще не привык :)
Написал, что отписал письмо, но оно не прошло, стукнулся в аську
UFO just landed and posted this here
эмм... а где вариант про НЛО? :)

P.S: сам проголосовал за фрилансера
Из практики убирается использование такого варианта, что я всеми руками поддерживаю, однако запостить вопрос не получается. :(
Интересно, что последний вариант составляет большинство. Я удивлен. Хотя, признаюсь сам к этому большинству отношусь.

Хотя, если бы опрос был не для программистов, то я бы выбрал первый вариант - 12-16 часов в день, 6-7 дней в неделю.
А это уже эффект НЛО. Оно обычно на последнем месте находится, вот и тыкают по привычке.
вообще то я бы ещё обговорил, что понимать под продуктивной работой. Я могу продуктивно работать 4-5 часов в день, но сейчас я много времени трачу на новичков, которых нужно учить и вводить в проект, да и в любом случае часть времени тратится на распределение задач. С упоением кодить получается обычно максимум у новеньких старших девелоперов, тех у кого опыта побольше уже и припрягают посильнее на всякие управленческие функции и времени на кодить запоем больше 2-3 часов в день тупо не остается.
Вопрос не совсем верно поставлен, решение задач далеко не всегда сидение и набивание кода. Иногда приходится дня два ПРОДУКТИВНО сидеть, чтобы потом минут за 15 все написать. И как здесь подсчитывать продуктивность?

Про себя : Где-то 3-4 часа в день написание кода, Поиски решений 24 часа в сутки :)
Если "ПРОДУКТИВНО сидеть", значит продуктивной работы было два дня и 15 минут. :) И сидеть, и писать код можно как продуктивно, так и не продуктивно. И, обычно, мы всегда знаем внутри себя - вот конкретно сейчас мы продуктивно сидим, или так, просто сидим... надо ведь сидеть, пытаться работать, вот и сидим. :)
Тут все не так просто, как кажется. Есть такой показатель, как Time-on-Task. Причем на первый взгляд он очень странный. Например, 4 часа Time-on-Task в день — это очень напряженный рабочий день: вам будет казаться, что все время работали не покладая рук. 3 часа — нормальный ритм, меньше — уже не работа, а благодать.

Так что ни о каких 5-6 часах продуктивной работы в день речи идти, в общем случае, не может. Больше 4 часов чистого времени посвящать задаче можно, но нет смысла, поскольку из-за общей утомленности разработчик начинает городить больше ошибок. Другими словами, 4 часа тайм-он-таска — максимальное целесообразное значение.
Полностью согласен. По опыту, именно так и получается.
Да, я тоже так думаю. Если не брать "запойную" работу - тогда у меня бывало больше 10 часов крайне эффективной и напряжённой работы, а более-менее эффективной бывало несколько раз и по 16-18 часов.

Но, с другой стороны, если мы с Вами не сталкивались с "Профессионалами", это ещё не значит, что все кто выбрал этот пункт заблуждаются. :)
А что вы понимаете под "профессионалом" в данном контексте?
То, что написано в пункте "Профессионал:" опроса. В данном контексте. Я действительно не видел людей, которые способны 5-6 часов каждый рабочий день продуктивно заниматься программированием. И никто из моих знакомых программистов таких тоже не знает (по крайней мере они мне о таких не рассказывали). А в более традиционном смысле этого термина, я думаю, практически все участники этого опроса являются профессионалами.

Кстати, если погуглить на тему определения термина "профессионал", можно найти очень много интересного. Например:
Профессионал - опытный пользователь, который не станет форматировать жесткий диск.

Профессионал нужен, чтобы ничего не делалось через анал.

Профессионализм умение оценить меру своей некомпетентности.

Профессионализм - это ежедневная успешная борьба со своей профнепригодностью. А непригодность - это отсуствие или безуспешность такой борьбы.
Вполне может. последние 3 недели просыпаюсь и начинаю писать прерываясь исключительно на покушать и почитать всякую вату. пару тройку дней пил с друзьями. ну а в среднем за последние 3 недели именно по 16 часов в день выходит, но это исключительная ситуация когда засыпаешь с мыслюь о работе и просыпаешься с ней же не по причине того что нужно сдать проект а потому что чертовски интересно. в таких случаях ИМХО и 16 часов в день могут давать плодовитый код. хотя за последний год это первый "запой" :)
от от-то и оно, что "запойный" подход не обеспечивает стабильности... после хорошего запоя потом еще пару дней нужно "остывать" и в итоге среднее время неумолимо стремится к 4-м часам в сутки... иначе голова лопнет...
Зато в "запое" за несколько недель крайне продуктивной работы по 8-16 часов в день пишутся вещи, которые в обычном среднем режиме, работая часа по 4 каждый день, просто не напишешь. Потому, что в "запое" степень погружения в задачу совершенно другая.

Так что я думаю, что оба стиля работы одинаково необходимы, и ни один из них не сможет заменить другой. Иногда нужна обыкновенная, достаточно качественная работа, но стабильная - мечта менеджера. А иногда нужно сделать что-то "выше среднего" уровня, и тогда без "запоя" обойтись не получится - когда нужно "спасать" проект, разработать что-то уникальное или заметно опережающее конкурентов, да и просто справиться со слишком масштабной задачей.
Сдается мне, лидирующая позиция (профессионал) обязана этому своим названием. Всякому приятно так называться :)
Если тут есть программисты, которые зарегистрированы на фрилансе - пишите в личку тут, есть крупный проект, с очень хорошей оплатой.
Sign up to leave a comment.

Articles