Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

Вопросы производительности труда   Найти похожие ветки 

 
тихий вовочка ©   (2005-08-25 07:12) [0]

Какова должна быть средняя производительность труда программиста?
Столкнулся с такой ситуацией: пришел на собеседование на C# junior-developer"а, мне дали тестовое задание. Срок исполнения - 1,5 рабочих дня (чистого времени)
Вот задание:
Разработать редактор для баз MS SQL, позволяющий подключаться к произвольной БД, считывать названия таблиц и для каждого типа данных свой редактор делать (т.е. наследника колонки)
Это и правда, что такое пишется за 1,5 дня? Я потратил 3. Стоит ли мне тогда работать программистом?


 
Skyle ©   (2005-08-25 07:17) [1]

> Разработать редактор для баз MS SQL, позволяющий подключаться
> к произвольной БД, считывать названия таблиц


Это просто.

>  для каждого типа данных свой редактор делать (т.е. наследника
> колонки)

А вот этого не понял. Это как?


 
КаПиБаРа ©   (2005-08-25 08:28) [2]

А на что столько времени потратил (в часах)?


 
Gero ©   (2005-08-25 08:38) [3]

Смотря что такое колонка.
Наверное, написание редакторов заняло не менее 95% времени.
А какие именно редакторы требовалось написать?


 
Ozzya   (2005-08-25 08:45) [4]

кажется
400-500 строк отлаженного кода в день?


 
Skyle ©   (2005-08-25 09:32) [5]

> [4] Ozzya   (25.08.05 08:45)
Да, 500 строк/день...


 
КаПиБаРа ©   (2005-08-25 09:36) [6]

Ozzya   (25.08.05 8:45) [4]
Skyle ©   (25.08.05 9:32) [5]

Неужели коэффициент сложности кода/алгоритма не учитывается?


 
Sergey13 ©   (2005-08-25 09:37) [7]

Иногда, даже не написав ни строчки кода, кажется, что гору своротил.
Иногда наоборот.


 
Игорь Шевченко ©   (2005-08-25 09:40) [8]

Ozzya   (25.08.05 08:45) [4]


> кажется
> 400-500 строк отлаженного кода в день?


Это невозможно. В месяц - это я еще понимаю.


 
stud ©   (2005-08-25 09:41) [9]


> 400-500 строк отлаженного кода в день?

а строки какие? 256 символов включая пробелы?
пустая строка тоже строка, причем отлаженная))


 
Seg   (2005-08-25 10:16) [10]

Если ты за 3 дня все-же сделал работу, то идти работать программистом уже можно.


 
Rule ©   (2005-08-25 10:17) [11]

главное отладить строку номер 18 , а остальное ерунда


 
Skyle ©   (2005-08-25 10:17) [12]

Я не знаю, откуда Ozzya берёт эту цифру, я знаю, откуда её беру я ;-)

Когда-то достаточно давно я читал книжицу по ассемблеру, и там было написано, что-то типа "профессиональные программисты пишут по 500 строк отлаженного кода в день". В принципе, некоторому абстрактному профессиональному программисту написать 500 строк на ассемблере наверное можно. По крайней мере у меня это не вызывает особых сомнений.
Сейчас ситуация несколько иная, но из тех же 500 строк можно получить гораздо больше отдачи.

В принципе, если идёт прямая разработка (не изменение текущего кода), то 500 строк в день (и даже больше) получить реально.

Другая сторона вопроса состоит в том, что "готов ли я признать это мерилом производительности?". Ответ - нет. Я считаю, что эта фраза из той же серии, что и "винт любого размера забивается за 2 недели" - т.е. "постулатов новейшей истории". Физики шутят.

Только и всего.

> [8] Игорь Шевченко ©   (25.08.05 09:40)

Выше уже объяснил, что 500 строк в день - цифирь достижимая.
Другой разговор, что не каждый день.

> [6] КаПиБаРа ©   (25.08.05 09:36)
Да, не каждый день, потому что иногда ещё думать надо. А время на раздумье в строках не измеришь.

