Интересные обсуждения

темы заинтересовавшие velkin

Совершенство против говнокода в программировании

greenpci greenpci
Решил написать сей труд, так как наболело

Классификация программистов


Речь пойдет об успешных специалистах с многолетним опытом, в обязанности которых входит написание кода. Существует две шкалы: уровень ментальных способностей (одаренность) и перфекционизм.

Одаренность


Это свойство определяет способность человека к следующему:

    1) Запоминанию и удержанию в памяти сложных систем объектов.
    2) Скорость работы головного мозга с этими сложными системами.
    3) Организованность и способность к длительной концентрации.

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

Перфекционизм


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

График


Теперь представим признаки программистов на графике в виде четырех четвертей. Одаренность по вертикали и перфекционизм по горизонтали.


<---"Good enough" Перфекционизм-->
Одаренный первая четверть вторая четверть
Нормальный третья четверть четвертая четверть

Вторая и четвертая четверти


Люди из второй четверти, при удачном стечении обстоятельств, добиваются выдающихся успехов. Они могут, даже, стать известными на весь мир, писать книги, изобретать новые языки или быть основателями высокотехничных платформ и библиотек. Я думаю, что такие люди как Деннис Ричи, Страуструп, Линус Торвальдс и Александр Степанов принадлежат второй четверти.

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

Первая и третья четверти


Эти люди чрезвычайно полезны для бизнеса, так как они могут быстро выполнять задачи. Зачастую, время оказывается решающим фактором и продукт проваливается из-за упущенного момента. У меня была такая ситуация, когда мне не удалось продать свой опенсорс проект из-за того, что я начал переход на другую, более совершенную технологию, и реализовал требования на месяц позже. Руководитель, с которым у меня была договоренность, "успел" уволиться и сделка не состоялась. Таким образом, подход "good enough" может быть критичным и его нужно уметь применять.

Из книги I'm feeling lucky, повествующей об образовании компании Google, можно сделать вывод, что Сергей Брин и Ларри Пейдж подходили к программированию своей первой системы поиска, как люди из первой четверти (речь идет только о ее коде). Впоследствии, несовершенный код был переписан в лучшем качестве другими людьми. Другой пример — это известная игра дум. Если вы когда-нибудь видели исходники, вы поймете о чем я говорю. Тем не менее, в обоих случаях, бизнес был более чем успешен и, возможно, перфекционистский подход оказался бы для него губителен.

Негативные стороны первой четверти


Обратной стороной медали оказывается работа первой четверти в команде. Одаренный "good enough" подход может быть особенно вреден. Дело в том, что одаренные люди могут создавать сложные запутанные системы, состоящие из говнокода. Нормальный специалист не смог бы выполнить такую задачу, так как запутался бы в своем говнокоде. Ему пришлось бы использовать подход перфекциониста. Так же, нормальному человеку тяжело поддерживать или вносить изменения в сложных говнокодных системах. Это, конечно, возможно, но требует больше времени. А у перфекциониста еще и вызывает чувство эстетического дискомфорта, который вредит его ранимой психике. Руководители не всегда технические люди и они высоко оценивают только скорость и заметную одаренность первой четверти. Их повышают и ценят. Доводы перфекционистов теряют вес перед бизнесом и системы приобретают больше и больше говнокодной составляющей.

Что делать?


Разделение труда будет прекрасным решением. Перфекционист, со временем, "догоняет" одаренного "good enough" специалиста, при условии, что он имеет возможность создать совершенную систему, в которой легко делать изменения.

Одаренные "good enough" люди, двигаясь по карьерной лестнице, должны понимать и принимать подход перфекционистов, как это делали основатели Google и, уверен, что принял и Джон Кармак. Говорят, что код более поздних версий квейка даже ставится в пример по чистоте и качеству.

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

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

Берегите перфекционистов!
velkin
velkin Сравнительный анализ перфекционизма и подхода "good enough" в программирован
19.04.2015 01:32
G>Теперь представим признаки программистов на графике в виде четырех четвертей.

