Как стать автором
Обновить

Комментарии 48

Люди разные, способности у них тоже разные. Кто- то может поднять штангу в 300 кг, а вот бег на 100 метров ему не дается.

Я вот знаю человека, который по продуктивности, в силу возраста, хуже всех. Но без него некоторые задачи либо просто не решаются, либо решаются сильно хуже.

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

И так всегда и везде. Я за 15 лет работы ни разу не видел человека сильнее меня хотя бы в 2 раза и хотя бы в половине направлений.

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

Еще одна легенда, ноги растут из исследований 30-50 летней давности.

Опрос бы добавить - был ли у вас в компании 10х программист: да | нет

И вот от тех кто ответит да - было бы здорово услышать подробности.

Excel был написан на Си. Lotus писали на Ассемблере. Всякий кто пробовал писать на ассемблере подтвердит, что писать на нём получается годаздо медленнее, чем на Си. Этот случай стал настолько известен, что вскоре все компании отказались от разработки на ассемблере и перешли на языки более высокого уровня.

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

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

Измерять продуктивность в количестве строк, особенно в современном мире – вообще довольно сумеречная практика.
Я считаю, на больших и сложных проектах вообще, лучшие по импакту программисты могут создавать отрицательное количество строк. Примерно, как из комментария ниже, хотя может чуть более масштабно. Когда навернуто в легаси параллельных систем, которые делают примерно одно, но чуть-чуть по-разному, и при этом и требований уже не сохранилось, а команда двигается с черепашей скоростью, пытаясь это развивать и не сломать... Тот, кто сможет обобщить и вербализовать требования, а потом собрать их в одну понятную систему – вот он может считаться 10х. Если после его работы команда будет выдавать в 10 раз фичей в единицу времени больше, чем до.
А если немного более серьезно, то я бы называл десятикратниками тех, кто может создавать архитектурные решения, что с одной стророны просты и дешевы в разработке под текущие требования, с другой – как бы ни поменялись требования, можно было не "ну теперь полпроекта переписывать, у нас так не предусмотрено", а из тех же кусков и модулей можно было собрать быстро и дешево по-новому.
Или, в определенных ситуациях (когда модель бизнеса позволяет), десятикратник это тот, кто может выдавать фичей как команда из 10 человек. Но при этом, не масштабируясь. Например благодаря мощным но очень хитрым инструментам/стеку. Ну там, когда метапрограммирование какое-нибудь применяется. Или что-нибудь очень динамическое. Или наоборот безопасное.

Вот!

Поэтому я и хочу и немножко могу быть архитектором.

Достаточно открыть книжку чистая архитектура и ужаснуться графику падения производительности с ростом сложности проекта - он на первых страницах. Но это является важным только для больших проектов от 3-10 человеко лет, когда работает команда или несколько, уже ушли те кто создавали основу приложения и все уже боятся чего-то менять

Один мой бывший коллега как-то на заказ сделал небольшую флешовую мини-игрушку на AS3 (год примерно 2007-8). Делал игру по шаблонным тимплейтам, на готовом фреймворке или с готовыми либами, т.к. компания-заказчик делала такие игрушки сотнями, в основном нанимая прогеров из Индии.
Но товарищ не просто сделал игрушку эту, но и отрефакторил какие-то неоптимальности, в результате чего игрушка стала весить раза в четыре меньше, а работать примерно в 10 раз быстрее (по плавности-безлаговости) по сравнению с аналогичными игрушками компании. Компания-заказчик сказала "Не, не надо чтоб игрушка так быстро работала, а то спросят почему другие игрушки такие тормозные". И ему пришлось добавлять в игрушку какие-то ненужные-пустые циклы, чтобы её замедлить, чтобы работала так же тормозно, как другие.
А индийский код в то время писали как раз исходя из количества написанных строк. Там внутри были поэмы лесенкой, в стиле Маяковского.

(пример взял из интернета. тут по-идее return ещё можно писать с новой строки, в два раза увеличив личную эффективность ;)

Главное в расследовании не выйти на самого себя 😂😂😂

У меня один раз была ситуация - в далеком 2012 или 2013 году работал в компании и подготовил каркас проекта, меня самого перевели на другой.