В общем, думаю, что моё отношение к этой линейке понятно.

По сабжу: Если "для каждого типа данных свой редактор делать" - это то, что я думаю (Перекрыть EditButtonClick и в зависимости от типа данных в отображаемом поле показывать свой редактор), то это делается в пределах одного дня (максимум).


 
alpet ©   (2005-08-25 10:17) [13]

Имхо лучше практически проверить, если будешь не успевать, соответсветственно санкции пойдут, вплоть до увольнения.


 
Иксик ©   (2005-08-25 10:25) [14]


> Ozzya   (25.08.05 08:45) [4]


> Skyle ©   (25.08.05 09:32) [5]

Я слышал про 10-20 :). Если вообще можно таким образом что-либо измерить...


 
Mystic ©   (2005-08-25 10:29) [15]

Ну... во первых, метрики легко обыгрываются... Я бы с удовольствием держал программиста, который бы выдавал -100 строчек кода в день, т. е. за каждый день сокращал количество строк кода на сто, без потери функциональтности. Польза от него, имхо, была бы больше, чем от двух программисто по 500 строчек кода в день :)

Я не понимаю людей, которые хвалятся размером своих программ. Очень часто такую же функциональность можно реализовать куда меньшим числом строк кода. У меня в правтике был случай, когда 500 строчек кода были заменены одной, но более гибкой :)

К тому же, не всегда ясно, что писать :) Если целый ряд задач, где надо на 80% думать с листом бумаги, формулами, ... и 20% кодировать. Скажем, н апрошлой работе я полтора месяца вообще не колировал, сидел в MATLAB-е и думал :)


 
Ozzya   (2005-08-25 10:46) [16]


> Я не знаю, откуда Ozzya берёт эту цифру, я знаю, откуда
> её беру я ;-)
>
> Когда-то достаточно давно я читал книжицу по ассемблеру,
> и там было написано, что-то типа "профессиональные программисты
> пишут по 500 строк отлаженного кода в день".

Да ;)
то ли Скэнлон, то ли П. Нортон


 
Skyle ©   (2005-08-25 10:51) [17]

> [15] Mystic ©   (25.08.05 10:29)
Это в меня камень? ;-)
Прошу отметить, что я нигде
1. не призывал долбить по 500 строк кода
2. не говорил, что думать не надо, а долбить, долбить и долбить.

В общем, я не собираюсь защищать шутку, при расписывании которой я (возможно!) употребил некоторые слова, за которые можно зацепиться и превратно истолковать...;-)

Возможно некоторого пояснения требует моя фраза

> В принципе, если идёт прямая разработка (не изменение текущего
> кода), то 500 строк в день (и даже больше) получить реально.


Поясню. Есть форма, в ней несколько гридов, на каждый по запросу, и не всегда тривиальному. Даже если не брать во внимание автогенерируемый средой код, то код формы + тексты запросов вполне реально набрать 500 строк.
Никто же не сказал, что это всё должно быть на Delphi... ;-)


 
Игорь Шевченко ©   (2005-08-25 10:52) [18]

Skyle ©   (25.08.05 10:17) [12]


> Когда-то достаточно давно я читал книжицу по ассемблеру,
> и там было написано, что-то типа "профессиональные программисты
> пишут по 500 строк отлаженного кода в день".


Выбрось книжку в корзину


 
Polevi ©   (2005-08-25 10:53) [19]

500 строк в день, фи..
хорошая машинистка 300 символов в минуту вроде


 
Ozzya   (2005-08-25 10:57) [20]


> Игорь Шевченко ©   (25.08.05 10:52) [18]
> Skyle ©   (25.08.05 10:17) [12]
>
>
> > Когда-то достаточно давно я читал книжицу по ассемблеру,
>
> > и там было написано, что-то типа "профессиональные программисты
>
> > пишут по 500 строк отлаженного кода в день".
>
>
> Выбрось книжку в корзину