Так очень любит делать "Стратоплан", везде пихает разделение на четыре части. Самое древнее объяснение подобного рода видел у Фредерика Брукса в книге "Мифический человеко-месяц или Как создаются программные системы".
Abyx
Abyx Сравнительный анализ перфекционизма и подхода "good enough" в программирован
19.04.2015 02:21
Здравствуйте, greenpci, Вы писали:

Линус Торвальдс пишет говнокод на Си. Это очень странный "перфекционизм".
kurchatov
kurchatov
19.04.2015 02:50
Здравствуйте, Abyx, Вы писали:

A>Линус Торвальдс пишет говнокод на Си. Это очень странный "перфекционизм".


Ох, вы неслыханный простофиля!
vsb
vsb
19.04.2015 03:03
Здравствуйте, Abyx, Вы писали:

A>Линус Торвальдс пишет говнокод на Си. Это очень странный "перфекционизм".


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

Хотя с другой стороны это можно считать и аргументом в пользу good enough. Можно сделать сейчас тяп-ляп не боясь, что потом не сможем исправить из-за обратной совместимости. Интересный вопрос на самом деле. Я думаю он выдерживает необходимый баланс для нормального движения вперёд с одной стороны и достаточного качестве кода, чтобы не прогрязть в говнокоде с другой стороны.
diez_p
diez_p Сравнительный анализ перфекционизма и подхода "good enough" в программирован
19.04.2015 04:18
Здравствуйте, greenpci, Вы писали:

G>Решил написать сей труд, так как наболело


Тут надо очень тонко понимать сколько стоит разработка вообще в принципе. Если проект какой-то стартап — то там можно лепить сколько влезет. Если при ошибке от вас может уйти несколько жирных клиентов это вопрос другой. Опять таки на хорошем коде (не идеальный), но хороший. Все пишется быстрее и продукт развивается быстрее. Говнокод — там где либо вообще плевать, что пишите, сам софт УГ, либо нет денег. Если софт востребован и менджмент считает деньги, то там скорее всего с кодом будет все ок. И да идеального решения нет потому, как любой код- это компромисс.
MozgC
MozgC Сравнительный анализ перфекционизма и подхода "good enough" в программирован
19.04.2015 07:12
Интересный анализ, полезная тема.
gandjustas
gandjustas Сравнительный анализ перфекционизма и подхода "good enough" в программирован
19.04.2015 08:27
Здравствуйте, greenpci, Вы писали:


G>Решил написать сей труд, так как наболело


Одаренность настолько редкое явление, что исследование теряет смысл. Я видел более 500 программистов — работал с ними, обучал, собеседовал — не было среди них "одаренных".
Ключевыми являются три фактора — дисциплина и внимательность, понимание проблем решаемых кодом, уровень навыков.
А вот префекционизм и стремление к самовыражению скорее вредные факторы.
neFormal
neFormal
19.04.2015 08:58
Здравствуйте, gandjustas, Вы писали:

G>Ключевыми являются три фактора — дисциплина и внимательность, понимание проблем решаемых кодом, уровень навыков.


но ведь это не противоречит представленному ТС списку.
скорее вы говорите об одном и том же. только тебе для "одарённости" этого кажется мало.
gandjustas
gandjustas
19.04.2015 11:55
Здравствуйте, neFormal, Вы писали:

F>Здравствуйте, gandjustas, Вы писали:


G>>Ключевыми являются три фактора — дисциплина и внимательность, понимание проблем решаемых кодом, уровень навыков.


F>но ведь это не противоречит представленному ТС списку.

F>скорее вы говорите об одном и том же. только тебе для "одарённости" этого кажется мало.

