Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a consultant, and my last two engagements have been at VB.NET shops. It's become apparent to me that these organizations have a really hard time finding FTE developers. Have any of you observed that VB.NET developers are getting harder to find? Any thoughts as to why?

share|improve this question

closed as off-topic by gnat, GlenH7, Dan Pichelman, MichaelT, ChrisF Oct 19 '14 at 11:23

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, GlenH7, Community, ChrisF
If this question can be reworded to fit the rules in the help center, please edit the question.

Do you believe this is different from finding skilled developers in any other language? – chrisaycock Dec 7 '10 at 16:09
@chrisaycock - Well, yes, if I understand your question. .NET really only has the two "mainstream" flavors, so "any other language" would be C# here. – AJ Johnson Dec 7 '10 at 16:48
up vote 35 down vote accepted

Anecdotally, if you look at any of the job boards such as Dice, you will find that the number of job postings for VB developers has remained relatively steady over time, while the number of job postings for C# developers has gradually increased.

While this does not say anything about availability of programmers, it does suggest a gradual move in the industry from VB to C#.

alt text

share|improve this answer
Or from Java to C#? – JeffO Dec 7 '10 at 18:43
From the same source, it appears to be VB.NET and C++ are gradually declining (over loong periods of time) while C# and Java are still inclining. There may be other transitions as well. – Berin Loritsch Dec 7 '10 at 19:51
@Berin-thanks for the additional data. – JeffO Dec 7 '10 at 19:52

As a manager in a shop that must support a lot of VB.NET code, I'll say that your experience is not at all atypical. It is definitely getting harder to hire VB.NET programmers.

I don't think it is so much that there aren't plenty of people out there that can work in the language or have experience with it. A bigger factor seems to be that those programmers are increasingly looking for C# jobs and not applying to jobs that focus on VB.NET code.

Personally, I really like VB.NET as a language and think it doesn't deserve the bad rep it gets just because of its ancestry. However, I am increasingly using C# on projects where I have a choice and probably would favor applying for jobs with it over VB.NET for a number of reasons including:

1) Despite the fact that it makes no practical sense, C# programmers tend to command a higher salary than VB.NET programmers.
2) Most shops that are using VB.NET do so because they are porting ASP Classic or VB6 projects to .NET. It's generally more enjoyable to work on new projects instead of deciphering old code.
3) There is a stigma associated with programmers that use any version of VB. It is totally stupid, but that doesn't change the fact that it exists. I'm getting tired of carrying a torch for a language. If VB.NET is really just as good as C#, then the reverse is true. So what does it hurt to switch just to avoid the whole argument?

share|improve this answer
I love this answer, as it really seems to reflect what I'm seeing. Thanks for your insight. – AJ Johnson Dec 10 '10 at 13:49

It's become apparent to me that these organizations have a really hard time finding FTE developers.

It is my belief that this is the confluence of 2 trends:

  1. .NET developers are moving towards C#, and away from VB.NET. At my office, and on the interviews I've gone on, the general attitude is that old code in VB will be moved to VB.NET while new development gets done in C#. My PHB wants code in VB.NET because he can almost understand it, while C# is too different. While you can pretty much do anything in VB.NET that you can do in C#, some things are easier in C# (like LINQ).

  2. Companies are far too picky looking for developers. Far too often, the employer is looking for exact matches on skillsets. Hires are expected to "hit the ground running" with no time to learn, and currently hired employees are not given any sort of training towards the new tasks that they probably could do.

If you want, I can expand either of these later when I get home.

share|improve this answer
How is LINQ easier in C#? All I can think of is the syntax is a bit more compact and line breaks are less strict. In fact, VB has a linq feature C# is missing: inferred select statement. – Craig Gidney Dec 7 '10 at 17:35
To be fair vb.NET's syntax for dealing with unmanaged code with pInvoke and all has been a bit easier on the eyes until .NET 4.0 came out. – Terrance Dec 7 '10 at 17:49

General statement alert ;)

VB6 coder wakes up one day to see VB .NET, and migrates. Not knowing about the OO or framework differences (like Try/Catch). Most common VB .NET code I see comes from these types of developers - shockingly horrible code.

C/C++ Developers woke up one day and see C#, and make the jump. They bring way more ground knowledge to C#, know what a generic/template and try/catch is. Give me a C# developer for more money over a VB .NET developer any day.

share|improve this answer
This comment is exactly what I am thinking and have experienced. I have worked with both C# and VB.NET developers over the last about 7 years and I have found major differences between them. VB.NET guys just don't get OO, they don't get Interfaces, they don't get loose coupling and they think it is fine to code 8000 lines of logic in the code behind of their Winforms. I think this ultimately comes from their VB Classic background, whereas C# guys generally come from a C++ background. It is from these experiences that I always prefer applying for C# positions over VB.NET... – MrLane Jun 8 '12 at 7:09

I am able to do just about anything with sometimes I come across C# code snippets and just run it through one of those c# to converters, maybe tweak it a bit. It works fine. I used to use the first B.A.S.I.C language to create video games when I was a kid so maybe that's why I gravitate to VB.NET, maybe an emotional thing. It hurts my stomach when people speak of c# as if its better. A good programmer can beat a bad C# programmer any day or vice versa.

share|improve this answer

When programmers are trying to decide between VB or C#, one of the factors that comes up is that C# developers generally get paid more than VB devs. I think this influences programmers to choose C# over VB if given the choice.

I recently got to choose between VB and C# for a project and this influenced my decision to go with C# because it seemed that experience in C# was more valuable then experience in VB.

As to why they get paid more, I think it is because the people who write the paychecks look at VB code and go "oh I can understand that, it must be easy", while they look at C# code and go "wow, you have to be a supergenius to understand what is going on!".

share|improve this answer

Supply and demand. If they paid more, more people would invest the time to learn .NET, and they would have an easier time hiring.

Note that this applies to any language.

Update: I have found that sometimes the number of job postings means there's more turnover, or more positions going unfilled because people don't want to do the work for the amount of money given, so the same job gets posted several times a year. Could it be?

share|improve this answer
-1 C# and VB .NET Are both .NET Languages, it's pretty easy to switch between them – msarchet Dec 7 '10 at 22:14

This is completely true, if I were starting a new company right now I would choose C# just to hire people easier.

I don't think this trend will change any time soon, possibly it'll be even worse and it'll much harder to find VB.NET developers.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.