Java Architect or Java Developer?

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?

** Be part of the Best Java Blogger 2 Contest (May 2005) **

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?

Reference:
>>? Hiring the phantom Java architect

The following two tabs change content below.
Content Team

Content Team

The IndicThreads Content Team posts news about the latest and greatest in software development as well as content from IndicThreads' conferences and events. Track us social media @IndicThreads. Stay tuned!
Content Team

Content Team

The IndicThreads Content Team posts news about the latest and greatest in software development as well as content from IndicThreads' conferences and events. Track us social media @IndicThreads. Stay tuned!

  • Andwaners61

    developers = develops
    architects = designs

    is that too complex?

  • Shrikant_dhage

    I think java architect is like the person who design your application as a architect level.And for this you must have to good java knowledge and other technologies which is dependent on java.I think java developer will be make as a java architect.

  • sharmabhabho

    A developer develops an application whereas architect interfaces the management, and the development team. Well whetehr you are a Java developer or an architect, i think it is good time for both. So many conferences keep taking place for Java developers. Waiting to chcek out the Sun Tech Days 2010 conference in Hyderabad where experts are going to share ideas on new technologies there. lets see what happens.

  • sharmabhabho

    A developer develops an application whereas architect interfaces the management, and the development team. Well whetehr you are a Java developer or an architect, i think it is good time for both. So many conferences keep taking place for Java developers. Waiting to chcek out the Sun Tech Days 2010 conference in Hyderabad where experts are going to share ideas on new technologies there. lets see what happens.

  • old code

    Architects should lead from the front, they should be the evangelist for a project. A good Architect takes ownership, and treats the project as if it were his or her 1st born. I believe a good grounding in development is essential, and at least a couple of real projects under their belt from a code perspective is the best way to ensure that the Architecture goes from Vapourware to Software.

    An Architect should be able to Walk the Walk as well as Talk the Talk. They do not have to be code guru’s able to remember the minutiae of detail of a given API, but they do need to know how long something will take to code and test, and pragmatic to know what’s possible within a timeframe and budget.

  • old code

    Architects should lead from the front, they should be the evangelist for a project. A good Architect takes ownership, and treats the project as if it were his or her 1st born. I believe a good grounding in development is essential, and at least a couple of real projects under their belt from a code perspective is the best way to ensure that the Architecture goes from Vapourware to Software.

    An Architect should be able to Walk the Walk as well as Talk the Talk. They do not have to be code guru’s able to remember the minutiae of detail of a given API, but they do need to know how long something will take to code and test, and pragmatic to know what’s possible within a timeframe and budget.

  • Rajaram

    An architect is a person who should have Comparative knowledge of technology. its not only about a java architect but also other software technology architect also. A developer can also fix the production level problem
    and they can make a decision to develop an application. but a good design is very good maintainable which can be given or monitored by architects or Sr developer. The role architect is more suitable where following situation arises.
    1) Big Project,
    2) Mission Critical,
    3) Shady Requirements,
    4) New Team,
    5) Tight Deadline,
    6) No Contingency Plan,
    7) Clueless Management … 😡

    Thanks,
    Rajaram

  • Rajaram

    An architect is a person who should have Comparative knowledge of technology. its not only about a java architect but also other software technology architect also. A developer can also fix the production level problem
    and they can make a decision to develop an application. but a good design is very good maintainable which can be given or monitored by architects or Sr developer. The role architect is more suitable where following situation arises.
    1) Big Project,
    2) Mission Critical,
    3) Shady Requirements,
    4) New Team,
    5) Tight Deadline,
    6) No Contingency Plan,
    7) Clueless Management … 😡

    Thanks,
    Rajaram

  • Chuntang

    The architect in IT industry is very different from the one in the other industries, other industries have little change, but IT industry is very different, new techniques and new frameworks are always created quickly.

    If you are a ‘coach’ in the basketball game, the rules don’t change all the time, so you can be a good coach even if you don’t play well.

    In IT,’rules’ always change, first you should be a player, know how to play, then you can be a good coach. If you don’t code in person, you don’t understand them well, you don’t know their weaknesses and strengthes either,
    how can you be a good architect!

  • Chuntang

    The architect in IT industry is very different from the one in the other industries, other industries have little change, but IT industry is very different, new techniques and new frameworks are always created quickly.

    If you are a ‘coach’ in the basketball game, the rules don’t change all the time, so you can be a good coach even if you don’t play well.

    In IT,’rules’ always change, first you should be a player, know how to play, then you can be a good coach. If you don’t code in person, you don’t understand them well, you don’t know their weaknesses and strengthes either,
    how can you be a good architect!

  • DGC

    I am totally agree with RMA. In a medium/large company, they always need a ‘coach’ in order to get all correctly done, otherwise, in production, you should implements some changes that could affect the company economy, just because ‘the application has not a good design’ and then, is when an Architect is called, to fix that ‘bad design’.

    Regards.

  • DGC

    I am totally agree with RMA. In a medium/large company, they always need a ‘coach’ in order to get all correctly done, otherwise, in production, you should implements some changes that could affect the company economy, just because ‘the application has not a good design’ and then, is when an Architect is called, to fix that ‘bad design’.

    Regards.

  • RMA

    Hi to all,

    Architect is the designer. He/she know how the system works flow and how it will be implement. Thats why we have a Functional Specs… Gathering Info and then from that info into a System Design. Blue Prints – Technical Specification….

    Developer is the creator. Who will make some coding parts, debugging, testing, and slight documentation. Will follow the Technical Specification.

    If the Architect will do some major coding… I would rather resign as an architect and re-apply for a developer. Why? …. its up to you to answer…

    Lets state a scenario, a Basketball game.. The architect is the Coach and the developer is the player. Not All Coaches are good in playing basketball, but they know how to implement it any ways… that’s a simple scenario. I hope we got it…

    hehehe 😀

    RMA

  • RMA

    Hi to all,

    Architect is the designer. He/she know how the system works flow and how it will be implement. Thats why we have a Functional Specs… Gathering Info and then from that info into a System Design. Blue Prints – Technical Specification….

    Developer is the creator. Who will make some coding parts, debugging, testing, and slight documentation. Will follow the Technical Specification.

    If the Architect will do some major coding… I would rather resign as an architect and re-apply for a developer. Why? …. its up to you to answer…

    Lets state a scenario, a Basketball game.. The architect is the Coach and the developer is the player. Not All Coaches are good in playing basketball, but they know how to implement it any ways… that’s a simple scenario. I hope we got it…

    hehehe 😀

    RMA

  • ‘Guest’

    Yes. I do agree with Mr.Sudhakar’s comments. An Architect must be a good communicator, understand the stakeholders needs, coordinator for the development team, understand & evaluate the technology and suggest the better fitment of the application.

    It’s obvious that over a period of time, if you are out of coding, you will forget but it doesn’t mean that you can’t do programming at all. It’s the expertise that drives you but not coding alone. For example, a General Manager – Marketing isn’t needed to be a salesman. He might have already come across all the odds and reached the position. He need to be a Mentor for the marketing staff but not a typical salesman.

    This is my conclusion.

    Regards,
    Raj

  • ‘Guest’

    Yes. I do agree with Mr.Sudhakar’s comments. An Architect must be a good communicator, understand the stakeholders needs, coordinator for the development team, understand & evaluate the technology and suggest the better fitment of the application.

    It’s obvious that over a period of time, if you are out of coding, you will forget but it doesn’t mean that you can’t do programming at all. It’s the expertise that drives you but not coding alone. For example, a General Manager – Marketing isn’t needed to be a salesman. He might have already come across all the odds and reached the position. He need to be a Mentor for the marketing staff but not a typical salesman.

    This is my conclusion.

    Regards,
    Raj

  • Noname

    Hi

    Very good Blog, with purposeful discussion, in my opinion ‘Architect’ is one who interfaces the management, Client and the development team. He should have clear understanding of this entire domain; Coding is only a part in the whole picture. An architect needs to have clear understanding on areas such as…

    1) Client Requirements
    2) Management/Organizations strategy
    3) Technology
    4) Ability of the team and
    5) Good communication and leadership skills

    Mere senior developer may/may not handle all this roles. An Architect role require more than development.

    Yes, I too agree that staying out of Technology and asking developers to develop something just for the buzzword sake doesn’t do anything good and this is where he (an Architect) has to apply all the other skills he should posses.

    Thank you.

    Regards,
    Sudhakar