Если воспринимать как данность качества сотрудников, то так и есть. А не рассматривать "одаренность" как бинарную характеристику, которую нельзя изменить, то встает другой вопрос — как развивать ключевые факторы.
Например путем тренировки (точнее сказать дрессировки) можно относительно быстро воспитать качества дисциплинированности и внимательности. Например курсы PSP\TSP это как раз и делают. Он не учит ни бизнесу, ни техническим навыкам, но дает прекрасные результаты. Также можно обучать общим навыкам бизнес-анализа и UX проектирования, что создает хорошее понимание проблем программистами и повышает качество решений с точки зрения потребителей. Ну а технические навыки развивать не просто можно, а нужно всегда.
C0s
C0s
19.04.2015 11:57
Здравствуйте, gandjustas, Вы писали:

G>как развивать ключевые факторы


интровертность (в смысле экстроверта) развиваема?
gandjustas
gandjustas
20.04.2015 12:28
Здравствуйте, C0s, Вы писали:

C0s>Здравствуйте, gandjustas, Вы писали:


G>>как развивать ключевые факторы


C0s>интровертность (в смысле экстроверта) развиваема?


Нет, а при чем тут интровертность?
Дисциплина и внимательность очень развиваемы. Со стороны может показаться, что дисциплинированный и сосредоточенный человек — интроверт, хотя это не так.
Интроверт после некоторого "рабочего периода" пойдет читать фейсбук, а экстраверт — пойдет пить чай и общаться с девушками на ресепшене.

Собственно дисциплина и сила воли как раз позволяют подавлять психофизиологические особенности.
neFormal
neFormal
20.04.2015 06:01
Здравствуйте, gandjustas, Вы писали:

G>Интроверт после некоторого "рабочего периода" пойдет читать фейсбук, а экстраверт — пойдет пить чай и общаться с девушками на ресепшене.


доктор, я делаю и то и другое. что со мной?
greenpci
greenpci Сравнительный анализ перфекционизма и подхода "good e
20.04.2015 12:26
Здравствуйте, gandjustas, Вы писали:

G>>>Ключевыми являются три фактора — дисциплина и внимательность, понимание проблем решаемых кодом, уровень навыков.


ну а как же память, количество одновременных манипулируемых объектов в сознании? Правило 7+-2. Есть такие навыки, как связывание информации, построение маршрута в памяти для быстрого нахождения чего-либо.

G>Если воспринимать как данность качества сотрудников, то так и есть. А не рассматривать "одаренность" как бинарную характеристику, которую нельзя изменить, то встает другой вопрос — как развивать ключевые факторы.


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

И потом, да, я не сторонник теории "чистого листа" и не согласен, что все можно натренировать. У людей есть врожденные таланты — это раз. Что-то можно заложить только с детства (как чистый английский язык без акцента, например) — это два. И для многих этот момент упущен.

Точнее, я думаю, обучиться можно до какой-то степени, и мы постоянно это делаем. Только одаренные люди тоже обучаются, и разрыв будет иметь место всегда.
gandjustas
gandjustas
20.04.2015 12:41
Здравствуйте, greenpci, Вы писали:

G>Здравствуйте, gandjustas, Вы писали:


G>>>>Ключевыми являются три фактора — дисциплина и внимательность, понимание проблем решаемых кодом, уровень навыков.


G>ну а как же память, количество одновременных манипулируемых объектов в сознании? Правило 7+-2. Есть такие навыки, как связывание информации, построение маршрута в памяти для быстрого нахождения чего-либо.


Это все тренируемо.

G>>Если воспринимать как данность качества сотрудников, то так и есть. А не рассматривать "одаренность" как бинарную характеристику, которую нельзя изменить, то встает другой вопрос — как развивать ключевые факторы.


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

Нет смысла, у тебя как раз выпали из рассмотрения факторы "понимания задачи и решения проблем", а также технических знаний. Человек с высокой степенью дисциплины может нагенерить корректный код, в котором никто не разберется просто потому что он не понимает зачем этот код и не обладает знаниями.
Для эксперимента можно взять задачу парсинга текста и дать её программистам.
Те кто знает теорию — напишут таки парсер, особо грамотные — воспользуются либами.
Те кто не знают — нагородят кучу кода, которая вряд ли заработает для всех случаев.
И это независимо от "одаренности" или дисциплинированности.

