Мир есть код

Oct 27, 2022 22:32

Люди делятся на две (очень неравных по выборке) категории: программистов и прочих.

Программист может не написать ни строчки кода за всю жизнь, но быть (по умению соображать) программистом.
Непрограммист может всю жизнь прожить около и в IT, и даже писать какой-то код - но он не программист. Непрограммист может стать code monkey, умеющей лабать селекты и даже честно править некоторые места в скопированном шелл-скрипте. Непрограммист может быть хорошим сопровожденцем, он может выйти в менеджеры и даже в системные архитекторы (я лично наблюдал такой ужас). Но если человек непрограммист внутри - никакие должности, сертификаты и регалии тут не помогут быть программистом.

Программист обладает абстрактным мышлением, он способен за шестигранным кубом видеть тессеракт. И понимать, что в некоторых условиях тессеракт будет резолвиться в двумерный квадрат. И это нормально.
Программист понимает, что мир многообразен и иногда простейшее 1+1 не равно 2, а соответствует 11.
Программист понимает, что если в в самом начале не инициализировать переменные и не объявить контракт на API - то поведение системы дальше будет хаотично. Причем неизбежно хаотично, вплоть до краха всей системы.
Программист понимает, что лучше пропатчить 1 функцию (например, закон о браке), чем переписывать половину кода, наследующего эту функцию внутри.
Программист понимает, если в нигде изначально явно не законтрактовано nato.ExtendableToEast = false, то нефиг удивляться успешному срабатыванию nato.Countries.Add
Программист понимает, если define lie = true или set white = black, то нефиг удивляться развалившимся логике, UI и пользователям, убегающим прочь с проклятиями.
Программист понимает, что закон Ломоносова-Лавуазье невозможно отменить ни указом, ни запретом на его упоминание, ни ни уголовной статьей.
Программист (опытный) понимает, что революцию рефакторинг легко запустить, но трудно остановиться. Но ровно также опытный программист понимает, что техдолг перед следующими поколениями программистов (и пользователй) нужно расчищать и должно выкидывать код, написанный в старых парадигмах под давно отжившие идеи. Это дорого, это больно, это сложно на работающей системе - но это очень необходимо. Культ мертвых языков программирования убивает любое развитие.

Непрограммист может пытаться изобразить понимание, использовать походящие по форме словосочетания в обсуждении и применять прочие навыки социальной мимикрии... Но он в принципе не способен за деревьями видеть лес, он не способен видеть на деревьях ветки, он не способен видеть в лесном массиве цельную экосистему не только из растений. Для него это просто деревья, много одинаковых деревьев.

Может ли программист превратиться в непрограммиста?
Да.
Мы все видели случаи, когда человек переставал думать, прекращал учиться новому, не старался строить быстрее, чем разрушается... и утрачивал навык использования своих способностей, лишался умения видеть причинно-следственные связи и понимать, что стол бывает не только у столоначальника и в экстремальном случае табуретка является столом.

Может ли непрограммист стать программистом?
Не знаю.
Я верю в людей, я верю в возможность научиться, преодолеть врожденные ограничения. Но, к сожалению, я не видел полноценных примеров такого прорыва.

P.S. Извините, наболело. Слишком много непрограммистов.

ворчалки, наблюдение, мыслепоток

Previous post Next post
Up