# Journey from a software developer to a software architect

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._

![Journey from a software developer to a software architect](https://vedcraft.com/images/2016/04/ArchJourneyMap.jpg)

Journey towards becoming a software 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:

<iframe src="https://www.youtube.com/embed/YcPipo_aSzw?feature=oembed" title="Top 3 skills to become a Software Architect" loading="lazy" allowfullscreen></iframe>

We have also published a GitHub repository for becoming a T-shaped Architect: [https://github.com/ankurkumarz/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.
> 
> — [Wikipedia definiton of a T-shaped skills](https://en.wikipedia.org/wiki/T-shaped_skills)

![Journey from a software developer to a software architect](https://vedcraft.com/images/2024/01/architect-skills.png)

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!**_