G>И потом, да, я не сторонник теории "чистого листа" и не согласен, что все можно натренировать. У людей есть врожденные таланты — это раз. Что-то можно заложить только с детства (как чистый английский язык без акцента, например) — это два. И для многих этот момент упущен.

На практике натренировать можно что угодно, но иногда совершенно нецелесообразно.
greenpci
greenpci
20.04.2015 01:03
Здравствуйте, gandjustas, Вы писали:

G>Нет смысла, у тебя как раз выпали из рассмотрения факторы "понимания задачи и решения проблем", а также технических знаний. Человек с высокой степенью дисциплины может нагенерить корректный код, в котором никто не разберется просто потому что он не понимает зачем этот код и не обладает знаниями.


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

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


Т.е. тикет будет закрыт, баг/новая функциональность будет добавлена и тесты пройдут. И с говнокодом все эти профессионалы в итоге разберутся. Хотя, у кого-то это займет больше времени.

Качество кода не входит в задание по двум причинам. Во первых, его нельзя описать формально. Во вторых, ему традиционно уделяют мало внимания в современном fast pace процессе.

G>Для эксперимента можно взять задачу парсинга текста и дать её программистам.

G>Те кто знает теорию — напишут таки парсер, особо грамотные — воспользуются либами.

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

G>Те кто не знают — нагородят кучу кода, которая вряд ли заработает для всех случаев.


Для всех случаев, возможно, напишет перфекционист, а гуд инаф сделает под конкретную проблему в тикете.

G>>И потом, да, я не сторонник теории "чистого листа" и не согласен, что все можно натренировать. У людей есть врожденные таланты — это раз. Что-то можно заложить только с детства (как чистый английский язык без акцента, например) — это два. И для многих этот момент упущен.


G>На практике натренировать можно что угодно, но иногда совершенно нецелесообразно.


Извини, я добавил кое-что к моему ответу пока ты писал свой.

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

neFormal
neFormal
20.04.2015 05:54
Здравствуйте, gandjustas, Вы писали:

G>Если воспринимать как данность качества сотрудников, то так и есть. А не рассматривать "одаренность" как бинарную характеристику, которую нельзя изменить, то встает другой вопрос — как развивать ключевые факторы.


далеко не факт, что всему можно научить.
выдрессировать человека и научить его концентрироваться не так сложно. но растянуть память...
с памятью всё сложно.
помимо объёмов запоминаемого есть ещё скорость извлечения из памяти и свойство получения близких или не очень ассоциаций. последнее очень важно для выработки новых идей.
gandjustas
gandjustas
20.04.2015 08:02
Здравствуйте, neFormal, Вы писали:


F>выдрессировать человека и научить его концентрироваться не так сложно. но растянуть память...

F>с памятью всё сложно.
Погуглите "тренировка памяти" — узнаете много нового.

F>помимо объёмов запоминаемого есть ещё скорость извлечения из памяти и свойство получения близких или не очень ассоциаций. последнее очень важно для выработки новых идей.

Тоже тренируемо.
neFormal
neFormal
20.04.2015 08:07
Здравствуйте, gandjustas, Вы писали:

G>Погуглите "тренировка памяти" — узнаете много нового.


это я знаю, но как-то сложно человека на такое уговорить.
pestis
pestis
20.04.2015 01:18
Здравствуйте, gandjustas, Вы писали:

G>Одаренность настолько редкое явление, что исследование теряет смысл. Я видел более 500 программистов — работал с ними, обучал, собеседовал — не было среди них "одаренных".


Типичный "парадокс выжившего". "Одаренных" программистов в твой дотнет калачом не заманишь.
Aртём
Aртём
20.04.2015 02:01
Здравствуйте, pestis, Вы писали:

P>Типичный "парадокс выжившего". "Одаренных" программистов в твой дотнет калачом не заманишь.