Зачем?
Для начала 90-х великолепные книги по ссемблеру. Да и сейчас можно почитать.


 
Skyle ©   (2005-08-25 10:59) [21]

> [18] Игорь Шевченко ©   (25.08.05 10:52)
> Выбрось книжку в корзину
Да давно уже...

Кстати, странно, что вы не слышали этой шутки, она пришла, так сказать, из вашего времени...:)
Собственно я и поддержал её только из расчёта, что о ней все знают.....
Глупо как-то получилось..


 
stone ©   (2005-08-25 11:04) [22]


> Polevi ©   (25.08.05 10:53) [19]
> 500 строк в день, фи..
> хорошая машинистка 300 символов в минуту вроде

300 символов = 5 строк :))
по нормам журналистики
1 строка = 60 символов
1 страница = 50 строк


 
TUser ©   (2005-08-25 11:10) [23]

Когда-то я задал вопрос о производительности в строчках кода. Сам перед этим написал на неделю 1200 строк, + пришлось думать, как все это лучше организовать и изучать какие-то алгоритмы, которые я раньше не знал. Своей производительности мне никто таки не сказал.


 
Marser ©   (2005-08-25 11:13) [24]

Мерять продуктивность строками это круто :-)

Я в начале этого месяца присел за один свой 76 кб-й модуль и через полтора часа он весил уже около 70-ти. При этом функциональность нисколько не пострадала, зато поднялась удобочитаемость. А ведь до того одна сравнительно не сложная процедура занимала 160 строчек.


 
TUser ©   (2005-08-25 11:13) [25]

Загадка в тему

Вася Хакерицкий пишет 2 строчки кода в секунду. А Катя Ламерицкая - одну строчку кода в 10 секунд. Вася делает одну ршибку на 20 строчек, а Катя - 20 ошибок в каждой строчке. Задачу они решают одну и ту же. Кто из них быстрее закончит отлаживать программу?


 
Marser ©   (2005-08-25 11:15) [26]

Marser ©   (25.08.05 11:13) [24]
... После чегодобавил ещй немного функциональности и качественно откомментировал. Вышло 82 кб :-)


 
alpet ©   (2005-08-25 11:17) [27]

TUser ©   (25.08.05 11:10) [23]
Не меряется производительность труда программиста в строчках исходного кода. Задач помимо кодирования всегда находится много - разработка алгоритма, проектирование, отладка, тестирование, ремастеринг, документация кода и т.д. И все они могут занимать произвольное время, в зависимости от соответствия уровня проф. готовности программиста к задаче.


 
Skyle ©   (2005-08-25 11:21) [28]

> [27] alpet ©   (25.08.05 11:17)
> Не меряется производительность труда программиста в строчках
> исходного кода


Зато я слышал, что у кого-то меряется зарплата. По крайней мере раньше так было...


 
Игорь Шевченко ©   (2005-08-25 11:24) [29]

Marser ©   (25.08.05 11:13) [24]


> Мерять продуктивность строками это круто :-)


Тем не менее, серьезные люди за рубежом меряют.

Читать http://webdev.lenagas.ru/tutorial/brooks/VIII.htm до просветления.


 
alpet ©   (2005-08-25 11:26) [30]

Skyle ©   (25.08.05 11:21) [28]

Зарплата определяется обычно нежеланием руководства потерять специалиста. Это нежелание зависит впервую очередь от заменяемости данного специалиста, на менее большое з/п.


 
Skyle ©   (2005-08-25 11:28) [31]

>  [30] alpet ©   (25.08.05 11:26)
Путаешь подходы.
Они несовместимы.


 
Marser ©   (2005-08-25 11:30) [32]

Игорь Шевченко ©   (25.08.05 11:24) [29]
Знаю. Но в общем случае для этого нужны строгие правила. А так...
if
(
(smth
 =
 smth2
)
and
(
 smth3
 >
 smth4
)
)
or
(
 smth5
 <
 smth6
)
     then


 
boriskb ©   (2005-08-25 11:33) [33]

