о скорости работы программиста
Jul. 25th, 2010 09:10 amНа HN зашел разговор (англ.) о том, насколько быстро люди пишут код, и как лучше организовывать свою работу, чтобы быстрее получалось. Я написал примерно следующее. Мне кажется, что начиная с определенного уровня (исключая некомпетентных людей, которые просто не понимают, что делают) вопрос о том, кто пишет код быстрее, кто медленнее, и почему - тайна, и у нас нет на него никакого ответа. Это необязательно соответствует уровню знаний и опыта, и необязательно соответствует чертам характера, и необязательно соответствует качеству кода, и необязательно соответствует языку программирования.
Кто-то пишет значительно быстрее других вокруг него, но зато редкими рывками, и в итоге оказывается менее продуктивным. Кто-то другой пишет значительно быстрее все время. Нередко он считает, что у него есть "система", но нелегко оценить объективно, насколько "система" действительно помогает ему, а насколько он ее подогнал постфактум, чтобы объяснить это себе. Кто-то другой с такой же "системой" ничего не добьется; а он сам, может, и с другой "системой" получит такие же результаты.
Индивидуально - у каждого в итоге складывается интуиция о том, как лучше работать. Думаю, обычно эта интуиция верна, но все равно полезно попробовать другие способы организовать себя, и проверить, не получается ли лучше. А коллективно, о всех - ничего определенного мы не знаем.
Кто-то пишет значительно быстрее других вокруг него, но зато редкими рывками, и в итоге оказывается менее продуктивным. Кто-то другой пишет значительно быстрее все время. Нередко он считает, что у него есть "система", но нелегко оценить объективно, насколько "система" действительно помогает ему, а насколько он ее подогнал постфактум, чтобы объяснить это себе. Кто-то другой с такой же "системой" ничего не добьется; а он сам, может, и с другой "системой" получит такие же результаты.
Индивидуально - у каждого в итоге складывается интуиция о том, как лучше работать. Думаю, обычно эта интуиция верна, но все равно полезно попробовать другие способы организовать себя, и проверить, не получается ли лучше. А коллективно, о всех - ничего определенного мы не знаем.
no subject
Date: 2010-07-25 07:01 am (UTC)http://forum.ixbt.com/topic.cgi?id=26:40579
no subject
Date: 2010-07-25 07:05 am (UTC)no subject
Date: 2010-07-28 07:23 pm (UTC)Насчет быстрых рывков. Если пытаюсь писать как можно быстрее и эффективней, мозг быстро утомляется. Хоть это и производит впечатление на окружающих, но большой объем работы так выполнить невозможно.
Прямая аналогия между кроссом и стометровкой.
(no subject)
From: (Anonymous) - Date: 2010-07-28 07:25 pm (UTC) - Expand(no subject)
From:(no subject)
From:no subject
Date: 2010-07-25 07:03 am (UTC)no subject
Date: 2010-07-25 09:59 am (UTC)no subject
Date: 2010-07-25 07:08 am (UTC)no subject
Date: 2010-07-28 01:54 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2010-07-25 07:59 am (UTC)К счастью, это лечится - я видел людей, у которых полностью прошла потребность работать только в особом flow, когда они попали в другое окружение, где это просто не было принято и вызывало усмешки.
Второй аспект - "писание кода" это не одна активность, а много-много разных, с производительностью отличающейся на порядки. И тысяча и одна строчка за день могут быть и хорошим и плохим результатом, в зависимости что писать. И, я думаю, это все понимают, но почему-то продолжают обсуждать и сравнивать.
no subject
Date: 2010-07-25 08:04 am (UTC)ну и с качеством написанного то же самое - есть граф толстой, и есть армия менее именитых его коллег :о))
no subject
Date: 2010-07-25 08:32 am (UTC)1) Скорость писания кода, сама по себе. В одной комнате могут быть два человека, у которых эта скорость отличается в 100 раз буквально. Скажем, один напишет qsort за 5 минут, другой будет отлаживать ее 2 часа.
2) Скорость решения поставленной задачи. Увы, довольно слабо коррелирует с первым пунктом.
По моим наблюдениям, имеются два характерных класса разработчиков:
а) исключительно внимательные к мелочам - они быстро пишут отличный код, но очень трудно видят общую картину проекта. Top-level именения в проекте, нарушающие стройную картипну имеющегося кода воспринимается ими очень тяжело.
б) видящие общую картину - они отлично решают задачу "в целом", но неспособны проставить набор флагов в вызове API.
Увы (3 раза), хороший сплав этих качеств встречается исключительно редко... Но попадаются хорошо слаженные пары а) и б).
no subject
Date: 2010-07-25 11:26 am (UTC)У каждого свой стиль.
no subject
Date: 2010-07-29 06:25 pm (UTC)Какую им вообще выбирать работу, где они приживутся?
(no subject)
From:no subject
Date: 2010-07-25 12:34 pm (UTC)сам, к сожалению, могу сосредоточиться на коде буквально на несколько минут. после чего следует релаксация и новый приступ. правда в таком режиме могу писать довольно долго.
есть один знакомый программист, который колотит не прерываясь, но при этом "на гора" выдает код вполне обычного объема и качества.
no subject
Date: 2010-07-25 01:46 pm (UTC)позвольте полюбопытствовать
Date: 2010-07-25 02:41 pm (UTC)каково соотношение времени на написание и отладку?
Re: позвольте полюбопытствовать
From:Re: позвольте полюбопытствовать
From:Re: позвольте полюбопытствовать
From:no subject
Date: 2010-07-29 06:28 pm (UTC)Я уверен, что это относится к вашему непониманию явления. Вот, на мой взгляд, на это надо обратить внимание. А то что вы написали - это типовая компенсация непонимания сути. Когда человек именно не понимает, он предпочитает получить "удовольствие", списав причину непонятого явления на что-то, находящееся "за пределами". Это, возможно, даже вредно и опасно.
Поэтому жду от вас понимания и объяснения. Удачи вам.
no subject
Date: 2010-07-25 02:41 pm (UTC)HOW?
no subject
Date: 2010-07-25 04:41 pm (UTC)no subject
Date: 2010-07-25 06:50 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2010-07-26 04:31 am (UTC)(no subject)
From:no subject
Date: 2010-07-28 02:01 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2010-07-26 11:15 pm (UTC)no subject
Date: 2010-07-28 02:24 pm (UTC)no subject
Date: 2010-07-28 02:26 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2010-08-05 09:12 pm (UTC)