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

Некоторые люди скептически относятся к этим данным, но не я. Вот почему…

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

Одним из архетипов является прилежный разработчик. Программирование обычно не дается прилежным разработчиком. Они посещают курсы и изучают синтаксис. Они запоминают код и постоянно читают. Их сила в том, что они запомнили. Что они могут собрать вместе. Как только они получают что-то, что работает, они продолжают делать это в том же духе. Они последовательны и заслуживают доверия. Они могут поддерживать ваш старый код в рабочем состоянии в течение 20 лет. Но они не открывают новые горизонты. Их слабость в том, что они редко пробуют что-то новое и часто медленно приспосабливаются к новым парадигмам. Примером этого является случай, когда прилежный разработчик впервые использует CMS или новый фреймворк. Вместо использования плагинов/моделей прилежный разработчик создаст свои собственные плагины и попытается запрограммировать каждое взаимодействие вручную на PHP. Они будут разочарованы ограничениями и в конечном итоге получат неуклюжий, перестроенный, глючный код, пока не потратят месяцы на то, чтобы заставить его работать. Они также будут колебаться вносить какие-либо систематические изменения в ваш код, что может быть как преимуществом, так и недостатком.

Другой архетип — прыгун. Спортсмен всегда ищет следующую лучшую вещь. У них есть специально созданная Linux-система, которую они использовали годами и никогда не *полностью* извлекали из нее выгоду, но у них все еще есть список проектов, которые они собираются попробовать на ней, потому что Open Source побеждает. Они меняют среду разработки каждые 3–6 месяцев, постоянно выбирая «лучшую». Они открывают для себя полезные инструменты и парадигмы, о которых другие товарищи по команде никогда не слышали, и делятся ими с командой, но редко используют их достаточно, чтобы самим увидеть их ценность.

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

Хороший разработчик (и хорошая команда) сочетает в себе все это, но ВЕЛИКИЙ разработчик — это тот, кто может оценить рентабельность инвестиций и понять, когда ему следует прислушиваться к своему внутреннему (или внешнему) адвокату дьявола, а когда его игнорировать. Они знают, когда попробовать что-то новое, а когда отказаться от этого.

Один из моих вопросов на собеседовании для разработчиков: использовали ли они когда-нибудь Linux. Это своего рода нагруженный вопрос, но если кто-то говорит: «О, да, у меня есть машина с Linux», я их не нанимаю… им все еще нужно научиться отпускать.

Я не думаю, что «использование пробелов» делает вас лучшим разработчиком. НО похоже, что разработчики, предпочитающие пробелы вкладкам, более ценятся своим начальством, чем разработчики, предпочитающие вкладки пробелам.