As a developer, there are many coding challenges and you solve them by applying many techniques such as refactoring, multi-threading, optimization for performance, transaction management, coding rules compliance etc.
Each developer would aspire to become an architect in due course & find the path to be very challenging at times. Some people get guidance from their mentors & few learn it through training/certification, reading, social media, blogs etc.
We define AJP (Architect Journey Path) for a developer so that you don’t get lost in the process & achieve your goal to be a successful architect.
|Role||Responsibilities & Skill-set|
|Developer||Coding, Rule Compliance, Unit Testing, Integration Testing, Refactoring, Design Patterns Implementation, Performance Optimizations, Security Fixes|
|Technical Lead||Development Skill-set Plus
Design Patterns, Anti-patterns, Refactoring, Reviews, Performance & Security Testing/Fixes, Design/Architecture Components
|Technical Architect||Technical Lead Skill-set Plus
Architectural Patterns, Design/Architecture Creation, Specific Technology Artifacts such as data, security, information, UML, Broader Technology Knowledge (Build & Release, DevOps, Deployment Topologies, Cloud Technologies)
|Solution Architect||Solution Mapping to Specific Technology, Impact Analysis, ROI of Technology Decisions, Broader Solution Knowledge (COTS vs. OpenSource, Solution Comparison & Recommendation)|
|Enterprise Architect||All the above plus
Enterprise framework knowledge (e.g. TOGAF), Architectural Patterns, Architecture Evaluation Skills, Roadmap Planning, Technology Vision, Future State Architecture, Gap Analysis, Stakeholder Management (Business & Key Technical)
In conclusion, it is a progressive journey & as a developer, you can’t cover it overnight. But if you can plan it & make it goal-oriented, you can be a very insightful software architect. Remember, journey is more important than the outcome!!