Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Jobs Discussion and the fly likes Architects Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "Architects" Watch "Architects" New topic
Author

Architects

Deepak Bala
Bartender

Joined: Feb 24, 2006
Posts: 6661
    
    5

I have several questions about what an architect does in his/her day to day life and the path one takes to reach the architect position. Is it an absolute must that some one should take this path -

Developer -> Module lead -> Team Lead -> Architect

Or can you jump from developer to Architect ? What is the selection criteria for an Architect ?

After you are done looking at the requirements and developing a solution, does an architect design new smaller projects within the same project or does he/she move to another project and start from scratch ? Or perhaps stay in the current project and help the maintenance team by explaining the design of your solution ?

One more question. Is it normal for a J2EE architect to shift to other technologies if they so wish ? That part does not make much sense to me. Only after you work with java for some time will you come to know what the technology can do and what it cant do. So isnt it unlikely for a J2EE architect to shift to say - the .NET or microsoft side of things ?

If you are an architect please throw some light on this. Even if you are not one I welcome your observations.


SCJP 6 articles - SCJP 5/6 mock exams - More SCJP Mocks
Srikanth Raghavan
Ranch Hand

Joined: Oct 31, 2005
Posts: 389
Originally posted by John Meyers:

If you are an architect please throw some light on this. Even if you are not one I welcome your observations.


I am not an architect in fact I am not even a team lead. But I have pretty much experienced all the four (Developer, Module lead, Team Lead, Architect) informally right from day 1 of my short career so far cause I work for a small company.

And I would like to add my opinion on whether a J2EE architect can switch himself to a .NET architect. I think though he can, it's preferable to get a .NET architect for a .NET project and a J2EE architect for a J2EE project. Let me give a small analogy.

Let's say we bring a .NET architect for a Java GUI based project. And if he decides that the project's GUI must be built using SWT/JFace framework instead of Swing because of various reasons it is fine, but what if he says the GUI must be skinnable like a Swing application. A Java architect will know that he would not have the flexibility of PLAF with SWT/JFace and that he knows through this path: (Java Developer -> Module lead -> Team Lead -> Architect).

This may not sound like an argument but just my opinion.

Srikanth
[ December 23, 2006: Message edited by: Srikanth Raghavan ]
Scott Johnson
Ranch Hand

Joined: Aug 24, 2005
Posts: 518
I have several questions about what an architect does in his/her day to day life


I'm sure every shop is a little different, but here's we do it.