Если инструмент подходит под задачи- почему нет? Вот с windows там да, анально ограниченная ось строго под десктоп, в то время как движение сейчас в бигдате под линухом.
Aртём
Aртём Сравнительный анализ перфекционизма и подхода "good enough" в программирован
19.04.2015 11:23
Здравствуйте, greenpci, Вы писали:

G>Решил написать сей труд, так как наболело


Смени команду/компанию. Например, я за подход "достаточно хорошо", и тем не менее офигеваю, как люди кто за подход "по методологиям" умудряются адски говнокодить. Т.е. корелляции нет никакой, но выбешивает, когда кто-то выносил мозг с правками на код ревью- в то же время вкоммитил чудовище-сон разума и зарелизил (!) это в продакшен.
bazis1
bazis1 Сравнительный анализ перфекционизма и подхода "good enough" в программирован
20.04.2015 12:41
в общем и целом согласен, но есть несколько моментов:

G>Назовем таких людей одаренными. Одаренные люди быстрее разбираются с большим количеством кода, "налету схватывают" пояснения других специалистов и быстро принимают решения. В связи с этим, они блестяще выглядят на митингах, имеют высокую производительность труда и часто добиваются успехов в карьере.

На практике, скорее наоборот, ИМХО. Одаренных людей меньшинство, и большинство их не любит, считает выскочками и побаивается, как конкурентов. Поэтому если одаренным не удается создать свой бизнес и уйти с "командного" уровня, то они "все понимают" и начинают претворяться серыми середнячками, чтобы никого не нервировать.

А чтобы блестяще выглядеть на митингах, нужно просто сменить фокус с "писать хороший код" на "пиарить себя на митингах", не более того.

G>Люди из второй четверти, при удачном стечении обстоятельств, добиваются выдающихся успехов. Они могут, даже, стать известными на весь мир, писать книги, изобретать новые языки или быть основателями высокотехничных платформ и библиотек. Я думаю, что такие люди как Деннис Ричи, Страуструп, Линус Торвальдс и Александр Степанов принадлежат второй четверти.

ИМХО, известность приносят не программерские навыки, а умение и желание заниматься самопиаром. Ходить по конференциям, писать статьи и на каждом кругу кричать о своих достижениях. Быть своеобразным эго-маньяком. Умение кодить тут вторично.

G>Одаренные "good enough" люди, двигаясь по карьерной лестнице, должны понимать и принимать подход перфекционистов, как это делали основатели Google и, уверен, что принял и Джон Кармак. Говорят, что код более поздних версий квейка даже ставится в пример по чистоте и качеству.

G>И главное понять, что существует долгосрочная перспектива, а не только экономия и скорость, на которую смогут положительно повлиять перкционисты.
ИМХО, истина где-то посередине. Место чистых перфекционистов — работа постдоками и университетах за зарплату квалифицированного электрика и работа над идеальным кодом, которым часто кроме них самих никто не пользуется. Место чистых good enough — прототипирование вещей для демонстрации. Для создания и поддержания успешного продукта, ИМХО, нужно умение сочетать оба подхода и знать, где какой использовать.

По моему опыту, продукт обычно развивается так:
1) Берется идея. Идея быстро прототипируется в режиме good enough, релизится версия 1.0. Если быть здесь перфекционистом, будет late to market.
2) Дальше начинается органический рост. Востребованные фичи начинают расширяться и обрастать функцоналом, невостребованные медленно отмирают, новые ниши заполняются новыми фичами. Здесь важно:
а) быть "reasonable перфекционистом" там, где идет расширение. т.е. один раз вложиться в good enough модель абстрации, которую потом будет легко расширять, но не переусердствовать. часто функционал из предыдущей версии полностью переписывается, чтобы вписаться в новую модель. но опять же, надо бить себя по рукам и ограничивать время. иначе можно бесконечно работать над созданием идеальной модели, так и не дойдя до наполнения ее функционалом.
б) быть строго "good-enough" там, где идет создание новых экспериментальных фич. половина из них элементарно "не взлетит" и перфекционизм в их создании отправится прямиком в мусорное ведро.