Игорь Шевченко ©   (25.08.05 11:24) [29]
Тем не менее, серьезные люди за рубежом меряют.


Шибко напрягся, что б понять - как это?
Наверное так:
1) Большой срок (месяцами, а то и годами должен измеряться)
2) Не маленький колектив.
3) Берется среднее

Тогда имеет смысл.
Перечитываем. "Мифический человеко-месяц"
Одного человека в день мерять - глупость получиться.
Бывают и дни и недели, когда программист ни строчки не пишет - зарплату не платить? :)


 
Игорь Шевченко ©   (2005-08-25 12:23) [34]

boriskb ©   (25.08.05 11:33) [33]

Разумеется, берутся усредненные оценки. Поденно никто не оценивает :)


 
Alex Konshin ©   (2005-08-25 12:58) [35]

Любые сроки нужно умножать на e или pi.


 
Alex* ©   (2005-08-25 14:07) [36]

http://cityref.ru/prosmotr/11506-6660.htm

Вот немного устаревшее описание ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ РАЗРАБОТКИ И ПРИМЕНЕНИЯ ПРОГРАММНЫХ СРЕДСТВ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Расчет там идет во многих местах от количесва машинных команд.

P.S.По моему у большинства программистов повременная оплата труда по окладу. А если у кого-то сдельно повременная то никак не измеряется в строках скорее решении поставленных задач. ИМХО


 
TUser ©   (2005-08-25 15:43) [37]

Тут вспомнил. В одной программе видел такое

case Command[1] of
 "c":
   case (Command[1]) of
     "o":
       case (Command[2]) of
         "s": // ...
         "m": // ...
         end;
     "a":
       if Command = "..." then
         Proceed<...>Command;
     end;
 "d": // ...
 "s": // ...
 end;

Это был синтаксический анализатор, в этом конкретно месте программы решала - какую команду ввел пользователь. Команд она поддерживает много, все эти вложенные switch"и занимали страниц наверное, 10 (не распечатывал, конечно, но много). Все тоже самое можно записать короче в сто раз.


 
КаПиБаРа ©   (2005-08-25 15:50) [38]

http://russian.joelonsoftware.com/Articles/HighNotes.html


 
Юрий Зотов ©   (2005-08-25 16:06) [39]

Традиционно, наш программист - это не просто кодер (за что, видимо, они и ценятся). Мерять в строчках производительность труда чистого кодера - ну, наверное, это еще можно - но в чем измерить производительность мозгов?


 
Alex* ©   (2005-08-25 16:10) [40]


> но в чем измерить производительность мозгов?

В килограммах на объем проделанной работы. :о)


 
Alex* ©   (2005-08-25 16:12) [41]


> но в чем измерить производительность мозгов?

А если серьезно. Наверно в эфективности решения поставленных задач. Правда тогда задачам придется задать скалу сложности. ИМХО.


 
тихий вовочка ©   (2005-08-25 22:26) [42]

Выложил эту задачку  - http://csharp.nm.ru/dbviewer.zip
Сколько подобная писюлька должна отнимать времени на проектирование и кодирование?


 
Marser ©   (2005-08-25 22:34) [43]


> Alex Konshin ©   (25.08.05 12:58) [35]
> Любые сроки нужно умножать на e или pi.

Когда-то тут слышал красивую фразу, о том, что пчасто риходится решать задачи за n-4 при том, что требуется n+2 времени :-)


 
Defunct ©   (2005-08-25 23:02) [44]

> Skyle ©   (25.08.05 10:17) [12]
Гы, на ассемблере 500 строк/день это мало.

> Игорь Шевченко ©   (25.08.05 10:52) [18]
порой 700 строк в день норма, а бывает и 1000, когда проект горит. Опять же это асм и в строке может быть либо 1 команда, либо 1 метка, либо объявлена 1 константа или переменная.


 
Defunct ©   (2005-08-25 23:04) [45]

> Alex Konshin ©   (25.08.05 12:58) [35]
> Любые сроки нужно умножать на e или pi.


