Java, C# or both (generalist vs. specialist)

  • (2 Pages)
  • +
  • 1
  • 2

15 Replies - 4747 Views - Last Post: 29 January 2014 - 04:13 AM

#1 dev9  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 26
  • Joined: 07-January 14

Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 06:12 PM

If you have a job where you have the option to stick with C# projects, Java projects, or alternate between the two. What would you do?

[1]
On the one hand, if you choose one of the two, how/which do you choose?

[2]
On the other, maybe alternating between the two gives you variety and more experience, but don't companies look for a Java expert or a .NET expert and have doubts about someone claiming to know both but probably a master of neither?

Is This A Good Question/Topic? 0
  • +

Replies To: Java, C# or both (generalist vs. specialist)

#2 andrewsw  Icon User is offline

  • lashings of ginger beer
  • member icon

Reputation: 6340
  • View blog
  • Posts: 25,570
  • Joined: 12-December 12

Re: Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 06:28 PM

Which do you prefer?
Was This Post Helpful? 0
  • +
  • -

#3 dev9  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 26
  • Joined: 07-January 14

Re: Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 06:36 PM

View Postandrewsw, on 25 January 2014 - 06:28 PM, said:

Which do you prefer?


I like them both.

That is irrelevant. I can always play with either at home. My question is about marketability.
Was This Post Helpful? 0
  • +
  • -

#4 blankwavercade  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 123
  • Joined: 13-December 11

Re: Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 07:01 PM

Why does everyone worry so much about this? They're both valuable languages to know. Learning both is probably a smart idea for you. Reason being is so you can apply to more job postings.

Here's some good questions to ask yourself.

1) What kind of industry do you want to get into?
Both languages probably over lap each other in different industries. It's may even depend on what kind of legacy applications the company has.

2) Do you know either of these languages yet?
I know this contradicts what I said but do you know either of these languages? If so which one and if you know both which one are you more advanced in. There's no way to say you know both inside and out because well thats just not realistic.

3) Have you looked at job postings in your area to see how many jobs are available for either language?
That's also a big thing to look at. Both languages will have a ton of web development opportunities in your area. I know this because That's all there is in my area.

But then another question arises. Why do you only want a job in either of these technologies? What about javascript/ruby/python/php..etc. (this question is designed to make you think)

======EDIT======
One last thing!
Do you want to do app development? Learning java could be your thing then. I do realize win8 phone apps are built with C# (i think) but in reality android and ios dominate.

This post has been edited by blankwavercade: 25 January 2014 - 07:02 PM

Was This Post Helpful? 2
  • +
  • -

#5 xclite  Icon User is offline

  • I wrote you an code
  • member icon


Reputation: 1230
  • View blog
  • Posts: 4,016
  • Joined: 12-May 09

Re: Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 07:11 PM

If you're gonna generalize, I'd recommend picking one of those two and then choosing a second language to give you a different perspective. Java and C# are both fine languages that accomplish things in similar ways. There are differences to be had, but the toolset gain would be less than if you tried something like C# + Dart or Java + Javascript or Lisp or whathaveyou.
Was This Post Helpful? 3
  • +
  • -

#6 jon.kiparsky  Icon User is offline

  • Screw Trump (before he screws you)
  • member icon


Reputation: 10625
  • View blog
  • Posts: 18,185
  • Joined: 19-March 11

Re: Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 07:28 PM

View Postdev9, on 25 January 2014 - 08:36 PM, said:

View Postandrewsw, on 25 January 2014 - 06:28 PM, said:

Which do you prefer?


That is irrelevant. I can always play with either at home. My question is about marketability.