G>Руководителям нужно оценивать не только скорость, но и качество труда и уметь правильно расставить людей и воспользоваться их талантами.

Вы где-нибудь видели руководителей, которых успех проекта и расстановка людей "по талантам" интересовали сильнее подковерных политических игр с вышибанием нелояльных и окружением себя теми, кто не возражает? Это еще не говоря про комплексы, личные симпатии и жажду власти. Я подозреваю, что их больше в маленьких компаниях, где основатель сам себе менеджер и сам себе инвестор, но время таких компаний, ИМХО, прошло. Так что, увы, Ваши рассуждения хороши для книжек и университетских лекций по менеджменту, но реальный мир гораздо грязнее.
greenpci
greenpci
20.04.2015 01:26
Здравствуйте, bazis1, Вы писали:

B>На практике, скорее наоборот, ИМХО. Одаренных людей меньшинство, и большинство их не любит, считает выскочками и побаивается, как конкурентов. Поэтому если одаренным не удается создать свой бизнес и уйти с "командного" уровня, то они "все понимают" и начинают претворяться серыми середнячками, чтобы никого не нервировать.


Это ты говоришь про одаренных перфекционистов. Одаренный гуд инаф не будет делать никому никаких замечаний или спорить, и будет соглашаться с руководством во всем. Ведь его руководство гуд инаф, а его цель, вообще, не технологии, а дайвинг или лыжный спорт. Но побаиваться будут, как конкурентов, это да, и ставить палки в колеса. Без этого никак.

B>Вы где-нибудь видели руководителей, которых успех проекта и расстановка людей "по талантам" интересовали сильнее подковерных политических игр с вышибанием нелояльных и окружением себя теми, кто не возражает? Это еще не говоря про комплексы, личные симпатии и жажду власти. Я подозреваю, что их больше в маленьких компаниях, где основатель сам себе менеджер и сам себе инвестор, но время таких компаний, ИМХО, прошло. Так что, увы, Ваши рассуждения хороши для книжек и университетских лекций по менеджменту, но реальный мир гораздо грязнее.


Да, проработал с таким четыре года. В итоге, он разругался с руководством и ушел в свой бизнес, не связанный с программированием. Но ему уже за пятьдесят было.
bazis1
bazis1
20.04.2015 04:34
Здравствуйте, greenpci, Вы писали:

G>Здравствуйте, bazis1, Вы писали:


G>Это ты говоришь про одаренных перфекционистов. Одаренный гуд инаф не будет делать никому никаких замечаний или спорить, и будет соглашаться с руководством во всем.

Это ты не работал в команде перфекционистов с таким же начальником. Когда весь день разговоры о коде, как этот код должен выглядеть, какие правила и процедуры должны соблюдаться и т.п. И как простейший коммит люди могут неделями мариновать в ревью, дабы достичь идеала. И пусть весь мир подождет...
G>Ведь его руководство гуд инаф, а его цель, вообще, не технологии, а дайвинг или лыжный спорт. Но побаиваться будут, как конкурентов, это да, и ставить палки в колеса. Без этого никак.
Это тогда дурак, а не прагматист. Если он сосредоточится на хобби, полностью забив болт на работу, налаживание связей (или поддержание скиллов) и самопиар, то следующим местом его работы будет макдак.

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

Хе-хе, вот-вот. Тенденция на лицо. Остаются на руководящих постах ровно те, кто играет грязно.
senglory
senglory
20.04.2015 06:29
Здравствуйте, bazis1, Вы писали:

G>>Ведь его руководство гуд инаф, а его цель, вообще, не технологии, а дайвинг или лыжный спорт.

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

Простите, с каких пор человек "с 9-18" дурак?
neFormal
neFormal
20.04.2015 09:38
Здравствуйте, senglory, Вы писали:

