Программисты оторваны от реальной жизни?

В закладках браузера наконец-то нашел пост российского ученого Николая Непейводы (фамилия ведь не склоняется?) под названием "Программирование не жизнь" - https://nepejvoda-n-n.livejournal.com/79427.html . Там идут рассуждения о предпосылках того, что мы все и так давно знали: редкий программист способен разобраться хоть в чем-то, что находится за пределами области его каждодневого красноглазого копошения в кодах. Далее приведу текст самой статьи.


Образование должно помогать в жизни. Никакая конкретная профессия не исчерпывает жизнь, а некоторые при слишком глубоком вхождении в них реальной жизни прямо мешают. И пара таких, к несчастью — математика и программирование. Обе они легко могут увести в мир иллюзий и фантомов. В частности, по этой причине выпускники МФТИ чаще добиваются больших успехов в жизни, чем выпускники ВМиК МГУ, поскольку у них математика и информатика безжалостно уравновешиваются физикой, реальными экспериментами в реальном мире.

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


Аналогично в математике, хотя здесь с самого начала нужен талант и необходимость фундаментального в традиционном смысле слова образования практически никто не оспаривает (хотя есть яркие единичные контрпримеры, скажем, Рамануджан).

И математика, и программирование представляют людям великий соблазн оторваться от этого гадкого иррационального реального мира и окунуться с головой в идеальный логичный мир абстрактных сущностей. Результат мы часто видим в форме профессионального кретинизма, а то и прямой психической болезни (для математиков и для философов из МГУ в советские времена в больнице им. Кащенко были даже отдельные специальные палаты и врачи говорили о философской интоксикации и математической шизофрении).

Поэтому программирование надо рассматривать в более широком контексте. Задачи решаются для жизни, и в принципе должны браться из реальности и затем погружаться в неё. А тогда мы должны говорить не о профессии программиста, а о профессии информатика.

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

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

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

Причина, как видно, кроется в подходе к процессу получения высшего образования. Я тоже так считаю, что не должно быть чисто айтишных факультетов, изучающих сферических коней в вакууме и программирование ради программирования. Должны быть только инженерные специальности, где изучается решение поставленных задач с помощью языков программирования, либо вида "прикладная математика/информатика". А все эти новомодные "программная инженерия" (кошмар-кошмар! ведь еще у студентов создается впечатление, что программистов можно отнести к инженерам), "фундаментальная информатика", "информационные технологии", "информатика и вычислительная техника" - все в сад, лесом..

Вы смотрите срез комментариев. Показать все
9
Автор поста оценил этот комментарий

Полная хренотень. Нет программирования ради программирования.

Те кто лишь способен переложить на код готовый расписанный алгоритм раньше даже программистами не назывались.

Нормальный же программист разбирается в теме для которой "программирует".
И может самостоятельно решать проблемы в заданной тематике - а для этого эту тематику необходимо знать.

Уже дано нет "программистов в вакууме" - как нет универсальных врачей - идет четкое деление по специализации.

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

раскрыть ветку (20)
3
Автор поста оценил этот комментарий
Нормальный же программист разбирается в теме для которой "программирует".
разбирается на каком уровне? на уровне два-по-пять? так для этого много мозгов не надо. только вот на то, чтобы сесть и разобраться н-р в бюджетном законодательстве - у программиста тупо не будет времени - иначе он не будет выполнять свои обязанности.
раскрыть ветку (19)
2
Автор поста оценил этот комментарий

да шо ты говоришь? только вот недавно сидел и решал с главбухом одной "маленькой" конторки вопросы по бюджетному учету.

зачата программиста не в том чтобы кнопочки тыкать - а в том что бы грамотно составить задачу и реализовать решение.

код же набить по заданному решению может любой первокурсник.

раскрыть ветку (9)
2
Автор поста оценил этот комментарий