No, it's not irrelevant at all. When you're trying to make a decision, it's very useful to know what you prefer, all other things being equal. It's not the last word, but it's certainly something to consider, particularly since what you enjoy more is often the thing you'll be better at (if for no other reason that because it's what you practice more)

What's more marketable? I don't know. Depends where you go and what you want to do. Java might be more common than C#, at least that's what some surveys claim, but you don't need to get all the jobs - you just need one at a time. There will be more Java jobs available to you this year than you could take in a lifetime; the same is true of C#. Neither is a specialist language. So which one you choose will not affect your overall marketability in any material way. It will affect which particular jobs you can choose from, but not whether you have jobs to choose from.

Is it better to focus on one or the other? Depends where you want to go and what you want to do. Some people want a specialist, some people like a generalist. The main thing is that if you cite a language on your resume, you need to have a degree of competence with it. "I dabble in it" isn't interesting to anyone. "Expert" or "ninja" or whatever are not all that interesting either, really, except to extraordinarily stupid or uninformed people. If you know anything about programming, you know that "expert", if it means anything at all, is an extremely low bar. All you have to know to be an expert is everything there is to know about the language. That's not that hard, really. Doing something with it - that's difficult.

View Postxclite, on 25 January 2014 - 09:11 PM, said:

If you're gonna generalize, I'd recommend picking one of those two and then choosing a second language to give you a different perspective. Java and C# are both fine languages that accomplish things in similar ways. There are differences to be had, but the toolset gain would be less than if you tried something like C# + Dart or Java + Javascript or Lisp or whathaveyou.



This is sort of what I was thinking - if you're going to take the time to learn a second language, it seems like you'd want to learn something a little different. It's like someone who has the same grilled cheese and tomato soup for dinner every night, and finally decides to vary things by getting a cream of tomato soup instead.

Try a lisp or something. Get a copy of The Little Schemer and work through that, and see what your brain feels like when you're done.
Was This Post Helpful? 0
  • +
  • -

#7 dev9  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 26
  • Joined: 07-January 14

Re: Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 08:42 PM

blankwavercade,

I'm interested in enterprise, web and mobile. I think I'm in a unique position because it seems most other jobs are one or the other, not both. So I wonder which one I should focus on for future jobs, or if it is hurting me that I am all over the place instead of having solid years worth of experience in one or the other.

As far as my current area, that doesn't matter because, again, I'm only thinking of the future: I plan to be somewhere on the west coast.
Was This Post Helpful? 0
  • +
  • -

#8 dev9  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 26
  • Joined: 07-January 14

Re: Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 08:51 PM

Thanks all for your feedback. One thing no one commented on though is the future of the two languages. I've heard claims that Java is becoming more of a legacy language while all the cool new stuff is happening in C#. And don't forget Oracle's blunders. Others say C# is doomed because it i married to Windows and Windows is doomed after Windows 8. (Mono is allegedly a failed attempt to put .Net in the Linux world).
Was This Post Helpful? 0
  • +
  • -

#9 jon.kiparsky  Icon User is offline

  • Screw Trump (before he screws you)
  • member icon


Reputation: 10625
  • View blog
  • Posts: 18,185
  • Joined: 19-March 11

Re: Java, C# or both (generalist vs. specialist)

Posted 25 January 2014 - 09:04 PM

Neither is a language that you're going to use for exciting new projects, frankly. Both will be solid dependable legacy languages that will provide you with a salary forever, but my impression is if you want to work at the hot startups, people are going to sort of assume you've got Java, not care about C#, and ask you about the interesting languages.

Quote

I've heard claims that Java is becoming more of a legacy language while all the cool new stuff is happening in C#. And don't forget Oracle's blunders. Others say C# is doomed because it i married to Windows and Windows is doomed after Windows 8. (Mono is allegedly a failed attempt to put .Net in the Linux world).


This really sounds like you're just reading headlines from tech "news" sites and spitting them out.
But whatever - of course, the thing you have to get through your head is that all of these things can be true simultaneously, and more. There isn't some sort of monolithic single trend that dominates an industry like this. It's true that Java is a huge language, and C# is a huge language, and the functional languages are on the rise, and clisp is getting deployed like never before, and there's this new language called (mumble) that's going to revolutionize (whatever) and so forth. All of it is true. There's a lot going on in the industry, and there's a lot of room for things to be happening. The trick is not to think there's one trend that you have to be in front of - there isn't, and there never will be. Instead, find the thing that you actually care about and do that, and then find the people who want that. Who knows - it might even be true that there will be a hot startup that wants to work in Java, and I'm wrong. Anything could happen (ahem, minecraft). It doesn't matter what languages you know - the point is you need to keep learning. Constantly, and stop worrying about what to learn. And for god's sake stop reading crap like "technocrunchbangdotslash.com". That's like "Cosmo" for programmers - the ten best ways to lose coding flab, twenty-five secrets to drive them wild in an interview, and hot hot hot pictures from the latest fashion show - all of it nonsense, just crap to fill the news hole.
Was This Post Helpful? 2
  • +
  • -

#10 depricated  Icon User is offline

  • Nero


Reputation: 2287
  • View blog
  • Posts: 5,927
  • Joined: 13-September 08

Re: Java, C# or both (generalist vs. specialist)

Posted 27 January 2014 - 11:08 AM

View Postdev9, on 25 January 2014 - 06:36 PM, said:

View Postandrewsw, on 25 January 2014 - 06:28 PM, said:

Which do you prefer?


I like them both.

That is irrelevant. I can always play with either at home. My question is about marketability.

I think this is a valuable example of how to answer this question wrong.

For the longest time I refused to commit to a language as my focus. I interviewed and said I'm flexible, I have no preference - C#, Java, VB.NET, I was happy to use any of them. Whaet OS do I prefer? Whichever is best for what I'm doing of course!

Soudns like this makes you a good candidate right?

Posted Image

Employers don't want someone who can't decide what they want to do. If you truly feel that it doesn't matter, then make multiple versions of your resume that focus on each language and find out which language is being used where you're applying. If it's a C# shop send them your C# resume. If it's Java, send them your Java resume. In the interview, when they ask what language you prefer to work in, pick one! When they ask what OS you prefer, fanboy your favorite.

That seemed so counterintuitive to me, but it was what a recruiter told me and I tried it at a couple interviews. Over a year searching and as soon as I adopted that tactic I had 3 offers within a week. Unless you don't want to, of course, want what they want and show it. Don't waffle, don't be uncertain.

So which do you prefer?
Was This Post Helpful? 1
  • +
  • -

#11 blankwavercade  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 123
  • Joined: 13-December 11

Re: Java, C# or both (generalist vs. specialist)

Posted 27 January 2014 - 07:17 PM

View Postdev9, on 25 January 2014 - 08:42 PM, said:

blankwavercade,

I'm interested in enterprise, web and mobile. I think I'm in a unique position because it seems most other jobs are one or the other, not both. So I wonder which one I should focus on for future jobs, or if it is hurting me that I am all over the place instead of having solid years worth of experience in one or the other.

As far as my current area, that doesn't matter because, again, I'm only thinking of the future: I plan to be somewhere on the west coast.



I almost feel like the language you want to learn is really not important. You want to do web/mobile/enterprise. It seems like you are interested in backend web development. Why not learn how the world wide web works? It doesn't matter if you program a website in php/ruby/python/java/c#/scala/clojure/javascript on the server, the components of the world wide web all work the same. Understanding the components needed to build a high quality web app / complex system for the internet isn't going to change depending on the language. what You will be able to do is say "Hmmm, i need to do this with sessions how do i do this in php" and be able to search intelligently and get the answer you need.

If you want to hear my opinion on it, I see more and more java jobs pop up than i do c#. Yes a lot of them are in banks and are more than likely maintaing legacy code. But the salary range these places are giving out is pretty nice. I don't use either of these at work though. I'm pretty happy I don't but thats because I enjoy php and more and more lately nodejs.

On the west coast a lot of places ****probably**** favor java over c#. A lot of places out there are using cutting edge technology which would not include either of these. But Scala/clojure are built on top of the JVM. So all in all learn java if you want an answer from someone on the internet.

This post has been edited by blankwavercade: 27 January 2014 - 07:18 PM

Was This Post Helpful? 1
  • +
  • -

#12 dev9  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 26
  • Joined: 07-January 14

Re: Java, C# or both (generalist vs. specialist)

Posted 28 January 2014 - 02:49 PM

View Postdepricated, on 27 January 2014 - 11:08 AM, said:

Employers don't want someone who can't decide what they want to do. If you truly feel that it doesn't matter, then make multiple versions of your resume that focus on each language and find out which language is being used where you're applying. If it's a C# shop send them your C# resume. If it's Java, send them your Java resume. In the interview, when they ask what language you prefer to work in, pick one! When they ask what OS you prefer, fanboy your favorite.

That seemed so counterintuitive to me, but it was what a recruiter told me and I tried it at a couple interviews. Over a year searching and as soon as I adopted that tactic I had 3 offers within a week. Unless you don't want to, of course, want what they want and show it. Don't waffle, don't be uncertain.

So which do you prefer?


The custom resume concept is not new, and it seems like common wisdom now, but I'm not sure I agree with it.

First of all, it sounds like I'm lying. An employer would like a piece of paper summarizing a person's career, not a piece of paper telling them what they want to hear. They would like it if we left it up to them to decide whether the resume has what they want to see or not. It's like going on a date. You should be yourself and let the other person decide if they like you or not, instead of creating a custom version of yourself and presenting it to them based on what you think they would like.

Now that said, a modified version of your advice is this: instead of creating a resume that reflects artificial specialization (say in Java), one should just pursue a career path where one's specialty is Java, and then one would have a resume that naturally reflects that, assuming we concluded that employers are looking for a specialist who is enthusiastic about Java, rather than a generalist who's willing to do anything.
Was This Post Helpful? 0
  • +
  • -

#13 dev9  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 26
  • Joined: 07-January 14

Re: Java, C# or both (generalist vs. specialist)

Posted 28 January 2014 - 02:57 PM

View Postblankwavercade, on 27 January 2014 - 07:17 PM, said:

I almost feel like the language you want to learn is really not important. You want to do web/mobile/enterprise. It seems like you are interested in backend web development. Why not learn how the world wide web works? It doesn't matter if you program a website in php/ruby/python/java/c#/scala/clojure/javascript on the server, the components of the world wide web all work the same. Understanding the components needed to build a high quality web app / complex system for the internet isn't going to change depending on the language. what You will be able to do is say "Hmmm, i need to do this with sessions how do i do this in php" and be able to search intelligently and get the answer you need.

If you want to hear my opinion on it, I see more and more java jobs pop up than i do c#. Yes a lot of them are in banks and are more than likely maintaing legacy code. But the salary range these places are giving out is pretty nice. I don't use either of these at work though. I'm pretty happy I don't but thats because I enjoy php and more and more lately nodejs.

On the west coast a lot of places ****probably**** favor java over c#. A lot of places out there are using cutting edge technology which would not include either of these. But Scala/clojure are built on top of the JVM. So all in all learn java if you want an answer from someone on the internet.



Thanks. I think both C# and Java have pros and cons. Java seems more viable as a multi-platform environment, while C# seems married to Windows/Microsoft. Mono never seems to catch on.

On the other hand, C# and the technology stack behind it seem more robust overall. A richer language, a superior IDE, a really nice RDBMS.

Then there's the whole Oracle thing (do you want to install ask.com?) They seem to have a short-sighted strategy of squeezing every penny out of it at any cost (do you want ask.com?) without seeming to care about the future of Java (do you want to install ask.com?).
Was This Post Helpful? 0
  • +
  • -

#14 farrell2k  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 874
  • View blog
  • Posts: 2,706
  • Joined: 29-July 11

Re: Java, C# or both (generalist vs. specialist)

Posted 28 January 2014 - 03:11 PM

Absolutely do NOT listen to those who tell you that you should just "pick one" because it doesn't matter, that it's all about learning to program, etc. This is the WORST advice anyone could ever give! Look at job opportunities in your target area and pick the most popular. Chances are that with either you are going to end up working in web development with these languages anyway. C# is probably easier simply for the fact that everything is provided by Microsoft. No Spring, hibernate, etc from third parties.
Was This Post Helpful? 0
  • +
  • -

#15 blankwavercade  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 123
  • Joined: 13-December 11

Re: Java, C# or both (generalist vs. specialist)

Posted 28 January 2014 - 03:28 PM

View Postdev9, on 28 January 2014 - 02:57 PM, said:

View Postblankwavercade, on 27 January 2014 - 07:17 PM, said:

I almost feel like the language you want to learn is really not important. You want to do web/mobile/enterprise. It seems like you are interested in backend web development. Why not learn how the world wide web works? It doesn't matter if you program a website in php/ruby/python/java/c#/scala/clojure/javascript on the server, the components of the world wide web all work the same. Understanding the components needed to build a high quality web app / complex system for the internet isn't going to change depending on the language. what You will be able to do is say "Hmmm, i need to do this with sessions how do i do this in php" and be able to search intelligently and get the answer you need.

If you want to hear my opinion on it, I see more and more java jobs pop up than i do c#. Yes a lot of them are in banks and are more than likely maintaing legacy code. But the salary range these places are giving out is pretty nice. I don't use either of these at work though. I'm pretty happy I don't but thats because I enjoy php and more and more lately nodejs.

On the west coast a lot of places ****probably**** favor java over c#. A lot of places out there are using cutting edge technology which would not include either of these. But Scala/clojure are built on top of the JVM. So all in all learn java if you want an answer from someone on the internet.



Thanks. I think both C# and Java have pros and cons. Java seems more viable as a multi-platform environment, while C# seems married to Windows/Microsoft. Mono never seems to catch on.

On the other hand, C# and the technology stack behind it seem more robust overall. A richer language, a superior IDE, a really nice RDBMS.

Then there's the whole Oracle thing (do you want to install ask.com?) They seem to have a short-sighted strategy of squeezing every penny out of it at any cost (do you want ask.com?) without seeming to care about the future of Java (do you want to install ask.com?).


C# is married to windows/microsoft because mono is still being developed and there are tons of great other options on the other platforms.

You will find equivalents of things in both java and C#.

I used to love IDE's at this point I can do with or without one, preferable without haha.

The ask.com thing is annoying but it just a partnership it happens in all kinds of software anymore. Just learn both and be good to go.
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2