Если собрать в комнате 10 инженеров, то лучший из них будет в 100 раз эффективнее худшего

Примерно год назад появился мем о 10х инженере. Сегодня мы увидели страницу с описанием 1х инженера и решили изучить историю вопроса.

Кто такой 10x инженер

Заголовок этой статьи взят из презентации от 2014 года “Как стать 10x инженером”. Такие инструкции воспринимались серьезно.

Понятие “10x engineer” возникло 1968 году, когда были опубликованы данные исследования, подтверждавшие, что лучшие программисты работают в 10 раз продуктивнее, чем худшие. В 2000-х годах эта тема опять стала популярна, так как венчур стал искать технических гениев типажа Марка Цукерберга, Стива Возняка и Илона Маска. Пол Грэм говорил:

Человеку достаточно выглядеть как Цукерберг, чтобы меня провести. Был парень, которого мы профинансировали, но ничего не вышло. Я задавался вопросом: Почему он оказался так плох? Он же похож на Цукерберга!

Пол Грэм, Y Combinator

В июле 2019 г. появилась серия твитов Шехара Керани (Accel, успешный венчурный фонд), которая положила начало мему. Приведем часть из них вместе с остроумными ответами сообщества.

<p>10х инженер</p><p>Основатели стартапов, если вы встретитесь с этим редким видом, держитесь за него. Как часть команды, 10х инженер существенно увеличивает ваши шансы. Как же его отличить?<span></span></p>

10х инженер

Основатели стартапов, если вы встретитесь с этим редким видом, держитесь за него. Как часть команды, 10х инженер существенно увеличивает ваши шансы. Как же его отличить?

  • Ненавидит встречи, так как на них обсуждаются очевидные вещи.
  • Не соблюдает обычные офисные рабочие часы, так как не любит толп. Предпочитает работать поздно вечером.
  • Экран ноутбука черный. Потертые клавиши i, f, x. Клавиши a, s и e (отправка почты) в хорошем состоянии.
  • Знает каждую строчку кода, ушедшую в продакшен. При возникновении ошибок, исправляет код за несколько часов, а не дней.

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

10x engineer Enthiran, 2010

Часть из этих признаков оказались произвольными характеристиками образа нёрда из кино и сериалов про Кремниевую долину. Другая часть описывала неприятного самоуверенного типа, который не хочет работать в команде.

Сообщество ответило ироничными твитами, перечислив такие признаки, как “печатает сразу на двух клавиатурах”, “насвистывает звуки загрузки Макбука”, “убивает взглядом”. Также возникла серьезная дискуссия о вреде подобных персонажей для командной работы. Многие высказали сомнения в продуктивности 10х инженеров.

1x инженер

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

Вот список характеристик 1х инженера, который очень близок нам в EVEN Lab:

  • Ищет ответ в Google, Duckduckgo, Bing или где угодно, когда не уверен, в чем дело.
  • Копирует фрагменты кода из Stack Overflow, Glitch, Codepen или из других источников, где можно найти ответы.
  • Упоминает источник, если это необходимо.
  • Создает сообщество и делится знаниями.
  • Тратит время на вещи, не связанные с разработкой, такие как хобби, друзья и семья.
  • Его график позволяет поддерживать здоровый баланс работы и личной жизни, уважает время коллег.
  • Не считает важным меряться показателями контрибуции в проекты и других не оценивает по этим показателям.
  • Пишет код, в котором есть ошибки.
  • Пишет код, который могут прочитать другие.
  • Читает документы.
  • Обновляет документы.
  • Не всегда полностью погружен в свой код и решаемые задачи.
  • Не удивляется, когда кто-то чего-то не знает.
  • Ему нравится сотрудничать с другими.
  • Публично поздравляет членов команды с успехами.
  • Задает вопросы, прежде чем давать критический отзыв.
  • Если нужно дать жесткую обратную связь, то делает это в частном порядке.
  • Относится к другим так, как хотел бы, чтобы относились к нему.
  • Тактично дает коллегам конструктивную обратную связь, помогая им расти личностно и профессионально.
  • Выражает признательность за конструктивные и полезные отзывы коллег.
  • Иногда обижается на критическую обратную связь, но не действует во вред проекту и команде.
  • Иногда делает короткие перерывы, чтобы освежить мысли.
  • Время от времени совершает ошибки, исправляет их и растет.
  • Готов признать свою неправоту и не боится сказать: «Я не знаю».
  • Может и не любить писать документацию, но все равно делает это для сопровождения проекта в дальнейшем.
  • Пытается научиться писать тексты, если это нужно команде или проекту.
  • Благодарит других за их время, усилия и энергию.

Может поставить яркие картинки на рабочий стол.

  • Поддерживает код в продакшене, даже если не он его написал.
  • Иногда может чувствовать на себе эффект самозванца и понимает, что с другими это тоже случается.
  • Считает, что все в комнате такие же умные и способные, как и он.
  • Помогает повысить уровень других и просит о помощи, когда сам в ней нуждается.
  • Никогда не прекращает учиться, но может чувствовать себя совершенно подавленным объемом знаний, который нужно освоить.
  • Поддерживает продуктивное обсуждение и позволяет другим высказаться до того, как команда примет решение.
  • Готов покинуть свою зону комфорта.
  • По возможности вносит свой вклад в сообщество и ценит вклад других.
  • Может работать медленно.
  • Есть продуктивные и непродуктивные дни.
  • Не относится к себе слишком серьезно.
  • Говорит: «Я никогда об этом не слышал» вместо кивков и притворства.
  • Заслуживает доверия.
  • Работает, чтобы жить, а не живет, чтобы работать.
  • Иногда теряет работу.
  • Необязательно держать в памяти все строки кода.
  • Уважает и поддерживает кодексы поведения сообщества.
  • Может работать дома, в офисе, в кафе или в другом подходящем месте.
  • Не испытывает ненависти к инструментам, процессам или языкам, которыми используют другие.
  • По его ноутбуку невозможно его охарактеризовать.
  • Может украсить свой ноутбук и рабочее место как угодно и уважает выбор других.
  • Не может быть описан сотрудниками венчурных фондах в их одиозных твитах.

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

Начать дискуссию