As a developer, there are many challenges and you solve them by applying many techniques such as refactoring, multi-threading, optimization for performance, transaction management, coding rules compliance, etc.
As a developer, if you aspire to become a software architect, you need to carve out the journey and create a milestones-based plan towards developing the broader skill sets.
We define AJP (Architect Journey Path) for a developer so that you don’t get lost in the process & achieve your goal of being 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 along with: Design Patterns, Anti-patterns, Refactoring, Reviews, Performance & Security Testing/Fixes, Design/Architecture Components |
Technical Architect | Technical Lead skill-set along with: Architectural Patterns, Design/Architecture Creation, Specific Technology Artifacts such as data, security, information, UML, Broader Technology Knowledge (Build and release, DevOps, Deployment Topologies, Cloud Technologies) |
Solution Architect | Technical Architect skill-set along with: Solution Mapping to Specific Technology, Stakeholders’ Management, Broader Impact Analysis, TCO & ROI of Technology Decisions, Broader Solution Knowledge (COTS vs. OpenSource, Solution Comparison and recommendation) |
Enterprise Architect | All the above along with: 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) |
Our founder (Ankur Kumar) has also published a video below for tips on becoming an architect:
We have also published a GitHub repository for becoming a T-shaped Architect: https://github.com/ankurkumarz/t-shaped-architect
T-shaped skills: The vertical bar on the letter T represents the depth of related skills and expertise in a single field, whereas the horizontal bar is the ability to collaborate across disciplines with experts in other areas and to apply knowledge in areas of expertise other than one’s own.
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, the journey is more important than the outcome!