«Человеческий фактор» при создании информационных технологий (А.П. Ершов, Эд. Дейкстра, Н. Непейвода, Г.Р. Громов)

Ответ

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

Так, например, Дейкстра подчёркивал, что современный программист должен хорошо владеть естественным языком, должен быть способным к адекватному самовыражению. Программист, прежде чем написать компьютерную программу, должен осознать и выразить на естественном языке что же он от железяки хочет. Дейкстра говорит, что программистов надо обучать особым образом — как интеллектуальную элиту.

Непейвода

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

Непейвода подчёркивает важность гуманитарной подготовки специалистов в области ИТ.

Громов анализирует ситуацию менедмента в области ИТ — он статистически обосновывает мнение о том, что гуманитарии в области менеджмента ИТ делают более успешную карьеру, чем технари.

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

Громов — гуманитарий — менеджер ИТ гораздо более открыт новым идеям, у него нет привычки отвергать нечто непринятое, его интеллектуальная культура обладает большей терпимостью к новым интерпретациям.

Ершов:
Подчинение программирования промышленным методам работы — это неизбежный факт. Однако, что эта тенденция должна быть сбалансирована встречной инициативой, состоящей в том, что программист должен найти некоторую систему внутренних ценностей в своем деле, обладание которой позволит ему легче ассимилировать индустриальные методы работы, где надо — преодолевать их. эта система ценностей в программировании объективно существует, однако осознана не до конца, известна не всем и поэтому требует распространения и защиты. Эта система имеет много компонент, пожалуй, самая важная из них — это профессиональный статут программиста (надо заметить, что о программистах автор здесь говорит в широком смысле, причисляя к ним и системных аналитиков), но в данный момент больше хочется сказать об эстетической или об эмоциональной стороне программирования, причем не только о том, что вознаграждает программиста, когда он выходит со своим продуктом к потребителю, но и о том, что составляет его нравственную опору, когда он остается наедине с программой или машиной.
Трудности:

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

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

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

Отношение к профессии программиста меняется:

  1. сложность программ растет - зарплата стоит
  2. растет безработица
  3. ореол непостижимости профессии уходит
  4. программисты попадают в плен к администраторам и т.д.

Основные организационные альтернативы или просто трудные вопросы, касающиеся организации труда программистов:

  • Возможна и нужна ли организация разработки софтвера по принципу конвейерной линии?
  • Кого и почему труднее найти для реализации софтверного проекта — руководителя или исполнителя?
  • Как сочетать элитарность системного программирования с его массовостью?
  • Как воспитывать программиста, через мировоззрение (университет) или путем профессиональных навыков (технический институт)?
  • Что такое индивидуальные способности в программировании, специфичны ли они и нужны ли?
  • Можно и нужно ли отделять проектирование большой программы от ее изготовления?

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

Аспекты работы:

  1. Конвейер - большая проблема, ибо программист тупеет
  2. Руководители и исполнители - почему-то в начинающих проэктах стремяться набрать молодых, а не опытных. Мы не умеем развивать достоинства так, чтоб они е падали с возрастом и были бы полезны не только для руководителя. но и для него самого и его будущих начальников.
  3. Мировоззрение и профессионализм - программирование обладает богатой и своеобразной эстетикой, которая лежит в основе внутреннего отношения программиста к савоей профессии, являясь источником интеллектуальной силы. Корни - в творческой природе.
    Мы знаем то, что можем запрограммировать. Этические принипы программиста отличаются. Всего есть: работа ради работы, работа ради денег, работа ради цели. У программиста первые два, у нормального человека - лишь третье. Так же требуется бороться за куммулятивный эффект программирования.
  4. Индивидуальные способности - баланс умных и глупых
  5. Разделение проектирования и изготовления

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

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License