Если можно, еще одно мнение по теме программистов.
Во-первых, хочу сказать, что сейчас наша
коммерческая отрасль программирования полностью работает на багаже запада, а государственная/военная - в основном на советском багаже. А главное отличие западной школы от советской (во всём, не только в программировании) - отсутствие системного подхода. Грубо говоря, они привыкли все проблемы "заливать деньгами" и иными доступными ресурсами, а мы привыкли считать каждую копейку. И никому в СССР не пришло бы в голову внедрить нечто вроде agile-технологий, когда никаких чётких обещаний по срокам, качеству и функциональности полученного результата команда не даёт, но заказчик обязуется обеспечивать этой команде комфортные условия работы.
Во-вторых, ориентированность зарубежной индустрии ПО - это финансы/продажи и развлечения. Нашей - государственные задачи и военка.
В, общем, всё согласно автору данной ветки, у них главная третья квадра, у нас - вторая, вот по-разному у нас и программисты работают.
Теперь, что из этого вытекает. В компаниях, ориентированных на запад, программистам работать достаточно комфортно. Их обкладывают со всех сторон помощниками (аналитиками, тестировщиками, ПМами и т.п.), прогибают под них заказчиков, чтобы думали за них. А для программиста задача - написать код - всё! В точном соответствии с детальной постановкой задачи.
В компаниях, ориентированных на реальную разработку софта для госструктур (МВД, РЖД, МО и т.п.) - всегда задачи программистов шире. Абсолютное все(!) высококвалифицированные специалисты начинают разговор о создании программ не с вопроса "что должна делать программа", а как - на уровне и с учётом регламентов и нормативных документов - должны работать люди и системы. Т.е. наши специалисты всегда разрабатывают не программу - а АС, в которую входят люди (читайте ГОСТ 34), поэтому объём информации и спектр решаемых задач нашими специалистами - на порядок больше, чем у узких западных специалистов.
Соответственно, и заказчики "у нас" и "у них" мыслят по-разному. У них - внимание чисто внешнему интерфейсу, как сделать в локальном смысле (для конкретного человека) удобно и понятно. Поэтому постановка задачи содержит большое количество готовых частных решений. Ну и что, что это лоскутное одеяло не сшивается, не соответствует регламентам и законам и местами даже не очень работает. Напишем (и заплатим) ещё разок, версии с третьей, а то и с седьмой у нас что-то реально работающее получится,
подопытные кроликипользователи помогут.
У нас заказчики говорят об общих характеристиках продукта, всё внимание уделяется глобальной (а не локальной) оптимизации работы системы с точки зрения её назначения. А также - насколько её можно поддерживать своими силами, ибо денег на дорогой аутсорсинг никогда нет. Наши заказчики не будут думать за разработчиков - какие алгоритмы использовать, какой интерфейс делать, какую нормативную базу надо использовать. Думай сам - на то ты и специалист. Не учтёшь чего-то - сам дурак, будешь за свой счёт переделывать.
В общем, моё мнение - надо восстанавливать советскую школу инженеров-АСУшников. Ещё есть люди, у кого поучиться, есть наследие в виде ГОСТ и отраслевых нормативных документов, в которых остался тот советский системный подход. Специалисты, подготовленные на такой базе, способны создавать системы гораздо более серьёзные, в ощутимо меньшие сроки и деньги, чем на западе. Но - это будут системы не для развлечений и зарабатывания бабок, а для защиты страны и других государственных функций.
... Прочитал свой текст. Ну, немного преувеличил я разницу между госами и частниками, но в целом я эту систему вижу, поэтому оставляю как есть на ваш суд.

P.S. Стив Джобс - один из немногих на в современном западном ИТ, кто мыслил системно. Правда, всё равно в западном направлении - развлечения и зарабатывания бабла, и он был один такой гений, т.е. не продукт системы.
Отредактировано: jamaze1 - 06 сен 2013 в 17:29