1. Подготовка («Чтобы хорошо выполнить работу, нужно сначала наточить инструменты»)

  1. Компьютер не обязательно должен быть мощным, но два монитора обязательны — чем больше, тем лучше; один в альбомной ориентации и один в портретной — ещё лучше. Один для поиска информации, один для написания кода. Короче говоря, это должно выглядеть так, будто у вас огромный объём информации и высокая эффективность.
  2. Кресло не обязательно должно быть удобным, но оно должно позволять откинуться наполовину.
  3. Большое количество стикеров разных цветов, используемых для записи ежедневных задач — чем больше, тем лучше. Вдоль рамки экрана компьютера наклейте как можно больше, чтобы казалось, что у вас много дел.
  4. Справочная литература — O'Reilly, China Machine Press, Electronic Industry Press, неважно. Если книги могут быть на английском, берите на английском; если нет, подойдут и ксерокопии. В любом случае, чем толще, тем лучше. И не ставьте их на книжную полку — сложите стопкой на столе, наполовину раскрытыми.

2. Начиная с момента вашего входа

  1. Прикид! Прикид! Пойдете ли вы в лабораторию, в здание компании, в контору маленькой фирмы или в собственную стартап-потогонку; будь то весна, лето, осень, зима, день, ночь, ветер, дождь, гроза, тайфун или торнадо — программист-выпендрёжник должен уделять огромное внимание своему прикиду! Здесь только рекомендации для справки. Начинающий: рубашка + джинсы + кеды. Средний уровень: футболка + свободные шорты + тапочки. Продвинутый уровень: майка + свободные шорты с цветочным принтом + шлёпанцы.
  2. Правильная манера держаться. В холлах и любых коридорах всегда ходите с руками в карманах, как хулиган, по крайней мере выглядя немного асоциально. Если так не получается, можете выбрать стиль хилого гения-гика.
  3. Если позади вас женщины показывают пальцем и шепчутся, что вы наверняка технарь, сначала опустите голову, затем, не поднимая головы, медленно обернитесь, не издавая ни звука, подарите хитрую презрительную улыбку и быстро идите дальше.
  4. Войдя, ни с кем не здоровайтесь. Идите прямо к своему месту. Максимум — остановитесь по пути за чашкой кофе. Не делайте лишних движений, демонстрируя сосредоточенность и безраздельное внимание.

3. Сев, больше не двигайтесь

  1. Сев, слегка откиньтесь назад; лучше всего скрестите ноги. Затем, откинувшись, опустите голову, чтобы видеть экран, и после этого больше не двигайтесь.
  2. Грубо раздвиньте большую стопку книг перед компьютером, проделав щель, затем отклейте стикер с компьютера, взгляните на него не более чем на 3 секунды — и можете начинать кодить.
  3. Если можете обойтись без IDE — обойдитесь. Если вам это действительно не удаётся, то, какой бы ни была IDE, обязательно установите в ней чёрный фон в стиле DOS.
  4. Если пишете фронтенд-UI, продолжайте отлаживать бэкенд-код; если пишете на Java, подмешивайте C; если пишете на C, подмешивайте ассемблер. Не только программируйте, но и время от времени листайте какую-нибудь английскую книгу; если не понимаете — просто посмотрите иллюстрации, потом бросьте её перед собой, сделайте вид, что поняли, и продолжайте программировать.
  5. Используйте всё, что выглядит навороченно, независимо от практичности. Например, с C++: отрефакторьте все switch в полиморфизм; если есть указатели, замените их все на умные указатели; всегда пишите свои собственные шаблоны на C++; замените все числа макросами, а имена макросов делайте как можно длиннее; struct'ы не должны появляться — если появятся, обязательно украсьте их __attriburte__; вся арифметика — битовые операции; все операторы перегружены; вся работа с сетью использует конкурентные буферизованные пулы потоков; int объявляйте только через int32_t; никакого обычного наследования, только множественное наследование, виртуальное наследование и т. д.; даже Hello World должен перехватывать исключения; когда будущие поколения увидят код с кучей ключевых слов вроде extern, asm, auto, XXXXX_cast, volatile, explicit, register, template, обычные маленькие программисты, которые всегда печатают int, if, else, for, внезапно испытают огромное восхищение.
  6. Комментарии? Забудьте. Есть только два пути: Первый — делать имена переменных чрезвычайно длинными, чтобы чтение кода текло, как чтение статьи на английском, и комментарии вообще не нужны. Второй — сделать код чрезвычайно неясным, чтобы комментарии не имели никакого значения.
  7. Никогда не используйте IM-инструменты для общения, никогда не задавайте вопросы коллегам, так как это заставляет вас выглядеть неопытным. Всегда ищите информацию в интернете или книгах самостоятельно.
  8. Шутят ли коллеги или происходит какое-либо групповое мероприятие — не поднимайте взгляд, не оглядывайтесь. Даже при землетрясении или пожаре обязательно закоммитьте свой код перед уходом.

4. Уйти красиво

  1. Когда уходишь, главный компьютер ни в коем случае нельзя выключать. Как минимум запусти ежедневную сборку; если это невозможно, наличие SVN commit в процессе едва ли засчитывается.
  2. Книги уже должны быть снова навалены перед экраном. Не убирай их. Завтра снова отодвинь их в сторону.
  3. Тебе не обязательно уходить последним, но ты должен дождаться, пока все не-программисты — маркетологи, администраторы ресепшена, проджект-менеджеры и т. д. — не уйдут, прежде чем сможешь уйти.
  4. Когда уходишь, будь спонтанным. Ничего не собирай. Встань и выйди. Хорошо, вот так.
  5. Если тебе сегодня обязательно нужно сказать одну фразу, найди самого несчастного программиста и скажи ему: "Ты слишком медленный; не заставляй меня вечно ждать."

Связанные статьи