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