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