а я речь веду не про бюджетный учет, который единый по всей РФ и по сути не является особым вопросом - все что можно давно разжевано. а ты вот сядь и попробуй разобраться в бюджетном планировании, которое различное на уровне каждого отдельного муниципалитета.

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

раскрыть ветку (8)
1
Автор поста оценил этот комментарий

которое различное на уровне каждого отдельного муниципалитета.


... уровень области не хошь?

да, задачи сложные - но за это и платят.

раскрыть ветку (5)
1
Автор поста оценил этот комментарий
... уровень области не хошь?

нет, не хочу. потому что у меня из 12 сопровождаемых лично мной муниципалитетов в рамках края - 4 различных варианта формирования по основной логике и у каждого расходящиеся в мелочах. у самого же края - вообще иной вариант планирования.

и на данный момент у нас в государстве:

а) нет никаких ограничений на стандартизацию планирования.

б) к единому планированию на уровне региона пришли единицы. и более того во многих ситуациях - оно вредно.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

только несколько задач вместо одной. и всё.

в чем проблема? мне не совсем понятно.

в том что ты пытался запилить универсальное решение которое нихрена не получалось?

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

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

в том, что описание этих задач - это по 150-200 страниц методик планирования от каждого муниципалитета - где мне программисту еще часов 15-20 в сутки выдать, чтобы он это всё вычитал по каждому муниципалу? и чьи-то рассказы тут ничего не решают - потом окажется, что рассказавший косякнул и в итоге функционал не совпадает с тем, что дословно прописано в методике.

и причем различия идут - на уровне нового программного функицонала. при том - это не решается "пришел бух. петров и все рассказал" - это по 3-4-6 месяцев постоянных совещаний, ругани с юристами и постоянной переписки. если этим всем программер будет заниматься - он работать когда будет?

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

если ты не умеешь общаться со специалистами других направлений и быстро решать проблемы - то это только твоя проблема.

для того чтобы "рассказавший не косякнул" все оформляется документально и подписывается с обоих сторон.

ладно, мне этот  разговор наскучил да и вообще в сторону ушел куда-то.

программисту все же требуется разбираться в теме - не важно ли учеба на месте по факту или использование накопленных ранее знаний но полный "дуб" в теме ничего не сможет. "глубина" же диктуется решением каждой конкретной задачи.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

для того чтобы "рассказавший не косякнул" все оформляется документально и подписывается с обоих сторон.

сиречь имеем вычитку вышеназванных методик и поиск лишних 15-20 часов в сутки.

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

во внутренностях 100500 js-фреймворков копается с удовольствием, а к чему-то кроме тз (нормативные документы, как вы приводите) религия ему не позволяет притронуться?) программист как черный ящик - на входе от аналитика тз, на выходе в отдел тестеров - говнокод, вот это картина))


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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

понимание предметной области должно быть. вот только оно не может быть предельно глубоким.

буквально вчерашний пример - очередное поделие нашего Минфина - 160 таблиц + талмуд с метод. рекомендациями. Оно бы и было хорошо посадить читать эту хрень программиста. вот только это он на день-два из рабочего процесса вылетит.

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

2
Автор поста оценил этот комментарий
Частенько разбирается лучше, чем люди, которые потом этими программами пользуются
раскрыть ветку (8)
2
Автор поста оценил этот комментарий

разбирается. только не программист, а человек, который это все дело внедряет и допиливает по необходимости (не могу таких отнести к программистам). сам такой же.

а вот программист писавший ядро, писавшие клиенты и прочие оболочки - ему нафиг не упало знать какой порядок санкционирования у какого из клиентов.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Чаще всего нет никаких людей, которые внедряют и допиливают.

раскрыть ветку (1)
Автор поста оценил этот комментарий

я не знаю с кем вы работаете - я как раз таким специалистом и работаю) и среди компаний конкурентов - такая же ситуация - программисты отдельно/внедренцы-аналитики отдельно.

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку