Статьи

Личные навязчивые идеи разработчиков программного обеспечения

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

Приближается к 10 …

В этом профиле «идеальный разработчик», мне кажется, есть пара недостатков (для начала!). Основанный на моем собственном неправильном взгляде на вещи…

  • Увлечен тем, что они делают . Посмотрим правде в глаза — смотреть на монитор 8+ часов в день — это не рок-н-ролл ( во всяком случае, для большинства из нас ) — на каком-то фундаментальном уровне вы должны получать удовольствие от этого. Иными словами, я бы предпочел работать со страстным стажером, а не со скучающим ветераном.
  • Есть немного смирения . Быть «неправильным» неизбежно — вы будете писать код с ошибками, вы будете создавать неоптимальные дизайны, и вы не будете экспертом во всем — как бы Линус справился с CSS ? Если вы не можете признать, что ошибаетесь, у вас мало места для исправления проблем, учитесь на ошибках, и с вами, вероятно, трудно работать. Инвертируя это — между двоичным 0 и 1 нет места для эго. Опасность, учитывая, что вы проводите значительную часть своей жизни за клавиатурой, заключается в том, что ваша воспринимаемая самооценка становится привязанной к вашей способности взломать — оскорбление вашего кода становится глубоко личной атакой …

Подробнее о придирках в деталях …

пессимистический

Нужна ли нам здесь военная аналогия? Лично меня неоднократно пытали, и я очень сомневаюсь, улучшит ли это мою способность писать код. Более того, я не могу идентифицировать себя с ветеранами войны во Вьетнаме, и я не надеюсь на почетные медали. Но с другой стороны, я еще не чувствовал необходимости покупать нож выживания Рэмбо в подростковом возрасте, так что, возможно, я необычен. В общем, не фанат аналогий, когда дело доходит до программирования — помимо поверхностного, он служит только для упрощения обсуждения. И мне интересно, может быть, здесь есть какая-то тенденция — Вьетнамская Информатика делает несколько очень веских замечаний против ORM — просто позор в первой части.

Рассержен небрежным кодом

Роб решил процитировать эту пьесу Пола Грэма ;

… люди, которые хороши в чем-то, не столько убеждены в собственном величии, сколько озадачены тем, почему все остальные так некомпетентны

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

Нарушая мое собственное правило по аналогии, еще в то время, когда Гарри Каспарова (снова) избивали Найджела Шорта , вспомните статью (без ссылки), в которой сравниваются личности игроков — Гарри Каспаров; красноречиво (по-английски), способный общаться по широкому кругу вопросов, кроме шахмат, от мировой политики до музыки, обаятельный — «все вокруг» против Найджела «Моя жизнь — шахматы» Шорт — столь же захватывающий, как сушка краски. Другой сравнимый дуэт — Пол Дирак , склоняющийся к одномерному образу против Ричарда Фейнмана — физика и артиста — способен «делать» доступную физику .

Для меня приведенная выше цитата описывает одномерного ботаника (если такая вещь существует) — безнадежного во всех областях, кроме выбранной им специальности. Но есть множество причин (или проблем), которые требуют многогранного мышления, от возможности создавать полезные приложения — понимание пользователя — до простых навыков общения; не все работают в безопасной зоне только для ботаников — большинству приходится иметь дело и с «настоящими людьми».

По данному вопросу …

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

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

Возможность видеть множество оттенков серого, а не черного и белого, может быть еще одним моментом, добавляющим идеальный профиль. PHP (и безопасность) — хороший тому пример — что кажется вам более разумным ответом: крик PHP — отстой или понимание того, что он популярен, и что-то делает для улучшения ситуации ?

Внимание к детали

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

Преждевременная абстракция

Во всяком случае — это на самом деле не предназначено для критики Роба (хотя, вероятно, так и читается) — он сразу признается, что высказанные им соображения являются следствием его собственного опыта …

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

Проблема в том, что в эти дни W00t , работающие на блогах , утверждают, что у вас есть «четыре очка к совершенству». Реальность просто не складывается таким образом, плюс то, что описывает Роб, не является обратимым уравнением: если вы найдете кого-то, что соответствует профилю, это не значит, что у вас есть отличный разработчик, и я бы оспаривал, что каждый отличный кодер ( если такая вещь существует) имеет эти черты.

И что это за ницшеанская одержимость великим программированием? Это почти так же плохо, как в этих десяти списках .