Или возводить в квадрат :)


 
Slym ©   (2005-08-26 06:14) [46]

Два варианта:
1. Маленькая конторка пишет "смотрелку" графических файлов, на ASM по 1000 строк коду в день на человека. Стоимость программы 5 баксов, (купят ее ну 5 тыс. чел) итого 25 тыс., программеру заплатят 15тыс. = доход 10тыс.
2. Не маленкая контора пишет АРМ для бухов, или для сталелетейного прова. на Delphi. по 100 сток в день. Стоимость программы 15000 баксов +5000 внедрение, купят ее 10 заводов итог 200тыс$ заплатят программерам 50 тыс.
на поддержке еще 20тыс$

Суть: Стоимость строки кода (если в них измерять) должна быть пропорциональна стоимости готового проекта

Нынче модно: "Стоимость владения"
1. Контора купила программу на 15т$ + 5т$ внедрение + 1т$ суппорт. (21т и никаких проблем)
2. Контора наняла программера написать программу 2т$ в мес. писал он ее 2 мес, доделывал еще 2, доку делал 1 мес. бегал в контору отвечать на вопросы, его дважды пытальсь уволить, но никто не соглашался доделывать проект. пришлось нанять 2 программиста на время, а первого принять в штат на постоянный оклад.

Кто приобрел программу выгодней?


 
Думкин ©   (2005-08-26 06:22) [47]

Уже писал. был период в 2 месяца, когда в среднем по 500 строк выдавал в день.
Тот период считаю одним из самых неудачных и непроизводительных в своей жизни. Кроме опыта - никогда больше так не делать.


 
iZEN ©   (2005-08-26 18:16) [48]

Интересная книжка вышла: "Человеческий фактор: успешные проекты и команды", Том Демарко, Тимоти Листер
Издательство: Символ-Плюс
Объём: 256 стр.
Год издания: 2005 г.
ISBN: 5-93286-061-8


 
Alexander Panov ©   (2005-08-26 18:22) [49]

тихий вовочка ©   (25.08.05 22:26) [42]
Сколько подобная писюлька должна отнимать времени на проектирование и кодирование?


Первые прикидки - 1 день.
Законченный проект - 2-3 дня.


 
Prohodil Mimo ©   (2005-08-29 00:06) [50]

Mystic ©   (25.08.05 10:29) [15]
Я бы с удовольствием держал программиста, который бы выдавал -100 строчек кода в день


Imeju opit. Dali projekt napisanij kem-to, razmerom 76 tis strok. za 2 nedeli sokratil kol-vo do 25 tis. strok, prichom s dobavlenijem novih vozmozhnostej sistemi.

Proceduri otpechatannije na printere iz delphi raskladival na polu, v dlinu metrov po 5 (blago kabinet bil metrov 15 v dlinu), zatem, razobravshis" chto k chemu umen"shal proceduru do meneje odnogo lista :o)

PS. izvinjajus" za translit, na etom kompe klava bez russkih bukv.


 
Игорь Шевченко ©   (2005-08-29 10:23) [51]

Defunct ©   (25.08.05 23:02) [44]


> порой 700 строк в день норма, а бывает и 1000, когда проект
> горит. Опять же это асм и в строке может быть либо 1 команда,
> либо 1 метка, либо объявлена 1 константа или переменная.


Все равно, это write-only код и место ему в корзине чаще всего.



Страницы: 1 2 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.042 c
14-1125639886
palva
2005-09-02 09:44
2005.09.25
Вы пьете вино из картонных коробок?


2-1124013084
Гость22
2005-08-14 13:51
2005.09.25
Есть дата в виде 14.08.2005 Как переделать на 14/08/2005


14-1125088645
ronyn
2005-08-27 00:37
2005.09.25
Что означают в Делфи разделы privat, public.


14-1125859719
ArtemESC
2005-09-04 22:48
2005.09.25
Что за чёрт???


2-1124276233
Валя
2005-08-17 14:57
2005.09.25
Ну почему мне проще написать ...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский