views:

418

answers:

3

I got out of college in 06 with Bachelors in CS and since then have been working as a Java Analyst. Last year I got into a project where I am the lead java developer. But somehow I do not feel confident about being a 'lead'. I believe I am just the lead because I maybe know a wee bit more than other 2 developers. I am trying to make the transition from lead/analyst to java architect. I felt completely lost when I searched for Java Architect interview questions. I know very vague answers to them as last time I really read about encapsulation was back in college.

What tips/career advice would you give someone like me? I am willing to spend same amount of time needed for a Masters into the journey to being an architect. What books/readings would you recommend? Will certifications make a difference? What type of effort is required?

+1  A: 

You can train to be an architect or a lead developer and it is definitely going to help but it doesn't mean that it will make you an architect. You need to have a personality that helps you to lead a project / team. Having knowledge is very important. In our field you always have to learn and if you are leader you need to teach others.

  1. You need to has a vision. Without a vision there's no direction you can lead your team.
  2. You must be able to share your vision. Communication is the key. You should be able to convince the management and developers you lead in your vision.
  3. You should be able to take charge.
  4. You should be able to inspire through example.

I'm trying to make a point here that you can have all the knowledge and all the training in the world but if you don't have a personality of a leader it's going to be tough to lead a team.

Vadim
Thanks for your suggestions. Will try to mold some personality traits.
josh
+2  A: 

The biggest gap I see between where you are and where you need to be is in experience, that is, time. (IMHO) you simply haven't been out of school practicing your craft for long enough to give you the experience and long-term vision needed to be an architect.

However, you can't simply wait for this time to pass. You must broaden your experience and repertoire with a number of different projects, [Ack, I'm starting to experience buzzword overload now..] and...

And, you may need to leave your company for another job. It can be hard gaining a good breadth of experience at just one job/company (instead of gaining 5 years of experience, you end up gaining 1 year of experience 5 times over).

Good luck!

Ether
thank you very much. I work in a small company of about 15 employees. I think I'll gain experience if new work comes in. I do agree with the time factor you mentioned. however, it isnt fair...we have a oracle developer who claims to have 14+ yrs of exp but does not know the steps required to convert a sql server db to oracle. anyways, I'll stop the rant.
josh
just checked out your links...I need to spend way more time on SO :)
josh
@josh - Changing from MS SQL Server -> Oracle may not be trivial, in that if you have a lot of T-SQL functions then you need to learn PL/SQL, and I doubt too many Oracle types know T-SQL. Besides, a developer is not the same as a DBA.
James Black
Just what I was about to say, the very worst architects I've run into were those who had not spent enought time in the trenches before becoming an architect. The worst one went from school directly to an architects job. Maintenance of legacy code will teach you a tremendous amount about architecture.
HLGEM
+2  A: 

Before you can really be a good architect, you should understand the various frameworks that are commonly used, such as Spring and Hibernate, and know what the limits are of Java and know when they should and should not be used.

The best way to do that is to get used to writing similar applications with various approaches, then critique them.

Or, try to just start designing a distributed system for yourself, such as a game that can be played on the desktop or a cellphone, to see what different platforms are like.

I think trying to become an architect is that you start to think like an architect, and in your mind become one, then, you will get the title, at some point.

Not everyone is cut out to be an architect. What Vadim said is very true, though you seemed to put it down. An architect must be able to not only see the application in his head, and understand how it works, but then to communicate that to others, and then to be able to jump in and help out when a developer gets stuck, so the work can continue, and no one is spinning his wheels long.

You should also learn to listen to what people are saying, rather than just putting them down, as, when you talk to stake holders, or to the business side, you will interact with people that are not technical, but will have advice or suggestions that should be evaluated, and if you get a reputation as not being a good listener, then they will stop talking with you and your effectiveness goes downhill.

James Black
Thanks. I was in no way trying to put vadim down but trying to be funny (which didnt work). I like what you said. 'in your mind become one'
josh
So what have you designed, or what are you designing? Have you played with AspectJ? Have you tried programming in Swing, or webservices? There is so much to learn to be able to design applications in areas you may not be a domain expert in.
James Black
I've been mainly working with struts and spring. I do not yet have experience with webservices but am going to learn that.
josh
In order to really be able to design you need to understand the various technologies. Ideally you should be familiar with the entire J2EE stack, IMO. With Jax-WS webservices are much easier now. :)
James Black
in your opinion, what all makes up the J2EE stack?
Omnipresent
@Omnipresent - http://java.sun.com/javaee/technologies/javaee6.jsp
James Black
It will be harder now to determine how to design a product, as J2EE has grown over the years, but that is the penalty for starting to learn later. If you had started earlier then it would just be a matter of learning about the new technologies.
James Black