1. Одежда
По-настоящему крутой программист совсем не имеет времени ухаживать за собой. Причёска должна быть как у Эйнштейна — птичье гнездо на макушке, взлохмаченное и пушистое, вызывающее у людей ощущение, что в любой момент из волос можно вытащить яйцо. Большая густая борода источает уверенность и невозмутимость. Если вы не близоруки — отлично; если близоруки, носите огромные очки с линзами толщиной с донышко бутылки — вид научного исследователя. У крутых программистов высокие требования к одежде: весна, лето, осень или зима, день или ночь, ветер или дождь — настоящий крутой программист должен быть очень разборчив в том, что носит. Футболка + кричащие цветастые шорты + тапочки — стандартная униформа 365 дней в году, в любую погоду. Достаточно менять 3–5 футболок в год. Большинство футболок — халявные с конференций по open source, с надписями «ruby on rails», «eclipse», «apache»... Когда холод становится совсем невыносимым, накиньте большое ватное пальто и большие тёплые наушники — любого стиля — и укутайтесь. Главный критерий: не замёрзнуть насмерть.
2. Снаряжение
Компьютеры программистов имеют запредельные характеристики, но снаружи выглядят как барахло. Потрёпанный корпус + потрёпанная сумка, покрытая печной золой, — схватил и побежал. На совещаниях с размаху бросаете ноутбук на стол — бах! — и с него осыпается куча сигаретного пепла и крошек от лапши быстрого приготовления. Никогда не ставьте обои, никакого украшательства вообще — у людей должно возникать ощущение Windows 98. Установлены только текстовый редактор + средства разработки. Чем аскетичнее и чище, тем вы круче. По возможности избегайте IDE. Если совсем не можете, то какой бы IDE ни пользовались, обязательно поставьте чёрный фон, как в DOS или Linux, чтобы у людей возникало ощущение, будто ещё пара нажатий клавиш — и северокорейская ракета «Тэпходон» вот-вот стартует по Белому дому. Рабочий стол крутого программиста должен быть сплошным бардаком — документация по разработке, код и изображения вперемешку. Никто, кроме вас, не знает, где лежат ключевые файлы. Даже если бы пришёл корпоративный шпион, он бы их не украл. Но когда вам нужен конкретный файл, вы находите его мгновенно.
3. Окружение
Программисты не работают напрямую с клиентами, поэтому офис в тёмном углу — в самый раз. На огромном столе должно быть как минимум два компьютера — ноутбук и настольный, подключённый к двум мониторам: один горизонтальный, другой вертикальный. Вертикальный экран — для написания кода; горизонтальный — для отладки. Это показывает, что вы обрабатываете огромный объём информации и работаете очень эффективно. Разбросайте по столу несколько книг — обязательно английские оригиналы или хотя бы ксерокопии, чем толще, тем лучше. Не расставляйте их аккуратно на полке; они должны лежать кучей на столе, полураскрытые, покрытые отпечатками пальцев, брызгами супа и большими соплями. Кастрюли, сковородки, миски, лапшу быстрого приготовления и коробки от фастфуда можно небрежно расставить вокруг — это показывает, что вы работаете настолько усердно, что забываете есть и спать, и вызывает всеобщее восхищение.
4. Работа
Возьмите банку консервированных жёлтых персиков в сиропе и поставьте её у края стола. Сев, слегка откиньте шею назад, скрестите ноги и уставьтесь в экран, изучая требования. Лучше всего закурить сигарету — марка не важна, лишь бы она дымила. Нужна именно эта туманная, дымная атмосфера: прищуриваться сквозь дым с уверенным видом. Когда сигарета докурится, блок-схема в голове тоже будет готова. Щёлк — затушите окурок в чашке с чаем. Закурите ещё одну и молча начните печатать код. Печатайте с полной сосредоточенностью; даже пепел не стряхивайте. Когда всё будет готово, скомпилируйте, отладьте, снова скомпилируйте, снова отладьте, добейтесь работы функции и закоммитьте код через SVN. (Даже при землетрясении или пожаре вы обязаны закоммитить код, прежде чем уходить.) «Щёлк» — закройте ноутбук, отметьтесь на выходе и отправляйтесь пить пиво и есть шашлыки.
5. Опыт
Программисты больше всего любят хвастаться, когда собираются вместе, обсуждая всякие модные, крутые технологии — облачные вычисления, web 3.0, разработку мобильного интернета... Если вы говорите о таком, вы слишком молоды, слишком низкого пошиба. Эти темы повсюду на крупных IT-сайтах, их пруд пруди, их уже перетёрли до дыр. Как минимум стоит упомянуть что-нибудь вроде XiaoRong, Liuguang или трояна Glacier, показывая, что вы матёрый старый хакер. Для ещё более высокого уровня молча закурите сигарету Hongmei, достаньте пожелтевшую фотографию: «Это групповое фото после того, как Китайский хакерский альянс взломал все крупные американские сайты после того, как США в 1999 году разбомбили китайское посольство. Из тех людей тогда некоторых завербовали власти, некоторые ушли торговать лепёшками — Китайский хакерский альянс тоже канул в историю». Глядя на моросящий дождь за окном, погрузившись в задумчивую меланхолию.
«Босс, у вас тогда, наверное, была куча зомби-машин, да? Сколько? Вы устраивали DDOS?»
«Хе-хе.»
Скрывая свои заслуги и славу.
6. Отношения
Говоря об отношениях, надо сказать, что это ахиллесова пята программистов. У программистов обычно высокий IQ, но очень низкий EQ. Каждый раз, когда я в отношениях, это похоже на использование оператора SELECT внутри LOOP — каждая итерация требует обхода и SELECT, вместо того чтобы выбрать всё сразу, а затем отфильтровать. Всё это от отравления мусорной книгой для начинающих Тань Хаоцяна «C Programming Language». Это привело к огромным потерям времени и физическому истощению. Я применял своё программистское мышление к романтике; когда я был влюблён, в моей голове держалась одна гигантская блок-схема. Всё было из IF: если Y — иди по одному пути; если N — иди по другому — третьего пути для выбора не было. Это был ритм «хочешь встречаться — встречайся; не хочешь — проваливай». Это также привело к тому, что мной много раз пользовались, а я не мог дать отпор. Так что эту главу я всё ещё исследую сам.