Там было тз и по нему 4 человека 4 месяца работали (кто-то из них по полдня). Пускай будет 12 чел/мес. Через 4 месяца руководство пришло ко мне типа они не успевают. Я провел аудит и выяснил, что было готово с грехом по полам 25% функционала.

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

Если грубо пересчитать пропорции - 12 чел/мес на 25% и 4 чел/мес на 75%. То первая команда закончила бы весь проект за 12*4 = 48 мес. А вторая 0,75 за 4, значит 1,00 за 4+1.33 = 5.33. Итого разница 48/5.33 = 9 раз. 😦🙂

Ну ладно, формально до 10 раз не дотянуло 🙂

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

Но для руководителей - да, мы 10x, по сравнению с теми, уволенными.

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

Я такого видел.

Успевал за аналогичный период сделать в несколько раз больше, чем любой другой человек в команде. Это при условии, что в команду был достаточно серьезный отбор.

А можете описать как он работал? Как выглядел его код? Какой стек был? Перерабатывал?

Наверное как Стаханов: стоял с отбойным молотком, а сзади вся команда отгребала.

о! а вот это прямо по теме:

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

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

Если мы попали в точку, большинство программистов получают удобный случай поместить волновавшие их долгие годы проблемы в ясный рабочий контекст. Мы предлагаем расслабиться и хорошо провести время!

интересно?

узкий круг ограниченных лиц применяет это на практике... вы не поверите СКОЛЬКО лет!

The Programmers' Stone https://ders.by/pp/ps/index.html

Между важной и срочной задачей люди всегда выбирают.... понятные задачи.

Думаю, секрет 10х кроется где-то примерно здесь (понятно, что дальше опыт, знания, просто интеллект - но если в тебя постоянно пихают плохо понятные задачи за пределами твоих текущих знаний - никаким 10х не будешь).

Ну и в инфре компании (включая стек, CI, доки и так далее) затык частенько

А Work–life balance кто-то учитывал? Ведь может один чел. кроме работы - ничего не видит, и днем и ночью думает только о работе. Второй - еще и хобби, и спортсмен, и семьянин, и бабушкам помогает и в церковь ходит.

И тут такое дело - первый же на короткой дистанции, возможно, пройдет в 10 раз больше. Но потом у него депрессия начнется или еще какое расстройство и придется его менять, т.к. производительность упадет до нуля.

Вы путаете 10х и трудоголиков. Трудоголик - это тот, кто работает много. А 10х работник - это тот, кто работает столько же, сколько другие, но при этом выдаёт в 10 раз больше результат

Вы путаете 10х и трудоголиков. Трудоголик - это тот, кто работает много. А 10х работник - это тот, кто работает столько же, сколько другие, но при этом выдаёт в 10 раз больше результат

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

Я из тех самых 10Х программистов, и я могу рассказать, почему вы можете не подозревать, что они есть рядом с вами - они шифруются.

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

Вторая причина, совсем неочевидная - работы просто-напросто может не хватить. Я работаю в аутсорсинговой компании, менеджмент планирует мою загрузку, исходя из 8-часового рабочего дня. И вот есть задач, допустим, на 180 часов, мне их должно хватить на месяц с лишним. А я беру и делаю их за 2 недели. Менеджменту нужно теперь срочно согласовать с клиентами для меня ещё каких-то задач на 80 часов только на текущий месяц. А это немалые деньги. Клиент может сказать "мы свой объём финансирования на этот квартал исчерпали, поэтому давайте после майских". По итогу задач может для меня не найтись, придётся садить меня на бенч. И тут возникает мысль: а зачем нам этот дорогостоящий разработчик, если мы можем взять другого, которому будем платить вдвое меньше, он будет работать вдвое медленнее и всё равно будет укладываться в сроки? То есть, если бы я работал в полную силу, меня бы уже давно сократили. И все это понимают. Равно как и понимают, что качество работы другого разработчика может оказаться ниже, поэтому мне так и говорят "постарайся не делать эти задачи слишком быстро" в том случае, когда на горизонте нет каких-то больших объёмов работ.