Architects:
  • Provide technical expertise to application development teams and infrastructure teams.
  • Develop advanced design specifications and ensure the solution will be scalable, maintainable, secure and, of course, meet the business' goals.
  • Set the technical direction that will allow the company to meet it's goals.
  • Document the current enterprise architecture, define the future architecture and a roadmap to get there.
  • Investigate the the most technically complex problems.
  • When there are issues, run war rooms and coordinate getting the issue resolved by engaging the appropriate teams, vendors, management, etc.
  • Have a wide range of expertise (hardware and software) developed over several years of developing solutions to a variety of problems.
  • Evaluate and acquire software, hardware and services.
  • Are involved with strategic planning and budgets.
  • Keep abreast of the changes in the industry including new technologies and methodologies.
  • Are excellent problem solvers and think independently.
  • Work with little or no direct supervision.



  • Is it an absolute must that some one should take this path -

    Developer -> Module lead -> Team Lead -> Architect


    No, it's not a law. But by succeeding as a module lead or team lead you demonstrate that you have the qualities of a leader and the respect of those you work with.



    After you are done looking at the requirements and developing a solution, does an architect design new smaller projects within the same project or does he/she move to another project and start from scratch ?


    In my shop architects usually work multiple projects simultaneously. Architects stay engaged throughout a project, but most of our time is spent on the front side of a project. After finishing a project, the next project may be in the same area or it may be different.

    Or perhaps stay in the current project and help the maintenance team by explaining the design of your solution ?


    If this is necessary, the design was too complex and/or poorly documented.

    Is it normal for a J2EE architect to shift to other technologies if they so wish ?


    Architects should not be J2EE architects or .NET architects. They should have a wide expertise and knowledge to allow them to choose the right tools for the job.
    [ December 23, 2006: Message edited by: Scott Johnson ]
    Jesus Angeles
    Ranch Hand

    Joined: Feb 26, 2005
    Posts: 2049
    John,

    Related to the other forum entitled something like 'Singapore offer':

    I said:
    ----------
    There is a lot of at stake for an architect.
    ------------

    It should be simple to be an architect, but, based on my recent experience, architecting the mainframe side of an MVS COBOL/MQ/J2EE application, and being also one of the low-level programmers, the architect position is like one of the places to be careful.

    My design wasnt that perfect, and stuff that happen, like requirement change (yes, users ggggggrrrr change requirements in the middle of the project, but sometimes, due to stuff that was not foreseen until development), shows the flawlessness of the design that the architect made. It can be unmaintainable or stiff, non-modular, etc. It shows I am into some fun time learning.

    I want to ask also to those experienced: There is a software architect, and a hardware architect right? Or I, as a software architect (in future), should have it in my arsenal? "should!" Meaning I should know hardward stuff down to their mbps, speed, most current hardware, and difference to older hardware?
    Deepak Bala
    Bartender

    Joined: Feb 24, 2006
    Posts: 6661
        
        5

    It can be unmaintainable or stiff, non-modular, etc. It shows I am into some fun time learning.


    Yep ! One has to be careful. Its cool that you have started designing some projects. How many years did it take you to reach where you are ? I mean something like a junior architect thing. Did you follow the Developer -> Module lead -> Team lead path ?

    It would be a plus if we also know the hardware side of things although that really needs hands on experience putting things together and figuring out what can go wrong. User requirements changing all the time can really bite you in the butt. Its the rework thats so painful.
    Mark Herschberg
    Sheriff

    Joined: Dec 04, 2000
    Posts: 6037
    I knew plenty of 25yo architects. I even consulting for a company where the architect hadn't yet graduated college.

    The answer, as with many questions in Job Discussion, is: it depends. If you're working for a large company (e.g. IBM, Accenture, Sun), there is usually a path such as the one you laid out. Employees will have anywhere from 6-15 years of experience before becoming an architect. Alternatively, there are smaller companies in which architects may have only a few years of experience and were siply developers prior to this role.

    The real question is, for the type of architect role you might want (e.g. size of company, type of company, vertical) what are the characteristics of architects.

    --Mark
    alfred jones
    Ranch Hand

    Joined: Apr 19, 2005
    Posts: 279
    hmm...

    Trust me, becoming an TRUE architect is not easy job.

    He needs to be an master.

    Architects are paid very high because of their expertise and knowledge.

    The most important thing is ..they can foresee the future.

    sometimes they are called also CTO depending upon company designation rule.

    I know couple of BIG architects from BIG companies .....they are really geneious guys....and masters.


    No, there is no need to follow the ladder like team lead etc etc.....only requirement is to have vast knowledge of the kind of work you are doing.


    I met a J2ee architect and he knows all the j2ee technologies with high level experties.

    Architects are very respected person in a company and an asset and are of high demand....very few people can become true Architect ....they mostly work as advisor.


    what did you say ? technology ...oh no....they dont bother about technology .....when you will become an architect ..you will think only binary neither java nor c++ .....you should know j2ee , .net are same except the copyright and syntax
    [ December 25, 2006: Message edited by: alfred jones ]
    Rahul Sonawale
    Greenhorn

    Joined: Apr 05, 2006
    Posts: 6
    Excellent discussion at
    http://www.coderanch.com/t/154693/java-Architect-SCEA/certification/it-takes-architect

    Also check
    Characteristics of a software architect

    and

    /Architecture Roadmap

    Rahul
    Simon Brown
    sharp shooter, and author
    Ranch Hand

    Joined: May 10, 2000
    Posts: 1913
        
        6
    For me, an architect takes a problem statement (the functional and non-functional requirements) and creates a viable solution to that problem. Throw in a mix of technical consulting, business consulting, technology selection/due diligence, training/mentoring, quality assurance with the ability to write code and you have my definition of what a technical architect does on a day to day basis. The role is as much about leadership and influence as it is about technical depth and breadth.

    As you've probably discovered, there are endless discussions on this subject around the web. Here are some of my blog entries about the role of an architect.

    I don't believe that there's any formal path to becoming an architect. For me, it was quite evolutionary and I found myself doing more and more of the tasks associated with the role description above. I think you can call yourself an architect when you have the experience and confidence to perform the role.
    [ January 09, 2007: Message edited by: Simon Brown ]
    Peter Rooke
    Ranch Hand

    Joined: Oct 21, 2004
    Posts: 801

    Here is a interesting podcast : Software Engineering Radio


    Regards Pete
     
    wood burning stoves
     
    subject: Architects
     
    Similar Threads
    I hate my tech lead....
    Few Question For J2EE Developer
    Part II - How do develop an architects mind?
    SCEA and PMP
    I Want To Be An J2EE- Architect ..Kinldy Show Me The Path