Программисты "запрограммированы" решать проблемы.
Хорошие программисты постараются решить «правильные» проблемы.
Просто предоставить то, что кто-то просит, - [часто] неправильная проблема, которую нужно решить.
В те дни, когда автоматизация MS Office была в моде, вы получите ряд вопросов, обычно в течение нескольких недель, с вопросом, как сделать «это» в одном продукте Office, а затем «это» в каком-то другом продукте. затем снова что-то еще в другом. Каждый из них быстро решается, но «проблема» - еще не полностью сформулированная - не решена. Они продолжают возвращаться к следующему «звену» в своей цепи.
Если вы остановите их и спросите их "Почему?" затем они должны отследить и объяснить более широко, чего они хотят достичь, а не просто описать проблему непосредственно перед ними. (Кстати, программисты страдают от этого так же, как (если не больше, чем) кто-либо еще, кому нравятся эти заветы медведя).
Цепочка пользователя «Получение данных из большой базы данных в Access, затем в Excel, чтобы немного помассировать их, затем в Word, чтобы они могли объединять результаты по почте и отправлять их по электронной почте людям каждую неделю», быстро заменяется пакетная работа, которая делает все это, с результатами, находящимися в почтовых ящиках людей первым делом в понедельник утром, без какого-либо ручного участия пользователя вообще.
Пользователям это нравится .
Нам нужно знать, куда вы пытаетесь добраться, прежде чем мы сможем предложить вам лучший способ добраться туда.
Или (перефразируя Монти Пайтона): «Вы хотите 5-минутный ответ или полчаса»?
Нет смысла программисту отбрасывать все мелочи конкретной функции, когда вы хотите знать, справится ли она, если вы передадите ей число с тремя тремя десятичными знаками.
Знание своей перспективы часто может радикально изменить ответ, который вы получите.
How do I walk on water?
Why?
I want to cross the river
Build a boat.