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