Какой ты нафиг программист?

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

Промт: программист суровый с котом

Промт: программист суровый с котом

Итак, ты сидишь в офисе, получаешь задания и думаешь, что они тебя недостойны, потому что ты после двух лет обучения паре языков на курсе или в вузе должен сидеть и создавать гениальный софт, целиком и полностью — исключительно так, как ты его видишь. Требования от клиентов, техническое задание? Пфффф, не учите меня жить, я знаю, какое программное обеспечение вам нужно! Вы же не пишете ТЗ на лечение врачу? В смысле, собирает анамнез? Ну и мы тут с вами не в больнице. Только разработчик понимает, как должен работать софт и как его спроектировать —, а пользователь привыкнет.

Какой ты нафиг программист?

***

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

Какой ты нафиг программист?

***

Ты не советуешься с коллегами и пилишь код в гордом одиночестве, потому что боишься критики. Но ты никому об этом не скажешь и сделаешь вид, что просто гораздо грамотнее остальных и не хочешь тратить время на обсуждение какого-то там кодестайла и проведение код ревью. В маленькой компании это проходит на ура, а в большой ты научился раздувать щёки в стиле плащеносной ящерицы и кто-то в тебя поверил, а кто-то старается не трогать, чтобы не… ну ты понял. Для тебя есть твои правила кода и неправильные, — исключительно потому что ты страшно не уверен в себе и в своих знаниях. Но кто об этом узнает? (Спойлер: все).

Какой ты нафиг программист?

***

Ты пришёл в айти только за деньгами. У тебя нет ни малейшего желания погружаться в мир интерфейсов, рефакторинга, изящного кода, высокой производительности, потому что ты не хочешь двигаться и расти вместе с тем, чем ты занимаешься. Ты твёрдо усвоил ранги: джун, миддл, сеньор и рассчитываешь двигаться от одного к другому по выслуге лет, занимаясь своими ограниченными задачами. Каждый старт нового проекта или нового сайд-проекта заставляет твои руки холодеть, потому что могут появиться нестандартные задачи, в которые нужно вникнуть и погрузиться.

Какой ты нафиг программист?

***

Ты выучил все жаргонные слова и изо всех сил показываешь свою «программистскость» на совещаниях, особенно, если это не ретроспектива, а встреча с коллегами из других отделов. Непременно нужно показать свою значимость и необходимость, чтобы другие — определённо не такие технические коллеги — ощутили свою неполноценность. Ты считаешь, что объяснять то, над чем и как ты работаешь, нужно максимум руководителю, остальные должны исключительно радоваться выходу новых релизов с задачами из бэклога. Когда они выйдут, как реализованы, как работают — догадайтесь сами, ты обучать их не нанимался.

Какой ты нафиг программист?

***

Ты тормозишь весь проект, но не потому что медленно кодишь, а потому что создаёшь свой великий совершенный код. Это идеально читаемый код, который не нуждается в комментариях, педантично отрефакторен, оптимизирован по самые переменные, содержит лучшие паттерны, впитывает лучшие практики, только вот… пишется месяцами. А кто тебе что скажет? Ты что, навалял багов или нафигачил костылей и велосипедов? Нет, ты творишь совершенство, которое недоступно остальным. Ну и что, что фича не входит в третий релиз подряд — зато потом всем будет счастье от фрагмента блистательного Великого Кода.

Какой ты нафиг программист?

***

Ты работаешь не первый год и точно знаешь, что работать можно только на старом стеке. Твой опыт вынесен из реального энтерпрайза банка «Империал», ещё с 90-х, и это было идеально. А сейчас — что? Kotlin, Go какой-то придумали, контейнеры для ленивых изобрели. А вы, салаги, понимаете, что там, внутри контейнеров ваших? Перейти на новый стек? Ты точно знаешь, что из этого ничего хорошего не выйдет, потому что старые компоненты нужно переписывать, менять шаблоны, проектировать часть разработки заново. Ох, забыла молодежь священный принцип программиста: работает — не трогай. Даже если это лютое легаси.

Какой ты нафиг программист?

***

Ты пишешь свой код и считаешь, что на этом работа закончена: гении свои шедевры не перечитывают. Автотесты — суть от лукавого, ведь для тестирования кода существуют тестировщики. Хотя тебе и они не нужны — твой опыт позволяет заливать прямо на прод. Код выглядит так, как будто прошёл через обфускатор? Ты в полном возмущении, потому что они просто не понимают этот стройный замысел. Ты создаёшь код и требуешь немногого: уважения к опыту и знаниям. Что, тестировщики прислали семь багрепортов, один из них критикал? Конечно, им же нужно для демонстрации работы что-то высосать из пальца! Ты пишешь, оно не падает, что ещё надо?!

Какой ты нафиг программист?

© Habrahabr.ru