В итоге, я свою 10х производительность трачу на то, чтобы работать неспеша в комфортном для себя темпе, не слишком сильно сосредотачиваясь на работе. А один мой знакомый пошёл другим путём - он работает на двух работах на полную ставку. При этом он суммарно тратит на эти две работы всё те же 8 часов в день.

И тут возникает мысль: а зачем нам этот дорогостоящий разработчик, если мы можем взять другого, которому будем платить вдвое меньше, он будет работать вдвое медленнее и всё равно будет укладываться в сроки?

А в чем проблема - если вы умеете выдавать результат в 10 раз больше - то сократить команду, оставить вас одного - и поднять вам зарплату в 5 раз? Это же очевидная экономия для бизнеса? В чем же проблема?

я свою 10х производительность трачу на то, чтобы работать неспеша в комфортном для себя темпе, не слишком сильно сосредотачиваясь на работе.

У вас 2x производительность или 10x? Возможно мудрый работодатель просто не дает вам выгореть, т.к. знает что любой человек может пробежать 4 км. а может спокойно пройти. Если пробежал - в 5 раз быстрее, но потом нужно отходить несколько дней. А пройти 4 км. - даже не заметишь.

он работает на двух работах на полную ставку

А почему не на 5 работах, если 10x? Какие-то нестыковки.

В чем проблема для бизнеса, если он на самом деле 10x - платить ему в 5 раза больше и давать задач в 10 раз больше? Выгода для бизнеса очевидна.

У вас 2x производительность или 10x?

Если вы читали статью внимательно, то поняли бы, что 10х - это устоявшееся выражение. И на деле это может быть и 3х, и 9,81х, и πх, и 2√5х. Кроме того цифру 10х изначально считали не от среднего разработчика, а от самого слабого.

А в чем проблема - если вы умеете выдавать результат в 10 раз больше - то сократить команду, оставить вас одного - и поднять вам зарплату в 5 раз? Это же очевидная экономия для бизнеса? В чем же проблема?

Проблема будет найти клиента на разработку, когда у тебя уже есть 5 проектов и всего один разработчик - со стороны это выглядит не солидно. Тот, кто готов платить за разработку дорого, лучше пойдёт туда, где команда побольше. Потому что это риски - пресловутый bus-фактор. Что делать, если разработчик заболел или хочет в отпуск? Кроме того сам факт Х5 зарплаты выглядит крайне маловероятным - столько не платят даже в Кремниевой Долине.

и поднять вам зарплату в 5 раз

ржу пацталом

никогда рос бизнес на такое не пойдет

никогда рос бизнес на такое не пойдет

Ну гос. структуры - не пойдут. А для частного бизнеса в чем проблема? Если человеку нужен результат - неужели все такие идиоты?

У нас был случай со ремонтниками, когда договорились за метры квадратные по рыночной цене. И строители работали настолько быстро, что заказчик начал думать что его накалывают - они зарабатывали больше чем он - его слова "ого, больше чем в Европе". Но ведь ему нужен был результат то, проблем нет - пусть и на человеческом уровне завидно что ремонтники зарабатывают больше чем он сам.

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

А вот с фулл-тайм работой там уже совсем другие расклады. Простоев нет, но никто не будет платить разработчику из СНГ 6-значную сумму долларов в год.

Фильм Грешник (1988)

Мужик, который виртуозно владел токарным станком и мог за короткое время выполнить дневную норму работы. Изготовит нужное количество деталей за час (?) и лежит отдыхает. К нему начальник подходит и говорит: "Почему не работаешь? Иди работай". Так было не один раз.

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

А ему - прекрати! Нам нормы срежут!

Я это прекрасно понимаю, поэтому и не тороплюсь. Со мной работает куча отличных ребят, которые работают не так быстро. Если из-за меня поднимут планку, им станет ещё тяжелее. А если они не вытянут, то тогда уже тяжелее станет мне. Зачем мне это нужно?

Я это прекрасно понимаю, поэтому и не тороплюсь. Со мной работает куча отличных ребят, которые работают не так быстро.

Пробовали ли вы работать на всю катушку длительное время? Сколько месяцев подряд?

Может быть вы провели 1 месяц и такой - о, я могу, я крут. А попробуйте в таком режиме проработать 4 месяца. Не начнутся ли нарушения сна, не начнется ли потеря вкуса к жизни и т.д.?

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

