aspose file tools*
The moose likes Jobs Discussion and the fly likes Making it Big: Specialist or Generalist? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "Making it Big: Specialist or Generalist?" Watch "Making it Big: Specialist or Generalist?" New topic
Author

Making it Big: Specialist or Generalist?

Michael Sullivan
Ranch Hand

Joined: Dec 26, 2003
Posts: 235
Hello Sam, thanks for stopping by the 'ranch. I'm curious as to your opinion of a specialist vs. a generalist, when considering software engineering. Do you feel that one offers more long-term opportunities than the other? Are there advantages/drawbacks to either that you'd like to share? Do you believe that being a specialist is valued more in a corporate environment than in a startup? (and vice-versa)

Thanks!



Vyas Sanzgiri
Ranch Hand

Joined: Jun 16, 2007
Posts: 686

I think it completely depends on the company work culture. From my perspective, I would rate a generalist in a better position.


===Vyas Sanzgiri===
My Blog
Sam Lightstone
author
Greenhorn

Joined: Apr 21, 2010
Posts: 22
Great question. Complex answer.

It's hard to rise to the top on general skills alone. But not everyone wants or needs to rise to the top. Success if a very personal thing. If your definition of success means steady and constant employment, then general skills are what you should focus on.

If you want to rise to the top of an organization or a field you'll need specialized skills. My own feeling is that the ideal strategy is to hedge :-) I'll explain what I mean by that.

The best way to excel and to make it to the top is by having specialized skills. However, in an industry that redefines itself every few years there are some pretty serious risks about tying yourself too closely to a particular technology. What many of the people I interviewed leveraged successfully was to have strong general skills, and then an area of world-class expertise in a field they specifically chose for its longevity. Of course, it's very hard to know which technologies will have longevity... and that's why the general skills remain super important, because if your specialty is in an area that become obsolete, you'll need to leverage the general skills while you are building up new specialty skills.

Here's a quote from my interview with Mark Russinovich, Microsoft Technical Fellow and Windows architect. You may find his opinion on this thought provoking:

Try to differentiate yourself. For example, when Java exploded in the mid-
1990s, everybody became a Java programmer, and the market became
flooded with cookie-cutter Java programmers. It’s really hard for people to
stand out as something that isn’t easily replaceable in that world. My whole
career I have tried to stay away from that. Operating system internals, while
not considered particularly sexy or part of the mainstream, have allowed me
to stand out because of the relatively few people who go into that and the
perception “Wow, that’s really hard.” Stay away from the mainstream and the
crowds, and find something that is gonna be stable—not just flash-in-theplan
technology.

--Mark Russinovich, Microsoft Technical Fellow

Sam



Sam Lightstone
www.MakingItBigCareers.com - MakingItBigCareers.wordpress.com


Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39436
    
  28
Would you say (going with the person who asked Specialist or Generalist? on this forum), that the important skill is knowing how to program, rather than how to program a particular language?

I think once one has learned object-oriented programming in Java, then object-oriented programming in C# or Eiffel or whatever is easy, as long as one has learned object-oriented programming in general.
Vyas Sanzgiri
Ranch Hand

Joined: Jun 16, 2007
Posts: 686

Campbell Ritchie wrote:Would you say (going with the person who asked Specialist or Generalist? on this forum, that the important skill is knowing how to program, rather than how to program a particular language?

I think once one has learned object-oriented programming in Java, then object-oriented programming in C# or Eiffel or whatever is easy, as long as one has learned object-oriented programming in general.



Very true. I completely agree with you
Michael Sullivan
Ranch Hand

Joined: Dec 26, 2003
Posts: 235
Would it make you less of a generalist if you add more general purpose languages to your skillset? I would consider a candidate who knows how to program in both Java and C# to be a multilingual generalist. I wouldn't even consider web-development a specialty as it's so wide and saturated with similar talent.

However - I know a guy who's great with Java, but he spends most of his time traveling around working on IBM WebSphere jsf portlets. He really knows the websphere portal stack, and since there aren't that many that use it - he's constantly in demand. He's what I'd consider a specialist in web-development.

IMHO, the important skill isn't knowing how to program, it's being able to produce with what you know.


CANDIDATE: I know Java, C#, JavaScript, HTML, CSS, SQL..... (goes on and on)
ME: yawn.

ANOTHER-CANDIDATE: I developed this web-app with Java web technologies and had to port it over to a C# implementation as part of project-x. The views were ajax heavy and required a lot of CSS and Javascript.
ME: Now we're getting somewhere.
Vyas Sanzgiri
Ranch Hand

Joined: Jun 16, 2007
Posts: 686

There is also a fine line in knowing the details of a project. I have worked on various languages and different systems but I cannot project it in my bio or interview since it is not relevant to the job or just to specific for a manager to understand. May be its just me or my presentation skills
Michael Sullivan
Ranch Hand

Joined: Dec 26, 2003
Posts: 235
The ability to present your past accomplishments (via paper or interview) is a skill that can be improved. The details of projects are sometimes important, sometimes not. Let me give you an example:

Early in my career I was part of a web-dev team who built a very small website (both physically and functionally) targeted at blackberry handheld devices. This was way before iphone or android - so naturally many interviewers were perplexed.

The interesting thing is that most never asked HOW we did it (screen-scraping with Perl, persisted to M$-SqlServer, rendered as a Coldfusion web-app). They all wanted to know WHY.

And so instead of explaining the technical details of what, I explained the business problem we solved. The call-center managers who, "walk the floor" to manage customer service reps, needed to see the call volume and types of calls at all times. Since they carried blackberry phones that could access our internal website, a mini-webapp made perfect sense. Even in a year when mobile applications didn't really exist - my interviewers were able to understand the business value we provided.

Since that position, I've never written coldfusion, nor have I engaged in screen-scraping with Perl. Yet that item remains one of the most asked about by organizations and interviewers. Even in 2010, people are still curious about how we accomplished it "back in the day."

Make your past accomplishments interesting. Explain how your efforts are relevant. It's your job as a candidate to demonstrate how your past experience will enable you to succeed in a new position. (otherwise, why are you applying?)

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Making it Big: Specialist or Generalist?