Текущий архив: 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