Are we becoming Software Architects dinosaurs?
What is an architect? What it does? why do you need them btw? Thats really depends on what you belive and how to you see systems.
The IT Industry have some common ground ideas, but often ideas get mixed with different interpretations of the terns and practices.
There are company that say stuff like an Java Architect or .NET Architect. I think this is worng, most likely they are senior developers in java or .net or a architect that knows one of this languages a real architect know more than one language for me. So an Architect is an architect is not an Java Architect. If you just know java could you be consider architect? Today a solution could be using several different technologies and stacks, would a pure vendor/language solution be ideal?
What is the problem with shared words?
Architecture could mean one thing for one company and another for other, since IT is not something heavily regulated(i`m not complaining about that) same word like "arch" could have different meaning and different implications and skills sets. If you get a great set of engineers you really dont need architect as a central role, but that is something hard its not easy get awesome professionals now a day, actually is getting harder to hire good guys, is easier develop and help to grow people rather than just hire.
People see this in the market thats why some companies work with skills sets rather than roles and even with roles if you ask the market for arch people you will get the average of the market does for it, is that good hiring process? I thing a better hiring process is focus on ear intelligence, culture matching and potential to kick ass :-)
Kick Ass Engineer, Ninjas, Full Stack
I like this, because it make it way more explicit and avoid people do attract wrong skills sets, thats works great if you want a amazing professional, the problem again is the fact that this people is hard to get it, and you might get some people afraid since the guys could be a good developer but could not feel to be a ninja and he might not submit for the position because of what you asked.
In other side of the coin as a business model or operational differentiation this is great because you say explicit your level and you raise the bar, thats great for technical excellence and quality focus. In the end of the day is all about what you attract and what you want todo, whats is your vision of architecture.
My vision is that me and the group of people a know are becoming dinosaurs and we could get extinct. If you get very specialized into something you might not found may places you fit, even if you can adapt it does not mean you want to right?
The Gap
This is why, it happens. Most of "Architects" are in the opposite of this spectrum, most i see are seniors software engineers. As you stay at the same company people may want you focus on the business that you move you from solution to business and enterprise architect. There is some interesting skills like: prioritization, vision, leadership, talk to the business and talk to the IT guys but thats useful for huge companies. Spottily have a better way todo this breaking things into functional teams but this still a approach.
In the other side of the coin software companies what the guys(if not become managers) to be heavily technical and called architect but are they are really architects? Often they are not, they just are senior software engineers.
A Software architect become into the center of the middleman, it has skills to communicate with the business and can make power points but dont spend the whole day coding and configuring jars and frameworks but the guys think about the principles and the big picture but it also code the architecture.
Sizes
For me IMHO the write approach is have software architecture, have someone that could stay in the middle and code because code is what keeps you current and smart. but business skills are useful you need to be able to communicate with people and explain why they should go one one instead of another.
This will may very depending of the size of your company and how simple or complex things are, generaly speaking. Unfortunately this is getting extinguished since people grow at enterprise level and them get to away from the code, thats a natural process, i`m not saying is wrong, i`m just saying we are loosing important things.
Cheers
The IT Industry have some common ground ideas, but often ideas get mixed with different interpretations of the terns and practices.
There are company that say stuff like an Java Architect or .NET Architect. I think this is worng, most likely they are senior developers in java or .net or a architect that knows one of this languages a real architect know more than one language for me. So an Architect is an architect is not an Java Architect. If you just know java could you be consider architect? Today a solution could be using several different technologies and stacks, would a pure vendor/language solution be ideal?
What is the problem with shared words?
Architecture could mean one thing for one company and another for other, since IT is not something heavily regulated(i`m not complaining about that) same word like "arch" could have different meaning and different implications and skills sets. If you get a great set of engineers you really dont need architect as a central role, but that is something hard its not easy get awesome professionals now a day, actually is getting harder to hire good guys, is easier develop and help to grow people rather than just hire.
People see this in the market thats why some companies work with skills sets rather than roles and even with roles if you ask the market for arch people you will get the average of the market does for it, is that good hiring process? I thing a better hiring process is focus on ear intelligence, culture matching and potential to kick ass :-)
Kick Ass Engineer, Ninjas, Full Stack
I like this, because it make it way more explicit and avoid people do attract wrong skills sets, thats works great if you want a amazing professional, the problem again is the fact that this people is hard to get it, and you might get some people afraid since the guys could be a good developer but could not feel to be a ninja and he might not submit for the position because of what you asked.
In other side of the coin as a business model or operational differentiation this is great because you say explicit your level and you raise the bar, thats great for technical excellence and quality focus. In the end of the day is all about what you attract and what you want todo, whats is your vision of architecture.
My vision is that me and the group of people a know are becoming dinosaurs and we could get extinct. If you get very specialized into something you might not found may places you fit, even if you can adapt it does not mean you want to right?
The Gap
This is why, it happens. Most of "Architects" are in the opposite of this spectrum, most i see are seniors software engineers. As you stay at the same company people may want you focus on the business that you move you from solution to business and enterprise architect. There is some interesting skills like: prioritization, vision, leadership, talk to the business and talk to the IT guys but thats useful for huge companies. Spottily have a better way todo this breaking things into functional teams but this still a approach.
In the other side of the coin software companies what the guys(if not become managers) to be heavily technical and called architect but are they are really architects? Often they are not, they just are senior software engineers.
A Software architect become into the center of the middleman, it has skills to communicate with the business and can make power points but dont spend the whole day coding and configuring jars and frameworks but the guys think about the principles and the big picture but it also code the architecture.
Sizes
For me IMHO the write approach is have software architecture, have someone that could stay in the middle and code because code is what keeps you current and smart. but business skills are useful you need to be able to communicate with people and explain why they should go one one instead of another.
This will may very depending of the size of your company and how simple or complex things are, generaly speaking. Unfortunately this is getting extinguished since people grow at enterprise level and them get to away from the code, thats a natural process, i`m not saying is wrong, i`m just saying we are loosing important things.
Cheers