В результате ушёл туда, где платят вдвое больше, а делать надо в разы меньше.

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

И это просто прекрасно. Я полдня потратил на спор с незнакомцем в интернете, а в 18:00 закрою крышку ноутбука и буду отдыхать. А из-за того, что мои доказательства в нашем споре не выглядят убедительно, работодатель будет думать:

Ведь может один чел. кроме работы - ничего не видит, и днем и ночью думает только о работе.

и будет меня ценить ещё больше.

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

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

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

На самом ли деле есть люди в 10 раз более продуктивные на длительном промежутке времени

Да есть конечно. Это то самое, что называют талант, гений, виртуоз, ну или просто способности. Никто же не спорит с тем, что есть музыканты-виртуозы, и нельзя просто так взять человека с улицы и с помощью денег или силы заставить его научиться столь же виртуозно владеть музыкальным инструментом. Вы вот приводили пример со строителями. А на стройке быстро работает не тот, кто сильнее или ловчее других, а тот, кто грамотно может организовать свой рабочий процесс. Там это вообще очень сильно выражено, т.к. там можно полчаса поработать головой, чтобы потом на 4 часа меньше работать руками.

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

большую часть времени программист тратит на обдумывание

да.

и на отладку кода

НЕТ!

"продуманный" код в отладке почти не нуждается.
а если кто-то долго отлаживает СВОЙ СОБСТВЕННЫЙ код, то это плохой кодировщик ;)

вопрос даже не в скорости мыслительного процесса

как сто слепых не заменят одного зрячего, так и сто дураков одного умного.

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

"продуманный" код в отладке почти не нуждается

Если бы...

Отсутствие ТЗ, документации, грязные данные, недокументированное поведение системы и всё, нету вашего 10х

долго отлаживает СВОЙ СОБСТВЕННЫЙ код

Код не (всегда) отлаживают в стерильной атмосфере хирургии стола. Отладка это грязное дело. Зависит от наличия невалидных данных в системе, странных решений других программистов и так далее.

Вот сейчас задача обновить справочник должностей (2000 штук). И вот уже прошло 3 рабочих дня. Сотни строк SQL, тысячи строк кода. Ещё немного и проще будет сделать это вручную.

Фильм Грешник (1988)

Это же СССР и плановая экономика. В чем проблема в рыночной экономике, когда работа на результат?

в том что платить (в России) все равно больше не будут

а значит и работать тоже

в том что платить (в России) все равно больше не будут

А могли бы вы обозначить потолок для России?

Не выше начальника отдела

А института главных инженеров CTO (не путать с директором ИТ департамента CIO, это менеджерская должность) под генеральным директором в России просто нет

А института главных инженеров под генеральным директором в России просто нет

А конкретную суму хватит смелости назвать? Или деньги это Бог а Имя Бога нельзя упоминать в суе, без страха и трепета?

Полагаю, участие в прибыли компании, например 0.3-0.5% всех акций компании в год.

Можно поискать, сколько получал Стив Джобс в % от стоимости компании.

А вы думали миллион рублей в месяц в зубы и марш работать?

А вы думали миллион рублей в месяц в зубы и марш работать?

А что 0.3% - не могут составлять 1 млн. в месяц в пересчете? Или в чем проблема? Ну 1 млн. - это $10 тыс. - или $120 тыс. в год. В США специалисты бывает что получает $500 тыс. И что? Только там можно, а в РФ есть психологический потолок, выше которого местный бизнес просто психологически не примет?

в РФ есть психологический потолок, выше которого местный бизнес просто психологически не примет?

Так и есть.

Добрый день! Рад вас снова видеть! И ещё более рад, что у меня появился собственный биограф на Хабре (хоть мне и немного льстит такое внимание).

У нас действительно не надо ни за кем ничего переписывать, хотя был один уникальный кадр, но он уже больше года не работает с нами, и за ним всё давно переписали. В целом, у нас в компании довольно высокая культура разработки и очень строгая система контроля качества кода: автоматизированные пайплайны с проверкой стандартов кода, статический анализ, автотесты, затем ручное тестирование и обязательное code review. Собственно, благодаря этой культуре в компании и оказываются 10х разработчики.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации