Answer the question
In order to leave comments, you need to log in
What kind of job is an architect?
What does an architect do and how is it correct to be a system or software architect? On the web
Answer the question
In order to leave comments, you need to log in
Usually an architect is always a senior programmer.
Usually an architect is someone who has worked in a particular project for a decent amount of time to understand all the insides.
Typically, an architect is needed only on large projects with many different teams working on them, and his task is to keep the structure of the entire project in mind enough to develop standards and tools that are convenient for all teams.
Often the architect himself does not write so much anymore, and can even temporarily join any team to solve individual problems.
The architect is consulted if they want to create a new module.
The architect is consulted if they want to make global changes to the product in order to understand the risks.
Etc. Depending on the experience in a particular project and qualifications, the architect can make global decisions leading to product improvement, or he can simply press +2 in the code review of other people's commits for years.
Any software project has its own architecture. Not MVC, but more global. What are the components of the system and how do they interact? The architect must design and control this. The web does not end with the web face. The architect should be aware that a mobile application may someday appear to work in the current component infrastructure and clearly explain to programmers how to embed this application.
I know a little less about the web than more, but in general...:
A large complex system requires a thoughtful approach in development, otherwise:
first, it will never be implemented;
secondly, it will be difficult to find and correct errors in it;
thirdly, it will be difficult to modify it, add new functionality.
All this ultimately increases the cost / slows down the development process.
Therefore, the approach "There is no time to think - you need to code" does not work or works poorly. When a project is big the role of "thinking" falls to an individual who is called "architect".
The architect analyzes the general system requirements, divides the system into subsystems and modules, determines the interfaces for the interaction of systems and modules, and determines the requirements for subsystems and modules.
In theory, he should also know about design patterns, uml, idef.
And he must also have programming experience, otherwise he will produce "heresy" and no one will listen to him.
Once upon a time, when waterfall engineering was in favor, there were people like architects. They designed a domain model based on the model provided to them by business analysts and the architecture of the system as a whole, designed the whole thing through UML and gave it further down the pipeline to developers who, according to these "drawings", should have already coded everything. Usually these dudes were bearded and experienced, because mistakes at this stage can cost the business a lot of money.
Now, when Agile methodologies and development approaches are increasingly capturing the minds of people, a separate person "architect" is no longer necessary. This position is becoming less and less frequent and soon there will be none left. Now these dudes have become tech leads or just developers.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question