Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AlaaAttya/software-architect-roadmap
Software architect roadmap
https://github.com/AlaaAttya/software-architect-roadmap
application-architect architect architecture enterprise-architect roadmap skills software-engineering solutions-architect
Last synced: 10 days ago
JSON representation
Software architect roadmap
- Host: GitHub
- URL: https://github.com/AlaaAttya/software-architect-roadmap
- Owner: AlaaAttya
- Created: 2018-04-16T18:45:20.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-05T14:25:02.000Z (over 4 years ago)
- Last Synced: 2024-10-15T01:41:07.939Z (24 days ago)
- Topics: application-architect, architect, architecture, enterprise-architect, roadmap, skills, software-engineering, solutions-architect
- Homepage:
- Size: 1.86 MB
- Stars: 1,045
- Watchers: 43
- Forks: 162
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-roadmaps - Software Architect Roadmap - Roadmap for becoming a software architect. (Miscellaneous)
README
Software architect roadmap
==========================
In general software architect is like the architect in real-life.
Hes's responsible for making high-level design decisions.### Objective :triangular_flag_on_post:
The objective of this document is giving an overview about the skills required by software engineers to level up and become a software architect.
Still there's no ideal skills required to be gained, but this is just a roadmap to be followed to highlight the main skills to be gained.There's no standard roadmap or specific methodology to follow to become an architect.
Being a good architect is getting achieved by applying and implementing more than reading.Below is a broadway roadmap that you can follow to start being a software architect.
![map](images/map.png)
Let's define the 3 categories of software architects
### Solutions architect [very detailed architect]
Solution architect is mainly the one responsible for translating requirements into code.
Sometimes we can call him the "project development team lead" for a specific project.
He's responsible for the following:
- Guiding the development team through the implementation process in every technical details.
- Making sure that the developed solution meets the designed architecture.
- Making sure that the developed solution meets the functional requirements.
- Participate in choosing the right design patterns for solving problems.Solution architect would be guided by the "Enterprise architect".
### Application architect
Application architect is the one responsible for the following:
- Choosing the technologies that will be used to implement the application. He'll be
- Making sure that the team is meeting the standard of the technology used.
- Responsible for choosing and cooperate in developing packages/frameworks that will be used by the team.
- Reliability and scalability of the application.
- Maintaining/refining the development life cycle of the application.Sometimes they choose one of the development team to be the application architect.
### Enterprise architect [highly abstracted architect]
Enterprise architect is the very highly abstracted architect responsible for the following:
- Designing the high level organizational development process.
- Designing UML that will be used by application/solution architects.
- Should be engaged more with the business mission of the company and the IT strategy.
- Raising the skills of the development team and maintaining their knowledge.## Contribution :muscle:
- This project is created by [Draw.io](https://draw.io/) so for contribution just download the [map.xml](files/map.xml) import it, edit it and update the exported images in `images/map.png`
- If you want to discuss any ideas/suggestions just ping me on
[![Twitter Follow](https://img.shields.io/twitter/follow/espadrine.svg?style=social&label=@AlaaAttya)](https://twitter.com/AlaaAttya)
or [:email:](mailto:[email protected])