I just read an article “Hiring the phantom Java architect”. The article raises some questions about the role of a Java developer and a Java architect.
Are these two separate entities or is there some overlap? Can an architect also be a developer? What should be the division of work between an architect and a developer?
My observation is that generally architects who try to stay away from coding don’t get the necessary
respect from the developers. You hear comments like “It’s easy to
preach, the practice is what’s difficult” . While architects who are
very good at coding and also take up some coding work regularly gain
the developer’s respect very quickly. Developers come to them with their
problems and are more open to suggestions from such an architect.
In the article, the author is quite critical of
hiring managers for wanting a 50:50 architect + developers. He says
that “Architects are often idealized as Java gurus. The reality is they
are not gurus. Rather, they are the creative visionaries of an
organization’s Java future.”. He adds that “Yet when the 50-50 approach
is used to select a Java technologist, you end up with a generalist?not
a specialist. In the end, this lack of decisiveness ultimately creates
a lack of focus within your project.”
For the companies, I think it makes sense to recruit developer+
architect type people. This is especially true for small and medium sized companies where most work is executed by teams of less then 10 people. These teams just can’t afford to have one full fledged architect who is not involved in the coding.
Also an architect who stays away from coding can very soon lose
touch with the ground realities of Java development. This is the worst part, as then the architect starts pushing in technologies just for the sake of it. So even when the project doesn’t need them., you will see EJBs, web services and all sorts of stuff being forced into the system.
What do you think? Do you prefer having specialized architects or senior developers handling that responsibility while also being involved in the coding?
>>? Hiring the phantom Java architect