Это перевод статьи «How To Fake Being a Good Programmer» автора Stan Sootla.
Программисты – это своего рода волшебники: слегка потрепанные персонажи-бедняки, которые умеют превращать кофе в строчки кода. Я не владею магией, я всего лишь иллюзионист.
Моя работа – быть более аутентичным в том, чтобы быть фальшивым программистом, чем настоящие программисты в том, чтобы быть самими собой.
Лучше быть поддельным кем-то, чем настоящим никем. Зачем тратить десятилетия жизни на галерах? Почему бы сразу не положить ноги на стол и не вести себя, как специалист?
Я хорош в своем деле, из меня вышел отменный шарлатан. Я дурачил бизнесменов и они делали меня своими техническими соучредителями. Я обманывал инженеров и они обсуждали со мной тему Универсального Искусственного Интеллекта. Разыгрываемое мною представление настолько правдоподобно, что однажды Министерство Юстиции спрашивало моего совета насчет создания GUI на Visual Basic, чтобы отследить IP-адрес серийного убийцы.
Секрет прост: дело не в том, что вы знаете, а в том, что вы показываете.
Настоящие программисты медленны и скучны, потому что они ограничены реальностью. Иллюзиониста же сдерживает лишь фантазия. Он свободен претворять в жизнь изощреннейшие из сценариев, и чем непристойнее, тем лучше.
Убедительному представлению – искусно сделанная сцена, ведь она помогает скрыть от аудитории тот факт, что вам ужасно не хватает глубины. В фильмах софт создается путем складывания друг на друга специальных блоков или взмахов по экрану.
Но нам достаточно такого простого антуража из прошлого как Vim и tmux. Только не пугайтесь, они нужны для сцены, не более. Учить ничего не нужно. Vim – текстовый редактор, интерфейс которого с первого взгляда выглядит очень непонятным. Один тот факт, что вы осмелились использовать его, поднимает ваш статус среди коллег. Вы выглядите чуть ли не мифично, просвещая остальных о таких древних темах, как Великая война редакторов и призывая слушателей идти крестовым походом на Церковь Emacs.
Tmux – утилита, позволяющая открыть несколько окон внутри консоли. Это означает, что вы можете писать код в одном окне, запускать команды в другом, и смотреть, как работают какие-нибудь бесполезные плагины (типа спектрограммы и огромных часов), в третьем. Вообще, лучше держать открытыми настолько много окон, насколько возможно, переполняя зрительские чувства навязчивым зрелищем.
В качестве примера, вот скриншот моего экрана когда я генерирую «дипфейки»:
Установите Vimium – расширение для Chrome, которое позволяет работать в сети без использования мышки. Оно подсвечивает каждую ссылку на странице комбинациями клавиш. Вот, как это выглядит:
У меня одновременно открыты и браузер и консоль. Более того, если всмотреться получше, среди моих вкладок можно заметить множество статей с arXiv и постов со StackOverflow. Это не случайность. Такой массив вкладок дает понять, что вы сумели усесться на столь желанный стул инженера машинного обучения, одной ногой разбираясь в замысловатой теории, другой – в практике.
Декорации установлены, сцена готова и шоу может начаться. Как мы уже уяснили, все ваше поведение должно демонстрировать, что вы не имеете ни малейшей нужды в мышке или тачпаде. Откиньтесь назад, положите ноги на стол и клавиатуру на ноги. Лично я люблю раскинуться в моем кресле-мешке в трех метрах от моего 40-дюймового монитора.
Что до самого представления, помните: это барокко, а не минимализм. Вы хотите привести ваших зрителей в восторг молниеносными движениями пальцев и сложными переходами между окон. В vim вы прыгаете со строчки на строчку, с функции на функцию настолько быстро, что наблюдатели едва могут понять, что происходит. И как только их глаза начинают привыкать, как только они приближаются к тому, чтобы раскрыть ваш дешевый спектакль (лишь изредка эти строчки содержат рабочий код), вы переключаетесь на другое окно и их старания начинаются вновь.