Being an Active Architect
This could sound strange. Martin fowler said once, who need architects?(fowler article). I always believe that to be specialist in something you need to that thing, for me is very complicate the view of *Specialized Architect* the IT Industry have. First all IF you dont CODE you are not an architect anymore, because CODE is want make you pure, its the bound that make you practice every will keep you current. If you think about money when money become with no value? when the coin is not current, so if the coin is not running and its old its consider not current and lost the value, why for software architect we think just because you did something 5-10 years ago you still have value? Because is far as i know things change pretty much everything is sense of technologies from 3 to 3 years.
There is value being a mentor and give guidance for other architect, discussion high level solutions are well but this is only 30% of the problem, that's all the piratical, operation and production point and perspective you just get doing, as soon as you stop doing you become a manager not an architect.
Most of architects are not architects maybe they never was, in fact they might be just manager who know about old technologies, hold one so watches the different for the traditional manager in comparison with an architect or enterprise architect with you like it more? For me none. There is people who believe if you code you will never buy technology and will be always doing stuff in house, i cant blame they but i dont think that's true or accurate. Architecture is about foundations and requirements you need to know you problem well but you also need yo know the technologies well so them you can pick the right chooses. Even when you picked, its just power point and it only be valid once you put into production them it makes real.
Production is a interesting aspect right, lots of architects dont think about production, they just thing about APIs and development, so this is not software architecture for me, if you dont think how things will happen in production is like to make a paper boat and put into a middle of storm with vikings they will destroy your paper boat(software) and it will fail. For all this reasons the architects needs to:
* CODE
* To Benchmarks
* Run Stress Testes
* Do Chaos/Failure Engineering
* Refactor Code
* Learn new Languages
* Try new frameworks
* Know formal models
* Understand Requirements
* Understand Technologies(Good, Bads, Dev, Ops and Business point of view)
* Lead the team
* Be a mentor
* Share
* Be Humble
* Read and review code from others
* Going to Tech Events
* write his own ideas
* Reading Books
* Reading Papers
* Watching Videos
* Doing Complex POCS
* See other problems, other points of view
* Look for Failures, Issues, Bad Cases, Anti-Patterns
* Do Consultancy in more them one project(know more than one business)
* Write TESTS
* Understand / DO Operations
This are the things that make you CURRENT and most of this things are central to CODDING, speaking about code, teaching about CODE, managing CODE, Training people about CODE, writing CODE to Operate CODE(a.k.a DevOps Engineering). The problem this things are dynamic and we always changing everything, so there is not way to stop doing this and still be Active otherwise you are just a Manager.
Architecture is not about doing everything, is not even a single man job depending of the size, scale and complexity of you problem, but for sure if you cut the coding part its clear you put your self into the patch of deprecation, and people dont realize this.
Cheers,
Diego Pacheco