Welcome!

Java Authors: Liz McMillan, Walter H. Pinson, III, Maureen O'Gara, Yakov Werde, Tony Bishop

Related Topics: Java

Java: Article

Follow a Career Path…

Follow a Career Path…

Since we started writing this column, we've gotten lots of inquiries from engineers who want to know the best way to reach the level of senior Java server-side engineer.

The trouble that many engineers have in breaking through to this level typically has to do with a lack of key training and the right experience, and, most important, a résumé that doesn't show a clear career path.

Some of this may have to do with a lack of solid career counseling in school. Perhaps aspiring engineers don't seek advice at an early enough stage, or the schools don't know enough about rapidly changing technologies in the real world.

For starters, a typical résumé for a junior or mid-level engineer shows that the person may not have the right degree. An EE, for instance, is less effective than an MS in computer science for a Java server-side engineer.

Next, the person may take the first attractive offer without realizing the consequences.

They may work with languages like Visual Basic, Visual C++, or other MS languages.

After a year or two in their first position, they often move to unrelated technologies by taking a job that seems attractive at the time. They may be working with COM, DCOM, MFC, or Visual C++, which doesn't really give them the right experience. Or perhaps they're working for a large company building internal tools or software with Java but not working on large, scalable, enterprise projects.

With four or more years of what appears to be good, high-tech engineering experience, this person now wants to be a senior Java engineer. But by taking jobs as they come along and picking up whatever technologies are used at each company, this person now has a patchwork résumé that has no cohesion or logical progression to it.

An analogy might be the house contractors who start out building decks, move on to garages, then remodel kitchens. Now they want to be senior lead contractors, building the whole house or even a new development. But what construction company will hire these people to do a job they have no proven experience in?

Although we are talking about smart, talented people here, it's very hard to convince hiring managers that these candidates with the patchwork résumés are the senior Java engineers they're looking for. Even if they get an interview, they won't pass the technical screening.

It's always an uphill struggle.

During the recent high-tech gold rush, companies were settling for less than senior people for these positions. The gold rush is over. Nobody's settling. It's harder now.

So what's a better approach? If you're just starting out, look at your career. Decide what you want to do. Then map out a plan and follow it. What's your ultimate goal? If it's to be a CTO or a "big gun" server-side Java engineer, follow this path:

  1. Get a BS or MS in computer science at the best school you can get into. Make sure it's a school that's known for its computer science department, like Berkeley, Stanford, MIT, Purdue, Michigan, or Carnegie Mellon. Managers want to see that you've gotten comprehensive computer science training at a well-known school.
  1. Make sure that the program offers you training in distributed computing and object-oriented systems. The school should also offer you a solid foundation in software design and construction for large-scale systems along with OO principles.
  2. Remember that it takes several years to reach the senior level. When hiring senior engineers, managers look for eight to 10 years of server-side engineering experience, including C++, Java, and OO technology. With only six or seven years of experience, the person needs to be extremely talented to land a senior position.
Another key to this kind of senior experience is having had full life-cycle ownership of a significant portion of a major project. Many engineers have been individual contributors or worked on a team for a large project, but personal ownership and responsibility through a full cycle is key.

But what if you're in mid-career with substantial commitments and it's not possible for you to go back and start from scratch?

Take as many C++ and Java courses as you can, try to get Java certified, and get your hands on as much OO experience as you can. You may have to take a step back for a while. But unless you're lucky and get a position in a friend's start-up company, it's going to be almost impossible to make the change without some sacrifice.

It's also a good idea to rework your résumé to highlight the Java and OO direction you're heading in and downplay the experiences that aren't relevant to your current goals. Remember, working on many facets doesn't necessarily mean you're a well-rounded engineer.

Would you try to drive across the country without a map? We wouldn't. So why put any less thought or planning into navigating something as important as your career? And when you need directions, ask.

More Stories By Bill Baloglu

Bill Baloglu is a principal at Object Focus (www.ObjectFocus.com), a Java staffing firm in Silicon Valley. Prior to that he was a software engineer for 16 years. Bill has extensive OO experience ,and has held software development and senior technical management positions at several Silicon Valley firms.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.