Предыстория
В одном из докладов на небольшой it-конференции однажды была описана градация развития программиста по уровню решения задач (по памяти формулировка неточная):
- Написание кода - когда руководитель дает четкое описание, которое нужно перевести в код, со входными и выходными данными
- Решение небольших задач - когда необходимо самому продумывать способ решения данной задачи (это может быть метод, модуль и т.п.)
- Решение задач бизнеса - когда нужно спроектировать решение проблемы бизнеса, взаимодействовать с людьми вовлеченными в это, на выходе может получиться не просто модуль, а отдельный проект со своими правилами
- Решение задач пользователей - планирование развития программного продукта, взаимодействие с большей аудиторией.
- Решение глобальных задач - то, что "меняет мир", написание инструментария, платформы для решения более широкого списка задач
Из этого выходит, что если уровень "написания кода" обозначает кодера, уровень "решения задач" - "программиста", то следующий уровень - "решение задач бизнеса" - будет соответствовать "архитектору".
Является ли переход программист-архитектор последовательным профессиональным ростом?
Как происходит это развитие? Некоторые советуют часто менять работу, чтобы пробовать разные проекты в разных предметных областях, изучать их и черпать понимание архитектуры оттуда. Но этот способ не для всех.
Также очевидно, что только хорошей технической подготовки не хватит для построения с нуля архитектуры ИС для бизнеса.
Какие нужны дополнительные знания для этого и где/как их эффективнее всего получить? В какую сторону гуглить, с чего начинать?