• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Making it Big: Specialist or Generalist?

 
Ranch Hand
Posts: 235
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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!



 
Ranch Hand
Posts: 686
Netbeans IDE Chrome Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think it completely depends on the company work culture. From my perspective, I would rate a generalist in a better position.
 
author
Posts: 22
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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


 
Marshal
Posts: 79153
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 686
Netbeans IDE Chrome Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 235
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 686
Netbeans IDE Chrome Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 235
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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?)

 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic