Скажу честно, изучая программирование, я влюбился в Python. Тогда у него ещё не было такой ошеломляющей популярности, и после курса С/С++/Java было ощущение, что меня вынули из чана с кипящей смолой, облили пантенолом и дали попить вкусной минералки. Я уже был неплохим инженером, но меня, как любого адекватного человека, манили деньги в разработке — и я учился, учился, учился… Пока учился, написал кучу скриптов для рабочих серверов, научился сам работать с SQL-запросами в биллинге, делал выборки для аналитиков, не мучая службу АСУ. Я даже ушёл в не очень кровавый энтерпрайз посмотреть на разработку, погрузился, но отступил в связанное с основным профилем тестирование. Потому что однажды честно сказал себе: «Какой ты нафиг программист?» Скажу и некоторым остальным ;-)

Итак, ты сидишь в офисе, получаешь задания и думаешь, что они тебя недостойны, потому что ты после двух лет обучения паре языков на курсе или в вузе должен сидеть и создавать гениальный софт, целиком и полностью — исключительно так, как ты его видишь. Требования от клиентов, техническое задание? Пфффф, не учите меня жить, я знаю, какое программное обеспечение вам нужно! Вы же не пишете ТЗ на лечение врачу? В смысле, собирает анамнез? Ну и мы тут с вами не в больнице. Только разработчик понимает, как должен работать софт и как его спроектировать — а пользователь привыкнет.
Какой ты нафиг программист?
***
Получив задачу, ты не пытаешься думать и проектировать, а сразу гуглишь примерную формулировку, потому что всё придумано до нас. Ты не осмысливаешь найденное, а тащишь его в свой код, подгоняя какие-то мелкие ошибки и комментируя строки кода, лишь бы всё нормально скомпилировалось. В глубине души ты понимаешь, что занимаешься не делом, но рассчитываешь на ответственного миддла, который мержит проект, рефакторит код и интеллигентно поправит все ошибки и неточности (на самом деле, сделает работу за тебя, переписав фрагмент).
Какой ты нафиг программист?
***
Ты не советуешься с коллегами и пилишь код в гордом одиночестве, потому что боишься критики. Но ты никому об этом не скажешь и сделаешь вид, что просто гораздо грамотнее остальных и не хочешь тратить время на обсуждение какого-то там кодестайла и проведение код ревью. В маленькой компании это проходит на ура, а в большой ты научился раздувать щёки в стиле плащеносной ящерицы и кто-то в тебя поверил, а кто-то старается не трогать, чтобы не… ну ты понял. Для тебя есть твои правила кода и неправильные, — исключительно потому что ты страшно не уверен в себе и в своих знаниях. Но кто об этом узнает? (Спойлер: все).
Какой ты нафиг программист?
***
Ты пришёл в айти только за деньгами. У тебя нет ни малейшего желания погружаться в мир интерфейсов, рефакторинга, изящного кода, высокой производительности, потому что ты не хочешь двигаться и расти вместе с тем, чем ты занимаешься. Ты твёрдо усвоил ранги: джун, миддл, сеньор и рассчитываешь двигаться от одного к другому по выслуге лет, занимаясь своими ограниченными задачами. Каждый старт нового проекта или нового сайд-проекта заставляет твои руки холодеть, потому что могут появиться нестандартные задачи, в которые нужно вникнуть и погрузиться.
Какой ты нафиг программист?
***
Ты выучил все жаргонные слова и изо всех сил показываешь свою «программистскость» на совещаниях, особенно, если это не ретроспектива, а встреча с коллегами из других отделов. Непременно нужно показать свою значимость и необходимость, чтобы другие — определённо не такие технические коллеги — ощутили свою неполноценность. Ты считаешь, что объяснять то, над чем и как ты работаешь, нужно максимум руководителю, остальные должны исключительно радоваться выходу новых релизов с задачами из бэклога. Когда они выйдут, как реализованы, как работают — догадайтесь сами, ты обучать их не нанимался.
Какой ты нафиг программист?
***
Ты тормозишь весь проект, но не потому что медленно кодишь, а потому что создаёшь свой великий совершенный код. Это идеально читаемый код, который не нуждается в комментариях, педантично отрефакторен, оптимизирован по самые переменные, содержит лучшие паттерны, впитывает л��чшие практики, только вот… пишется месяцами. А кто тебе что скажет? Ты что, навалял багов или нафигачил костылей и велосипедов? Нет, ты творишь совершенство, которое недоступно остальным. Ну и что, что фича не входит в третий релиз подряд — зато потом всем будет счастье от фрагмента блистательного Великого Кода.
Какой ты нафиг программист?
***
Ты работаешь не первый год и точно знаешь, что работать можно только на старом стеке. Твой опыт вынесен из реального энтерпрайза банка «Империал», ещё с 90-х, и это было идеально. А сейчас — что? Kotlin, Go какой-то придумали, контейнеры для ленивых изобрели. А вы, салаги, понимаете, что там, внутри контейнеров ваших? Перейти на новый стек? Ты точно знаешь, что из этого ничего хорошего не выйдет, потому что старые компоненты нужно переписывать, м��нять шаблоны, проектировать часть разработки заново. Ох, забыла молодежь священный принцип программиста: работает — не трогай. Даже если это лютое легаси.
Какой ты нафиг программист?
***
Ты пишешь свой код и считаешь, что на этом работа закончена: гении свои шедевры не перечитывают. Автотесты — суть от лукавого, ведь для тестирования кода существуют тестировщики. Хотя тебе и они не нужны — твой опыт позволяет заливать прямо на прод. Код выглядит так, как будто прошёл через обфускатор? Ты в полном возмущении, потому что они просто не понимают этот стройный замысел. Ты создаёшь код и требуешь немногого: уважения к опыту и знаниям. Что, тестировщики прислали семь багрепортов, один из них критикал? Конечно, им же нужно для демонстрации работы что-то высосать из пальца! Ты пишешь, оно не падает, что ещё надо?!
Какой ты нафиг программист?
