Вопрос глобально не имеет однозначного ответа. Сколько людей - столько и будет вариантов, причем все верные.
Хочу отметить, что абстрактная декомпозиция никому не нужна (даже вредна, поскольку тратит бесценное время). Нужно уметь видеть в постановке задач доступные для тебя "кирпичики" и работать только с ними, пока они функционируют с удовлетворительным качеством.
Для примера пусть тебе нужно дёрнуть REST-функция с некоторого интернет сервера. Если у тебя есть библиотека, которая позволяет тебе сделать все на уровне "указал сервер", "указал метод", "указал параметры" и "получил результат", то зачем декомпозировать дальше на уровень реализации протокола HTTP, на работу с сокетами, ломать голову над маршрутизацией пакетов данных или вообще уходить на уровень управления сетевой картой с помощью прерываний?
Вторая мысль, на которой хочу остановится - не нужно делать чужую работу. Часто задачи на разработку дают уже максимально декомпозированные (есть целый класс мемов противопоставления навороченного собеседования и реальной примитивной работы в ИТ). Обычно программисты не общаются с заказчиком - там целая прослойка менеджеров для ограничения "аппетитов" и аналитиков для составления максимально подробной задачи. Но и "подробная задача" не сразу попадает на выполнение - часто сначала она оказывается на столе у системного архитектора, который уточняет доступный стек и разрешенные фреймворки. Потом задача попадает к техлиду, который дополняет ее своими практическими советами и ссылками на релевантные проекты.
Не обязательно, что программиста "кормят с ложечки", но если вы не программист 1С, то один-на-один с задачей вас никогда не оставят!!!
И последняя мысль - нужно меньше думать, а больше делать! Если сесть читать Кнута и Вирта, то голова будет забита бесполезной чепухой, которой можно хвастаться перед друзьями, но которую невозможно использовать ни при создании репозиториев в Spring Data, ни при описании активити в твоем мобильном приложении - внезапно окажется, что нужно было читать не беллетристику, а курить мануалы по Spring и Android.
Только практика, практика и еще раз практика!!! Далее количество перейдет в качество и ты уже сам будешь проводить вебинары на тему развития навыков декомпозиции.