S>Простите, с каких пор человек "с 9-18" дурак?


с тех пор, как конкуренция стала как-то влиять на жизнь.
senglory
senglory
20.04.2015 10:26
S>>Простите, с каких пор человек "с 9-18" дурак?

F>с тех пор, как конкуренция стала как-то влиять на жизнь.


Простите, а что, человек обязан жить работой?
neFormal
neFormal
20.04.2015 10:41
Здравствуйте, senglory, Вы писали:

S>>>Простите, с каких пор человек "с 9-18" дурак?

F>>с тех пор, как конкуренция стала как-то влиять на жизнь.
S>Простите, а что, человек обязан жить работой?

эволюции как-то пофиг.
bazis1
bazis1 Сравнительный анализ перфекционизма и подхода "good e
22.04.2015 04:47
Здравствуйте, senglory, Вы писали:

S>>>Простите, с каких пор человек "с 9-18" дурак?


F>>с тех пор, как конкуренция стала как-то влиять на жизнь.


S>Простите, а что, человек обязан жить работой?

что интересно, подобная аргументация почти всегда исходит от 40-50-летних холостяков, не сумевших найти ресурсы, чтобы создать семью, вырастить детей и улучшить свое положение в обществе по сравнению с тем, что досталось от родителей. потому что как только человек себе подобные цели ставит, становится очевидным, почему подход "тупить в котиков с 9 до 18" не работает.
1777
1777 Сравнительный анализ перфекционизма и подхода "good enough" в программирован
21.04.2015 07:24
Здравствуйте, greenpci, Вы писали:

G>Речь пойдет об успешных специалистах с многолетним опытом, в обязанности которых входит написание кода. Существует две шкалы: уровень ментальных способностей (одаренность) и перфекционизм.

хммм, интересно, а что если — когда надо быстро — я делаю быстро и "чтоб работало", а когда есть время — занимаюсь перфекционзимом?
greenpci
greenpci
22.04.2015 04:35
Здравствуйте, 1777, Вы писали:

1>хммм, интересно, а что если — когда надо быстро — я делаю быстро и "чтоб работало", а когда есть время — занимаюсь перфекционзимом?


Я же говорю "Психологическая предрасположенность". Мы все можем заставить себя временно изменить поведение согласно обстоятельствам. Только, при одинаковых обстоятельствах, одному надо себя заставлять, а другой, как "рыба в воде". И еще объясню по другому. Когда принуждение (необходимость) спадает, люди возвращаются к своему типичному поведению.
namespace
namespace Сравнительный анализ перфекционизма и подхода "good enough" в программирован
22.04.2015 07:47
G>

Одаренность

G>Это свойство определяет способность человека к следующему:
G>

    G>1) Запоминанию и удержанию в памяти сложных систем объектов.
    G>2) Скорость работы головного мозга с этими сложными системами.
    G>3) Организованность и способность к длительной концентрации.
    G>

Может, наоборот — качества определяют способность?
Личностные качества определяют предрасположенность к роду занятия.
Одаренность — это то, что дано нам от рождения, но перечисленные выше элементарно приобретаются тренировкой.
Разве что, у мозга нет такого свойства, как 'скорость работы'.

И, как сказали выше, каждая из характеристик должна соответствовать своему конкретному случаю.
Для этого в команду набирают людей с разным набором черт. Это классика менеджмента, можно найти в любой книжки по управлению персоналом.
Basil2
Basil2 Сравнительный анализ перфекционизма и подхода "good enough" в программирован
30.04.2015 03:23
Здравствуйте, greenpci, Вы писали:

G>Одаренные "good enough" люди, двигаясь по карьерной лестнице, должны понимать и принимать подход перфекционистов, как это делали основатели Google и, уверен, что принял и Джон Кармак. Говорят, что код более поздних версий квейка даже ставится в пример по чистоте и качеству.

Вот только "поздние версии квейка" мало кто знает. Можно, там как раз и не стоило перфячить?