.Net Programmers Fall in CNN's Top 5 In-Demand
GT_Alias writes "CNN Money is reporting that .Net programmers are one of the top 5 most in-demand jobs. Of the positions where recent surveys have indicated a labor shortage, .Net developers and QA analysts are the two that fell under the 'technology' category. According to CNN Money, .Net developers can make between $75-85K starting out in major cities, with the potential to make 15% more if they have a particular proficiency. Additionally, QA workers can make $65-75K a year with the ability to negotiate a 10-15% pay jump if they switch jobs. How does this information compare with the Slashdot crowd's real-world experience?"
It must be because I can only program Java. *sigh*
Join the anonymous, help develop the network: http://www.i2p2.de
From TFA: "Microsoft's software programming language .NET"
.NET's a platform or function library if you will not a programming language. Not getting your facts straight doesn't inspire me to have a lot of confidence.
Also, I see a lot of new QA jobs emphasizing programming skills, thus driving up the wages. These days, excellent QA organizations will devote at least 50% of their efforts towards automation, either by building their own suites or leveraging off-the-shelf solutions. This is good for QA folk who eventually want to migrate into development, as they'll gain valuable skills along the way.
Are we talking ASP.Net? Are we talking SQL Server 2005 c# stored procedures gurus? Are we talking J# Nhibernate & Nant wizards? Could we possibly be talking about .NET Portable CLR professionals designing VOIP applications for Windows Mobile 2005?
Honestly, wihtout specifying the phrase ".NET Developers" more precisely the discussion will become meaningless.
My POV: a new college graduatre who can barely create encapsulated objects is not going to be pulling the same money as a Java turned C# enterprise framework analyst who writes the patterns published in those clever books.
They who would give up an essential liberty for temporary security, deserve neither liberty or security - Ben Franklin
Never underestimate the stupidity of large groups (the employers) of people. .net is just a freaking platform, its not like it is anything special, just another language that just depends on different things. Offers very little that most other languages offer in much the same way.
Why isn't something that's more portable (perl/python) in such demand? Really bakes my noodle.
Why UNIX?
The article says you can earn big bucks if you know the 'dot net' language. Trouble is, there's no such thing (unless you count MSIL, which you don't).
A whole bunch of langauges actually target the dotNet runtime (c#, visualbasic.net, j#, etc). My guess is that after a few years of head-in-the-sand, a metric crapload of legacy visual basic projects suddenly need porting to a platform with a future.
I've been brainwashed by slashdot users and most of the IT crowd on the Internet to go ahead and learn open source languages and applications and not to learn .NET, as it is Micoshit.
.NET.
To my surprise, the IT crowd with the big voices on the net are not in-tune with reality.
Most of the jobs out there require you to use
I'm a C#/.NET developer here in Australia, been doing C# for the last 5 years within a diverse range of industries. Prior to that I was a C++ dev for about 12 years. Before the dotcom crash I was on a 6-figure salary, now as a C# hack I earn about the lower end of the figures quoted - in Australian dollars (about 3/4 the value of US dollars).
One thing though, I got sick of the constant crap in C++ just spending more time on the stupid COM plumbing and myriad datatypes than actual applications work. Going to C# was a damn breath of fresh air. I LOVE it. I can actually get useful shit done that does stuff for the END USER of the the product and after all that's what the company pays me for. Perhaps I should just move to the US but with the god-bothering, shootings and rampant intake of GE food I think I'll give it a miss thanks. Oh and the lack of more than a week or two holidays... gackkk.
Anyway, just because it's easy to learn doesn't necessarily mean that it's a bad programming language.
No, but sooner or later it means that there are a bunch of colleges churning out people who've become "experts" having taken a 6 week course in the language with no prior IT experience.
Doesn't take long for it to become apparent that so many people who claim to know the platform are inexperienced fools. Once that happens, salaries drop.
As rule of thumb, may be it is better for you to invert in general Computer Science formation (generic OS, compiler understanding, computer architecture, algorithmic complexity, et al), not just the "follow the last wave formation". Most people doesn't ever consider that it is dangerous to be extremely especialized. This applies to any platform-specific developing environment.
In the long way, you'll have to switch between many OS, compilers, languages, etc. Sometimes you have to be pragmatic, just to pay the bills, but take conscience about that the IT field is very variable in the surface, but sound in the fundamentals. This is why I recommend generic Computer Science formation when young people ask me for an advice (plus some other "last wave" preparation, just in case).
Will someone please explain to me why syntactical ease equates to a "stupid language for monkies"? Just because C# developers don't have to worry about and juggle memory pointers, it doesn't imply that their job is automatically "easier" and therefore "worse" than that of a C/C++ developer. They still have to worry about good OO design, portability of code (yes, even in a VM language like .NET), and just all around good software engineering -- same as a C/C++ developer would.
.NET Framework gives everyone an even playing field -- it makes code extremely supportable by a wide range of people; everyone who knows .NET can support an app written against the Framework. Not so for C/C++, a windows/Visual Studio C++ developer would certainly struggle after being tossed into a Unix development environment.
Furthermore, just because C/C++ is a "faster" language, that doesn't imply its better suited to web development, or even windows app development. A strongly typed language with a predefined API like the
Now, this is the same argument as most people with common sense make with Java -- no on says its the right tool for every job, but it certainly can be the right tool for a lot of jobs. The same with C++. Do you really think we ought to code our web apps in C/C++? IF so, then why not just go all out and do it in assembly?
I'm in the (un)fortunate position of seeing .Net and J2EE being used sideby side in the same application, and I don't get why people are using .Net in the enterprise. It can't be because CLR is faster than the JVM, it isn't. It may be fair to say that, for a bog standard application, .Net development is faster (Visual Studio is an excellent tool), but as soon as you start to push its framework (as all real applications do) the .Net teams fall behind the J2EE teams.
.Net and, if your on a budget, everything can be got for free. Need support? Buy WebLogic or JBoss support. Need training? Sun are more than happy to oblige. Need developers? You can't spit without hitting a J2EE developer. Need the source code? Sun will hand it over, for free, just don't expect any changes you made to be put back into the source tree, or them to give you any slack if you try and distribute at all - its not the freedom that OSS would like to give you, but its better than .Net.
.Net developers. If I was starting out in software development again, I'd be still be looking to start in Java, and expect to move over to Ruby on Rails (or whatever is flavor of the month) in 5 to 10 years. Assuming people who make IT descisions get smarter, and OSS continues to get stronger, I can't see how any company selling enterprise grade software will be selling anything but the time and experiance of their staff sans the licencing fees of the tools and server software to their customers. How else will western developers compete with China and India?
Java gives you choice. Choice of IDE, choice of framework, choice of application server and perhaps most importantly choice of platform. All that and it runs as fast as
So is it any wonder that there are less
Scared of flying, pointy things snce 1979!
Interesting, this past week there was another article about the potential for elimination of QA staff due to agile programming techniques:
a d_id=38785
.NET positions too, although I don't think it is any stronger than the increase in Java positions. The demand for software developers has really picked up, and, just informally from the ones I have talked to, most head hunters are reporting being overloaded with opportunities to place people, as much as a 250% increase in demand for people over a few months ago.
http://www.theserverside.com/news/thread.tss?thre
Software quality management is maturing into a discipline unto itself, and becoming much broader than testing. Manual testing is being replaced by automated tools.
Up here in Canada, I have seen an increase in the number of
FREE - Java, J2EE and Ajax Audiobooks for Software Developers - www.DeveloperAdvantage.com
You should just buy a book and learn it yourself. Do some real projects that you can demonstrate to the interviewers if you don't have any real world experience. You can use Mono if you want, or use the VS.Net Express Edition to get started. Once you get into more complex stuff, it'll probably be better for you to get real experience with the real VS.Net IDE. It's a pretty powerful IDE, and I like it a lot. There's a few things I'd like to change, but otherwise it's pretty good.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
Windows and/or
What list/article were you looking at?
Beware: In C++, your friends can see your privates!
Let me guess: they can't find programmers with 10 years .NET-experience?
Download the Express editions of visual XXX.NET and then go watch the streaming multi-media lessons. http://msdn.microsoft.com/vstudio/express/vwd/lear ning/default.aspx
If you've done any real programming it seems fairly straight forward and the express software is similiar enough to the real stuff. The beginning lessons do a fairly decent job of showing you how to use the IDE which I think is probably just as tricky (if not trickier) than learning a new syntax.
Visual Basic .NET, C# .NET, ASP .NET, ...
What the article says is that Windows Programmers Fall in CNN's Top 5 In-Demand.
My city: Barcelona.
Damn that i burnt all my mod points this morning. This is EXACTLY what I'm doing right now, as part of my master thesis. For all the Swedes out there, that already have some programming skills, I would strongly recommend reading Anders Forsberg - Programmering i C#. It concentrates on the parts making C# different from other languages and cuts the crap out. Add to that some kind of .NET Framework overview book, and you should have what it takes to get at least decent on your own.
Also, Visual Studio isn't a good IDE - it's a great one (especially compared to some of Microsoft's other software offerings). And I'm usually in the *nix crowd. Possibly vim or emacs are better, but they have a really high entrance barrier...
I have a really elegant proof for Fermat's last theorem. If this sig was only a bit longer...
What list/article were you looking at?
He don't need no stinking lists! He once talked to a guy who once sat next to a guy who's brother read the VS.NET EULA! Live and in person!!! 'nuff said! Do not question his authoritaaaaa!
"reality has a well-known liberal bias" - Steven Colbert
I am graduating this spring from a major state university in the south. In our program we have learned such things as C, C++, PHP, Perl, Ruby(currently learning), Java, Javascript, and various other things in the Unix/Debain Linux environment. It was recommended by the Managing Principal of a software consulting firm that I learn the .NET suite on my own. Since I have done so and put C#.NET,ADO.NET, and ASP.NET on my resume the interest in my skills has gone up considerably. Just about every interview I go on now the employer is mainly interested in my .NET knowledge. I have found that the automatic code generation in VS 2005 allows me to spend more time on security and correct by design (not correct by testing).
Furniture repairman at Microsoft.
Aside from any of the language issues, ASP.NET provides a really productive environment for web app development. At least for projects of a certain size, ASP.NET is much cheaper/faster to develop for than J2EE, and the resulting code is generally pretty clean and easy to maintain. Java has all this heavy infrastructure for large applications (Struts, Spring, Enterprise Beans), but result is that it's uncompetitive for the small-to-midsized ones.
Whenever I hear the word 'Innovation', I reach for my pistol.
I would be ashamed to be a *dot* net programmer. Use Debian or similiar distro, and you can get programmers from all over the world.
.NET (C# corporate whore)
Meh. Shame has nothing to do with it. Feeding 3 kids, paying down a mortgage and putting gas in my Saturns has much more influence over me than your philosophical bullcrap. Shame... What Ever.
Final analysis: code is code is code. If coding for OSS projects floats your boat, then do so, Its a free world. I use Debian too, just not @ work.
BN, MCAD
Cheers, my man
Today is a good day to code.
This is actually a crap shot. If you are just starting, do not lock yourself into one thing or another. Keep in mind that there are plenty of MS coders out, many who are currently unemployed (with more coming). In addition, if you read the article, it is for EXPERT .net coders (i.e. with 5 years experience). What was missed is that experienced *nix coders typically make 100K and above (also with 5 years experience or more).
While you should learn this, you should also be gaining experience in java/C/C++, php, ruby, maybe some cobol and VB, and on several platforms particularly, Windows, *nix (apple and linux are the most used *nix, but solaris is big in some companies and you can also download for free).
Personally, I woudl try to judge the market and ask what will be hot in about a year, not what is hot NOW!. Then shoot for that market. For me, back in the mid 80's, I did trs-80 in a lab as well as mainframe/dos/apple, then in late 80's, I started down the path of network coding on Unix, moved on perl/web development in the early 90's (with the real jobs of working at IBM Watson(OS2/AIX), HP(HP-UX), Bell labs(Windows/SunOS) and USWest (mainframe, apple, HP)), started Linux coding in 93 with jobs in 94 through 97, teaching for the next few years (working on start-ups doing wifi), now contracting to move stuff from WIndows to Linux (lots of calls for that).
Make the right call, and you have plenty of work. Make the wrong call, and you are unemployable.
Take any valued development skill like Java, C#, Oracle or SQL Server and add a few years of practical business knowledge such as securities trading, financial analysis or international taxation and these salaries can easily be doubled. I've seen hedge funds in my area looking for C# developers with securities trading system knowledge willing to pay $120k to $150k.
There is a lot of money to be had if you can understand business people and turn there needs into tools and applications quickly.
WARNING: WE HAVE NOT CONDUCTED A FELONY-CONVICTION SEARCH OR FBI SEARCH ON THIS INDIVIDUAL.
Wish I had mod points! Exactly correct, langauge really means nothing and I find this lists about as worthless as can be. Technology changes fast enough as it is, you don't need to make it worse by spending your career constantly chasing around the "hot" new programming language hoping you'll make a few extra grand a year!
Rule number 1) gain a solid understanding of computer, programming, design, network fundimentals. I doesn't matter if its Linux/Windows, Java/C++/.NET, etc, etc.
Once you have this solid foundation to build on then decide what industry segment you'd enjoy working in and learn that business segment inside and out.
I know as techies we often don't like dealing with getting our selfs "dirty" dealing with the business, we just like the tech but that will lead to a frustrating career in my opinion. Programming is becoming easier and easier, there is getting to be less and less value in being able to program any certain langauge, you can spend you entire life jumping between industries chasing the a few extra bucks in the lastest langauge or become an expert in an industry (where the real money is). When I'm looking to hire someone I couldn't care less what languages they know! As long as they are decent programmer its easy to teach them a new langange. Whats much more difficult is teaching them the fine points of our industry. So be it finance, retail, manufacturing, gaming, ect, etc. I think knowing a busniess well is much more important than what langauge you know.
"reality has a well-known liberal bias" - Steven Colbert
And unfortunately, the guy we ended up hiring had lied on his resume about his 2 years of .NET experience... he was hoping to learn "on the job" as it were, and we ended up having to fire him and rewrite all the code he had written, which was, of course, awful.
There are many great resources available for you. Grab yourself a copy of Visual Web Developer Express: http://msdn.microsoft.com/vstudio/express/vwd/defa ult.aspx. This will allow you to mess around with the .NET framework and get a feel for the IDE - it is very similar to Visual Studio 2005.
You will find lots of help on the forums at http://www.asp.net/ and this is a good starting point. The quickstart tutorials are great if you would like to wet your beak : http://www.asp.net/QUICKSTART/aspnet/Default.aspx.
The only people who would dispute the superiority of Visual Studio, C# and ASP.NET would be those who've never spent more than 2 hours in any of them. And that was just .NET 1.x :) .NET 2.0 is like stepping into a time machine and move 10 years ahead of anything else out there.
Delphi uses Object Pascal, if you started with Pascal the transition is easy.
Another thing to keep an eye on is Lazarus (www.lazarus.freepascal.org)
Basically it is an open source and multi-platform Delphi look-alike
now at release 0.9.10 and improving steadily.
Lazarus uses Freepascal 2.X as compiler and LCL (sort of a multiplatform VCL) as GUI toolkit.
Lazarus runs on Windows, Linux and Mac, the Freepascal compiler supports x86, x86-64, ARM, Sparc, PowerPC and MC68000.
IMHO Lazarus+Freepascal are already perfect for learning programming and are very near to become good enough as a multiplatform Delphi alternative for serious development.
Anyone who confuses unit testing with QA shouldn't be developing software.
(Sorry, I'm not going to summarize a couple of decades of SWEng experience for Slashdot, just do more reading on the subject.)
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
The real skill that a programmer needs if he or she is going to make it is adaptability. Stop thinking in terms of languages, period. At the core, unless you're having to do some pretty wild coding, most work pretty much the same. Think in terms of projects. If you're a freelancer, you'll want to have your finger in lots of pies, and if you're an in-house programmer, well, you know, the boss man is going to tell you what you're coding in. Flex the conceptual skills, because last week it was Delphi and VB, yesterday it was Java, today it's .Net, tomorrow it will be Ruby, and who the hell knows what next week will bring.
Like it or not, the programmer is just as much a slave to consumerism as anyone else, though it comes from a different angle. Managers and customers are sold platforms and languages by marketing guys (you know, the kinds of guys that get these sorts of articles planted in CNN), and you're going to have to adapt. It's really sucky, but that's the nature of the game. It's not like the olden days where a guy could learn Cobol and have a job until he dropped dead into the card reader.
The world's burning. Moped Jesus spotted on I50. Details at 11.
This is probably a bit O/T, but since it seems people are interested enough to reply/mod up in this subthread...
That was the trend a few years ago, but I get the feeling it's been reversing for a while now. Java is a decent tool for plenty of jobs, but teaching really isn't one of them, and never was. There's just too much overhead and irrelevant detail before you get to the core concepts, and then part of the point of Java is that it's very limiting in what you can do in some key areas. For example, you can't teach a comprehensive understanding of OO when the assumption is that all classes share a common root and there's little consideration for multiple inheritance and mix-ins. You can argue that Java is a better language without those things, but how can you explain that to someone who doesn't know what they are?
I suspect the same is true of using any .Net language as your first. You're better off learning underlying programming techniques using something simple -- try Python for procedural, Smalltalk to understand objects, ML to learn functional programming, C to learn low-level stuff and basic data structures, etc. Then there are only a fairly small number of somewhat unique features in .Net languages, which you can pick up fairly quickly if you understand the basic ideas: delegates aren't particularly challenging to anyone who's done a bit of functional programming or even worked with function pointers, for example, though they might seem a bit strange to people who haven't experienced either. The rest is just a class library, and you learn it on demand, just as you would with Java's, or with CPAN, or whatever.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I have been working in NYC hiring developers that do C# development at the expert developer level for some time now. I am currently working for a boutique consulting firm .. Finetix (http://www.finetix.com/) .. doing software development for the major investment banks and hedge funds in NYC and London mostly. They do Java and .Net development - and the .Net pull is STRONG. We cannot hire enough STRONG developers. I have been interviewing developers for full time and/ or consulting positions for the better part of the last 4 years in the NYC area. The market for software devlopers that can program C# is very strong right now. A friend and collegue of mine posted last week on his blog http://magmasystems.blogspot.com/ that the baseline salary for strong C# AND Java devs in NYC area is ~150k$. I agree with this. I can say that companies want C# devs for building DESKTOP APPLICATIONS in the major banks, funds etc. Swing does not cut it yet - sorry. VB is old and dead. I hate to break the news to all you Flamer Style OSS or die slashdotters - but MS makes a great programming model for building insanely rich desktop applications.On top of that EVERYONE IN MOST PLACES HAS A WINDOWS DESKTOP. Traders that make millions of dollars doing what they do DO NOT WANT WEB APPLICATIONS. They need RICH desktop applicaions (always N tier communicating with web services, message queues etc.). There is a super strong need for REAL software developers (not ASP kiddies or VBers just awakened). That all said - I am typing all this on my laptop running linux, I can code in C# as an expert, Java at the mid level - I can program Ruby some as well as some C++, and lots more. I can say that having lead teams of developers - YOU CAN DO AN AMAZING AMOUNT with C# and .Net. I have led teams to build both the 30th and the 60th busiest sites on the web for a former client - all .Net/ C#. It works. I have seen one after another huge class desktop/ N tier 'smart client' application be build succesfully using .Net on the client at least. It works. It pays the bills. Do not discount or flame it as it shows you do not understand it. Accept that C#/ .Net is here - it is ready for the enterprise. People are making great money doing it.
Enough ramble from me;
Chris
" I have no tag line. "
Ok. I learned OOP in my freshman year too. Then, after graduation and a couple years of experience I realized that I didn't know shit on my freshman year. OOP really is something that takes both experience and theory to be really powerful.
In fact, I'd say the first two years after graduation I was a pretty crappy developer. I didn't know it of course, but later it has really hit me.
.NET is not the skill you need to "break into IT". Nor is any other platform or language.
.NET on your own with books and tutorials would be a good first step. If it doesn't hold your interest then it probably wasn't meant to be.
.NET noodling alone is not likely to land you a job. Fortunately for you there is a really low barrier to entry into the programming profession. I'll tell you what's worked for me and other people I know. Hire on to a small to medium sized company (if you're not in one already) with an IT infrastructure, but not a mature software development division. Start in whatever menial position you can qualify for, but let your abilities and interests be known to the IT group. Then look for opportunities - processes that you could help automate using MS Access, scripting, or whatever they have on hand. If you do well I guarantee you there will be no lack of projects coming your way, and in a couple of years you'll have some good resume fodder. This approach will gain you valuable industry insight and business analysis skills as well - something that university taught developers often lack. Hopefully your novice code and ill-conceived projects won't have too much damage before you can join a real development team, and learn about the software development lifecycle.
It's my personal opinion is that the mentality a successful programming career requires is something you almost have to be born with. You need to not only excel at solving complex problems on your own, but must enjoy it. There are plenty of very smart people (smarter than me) who can't put together a simple app - they just don't have the patience.
You're reading slashdot - that's a good sign. But I'd be suspicious of someone trying to enter the field who hadn't picked up some skills on their own, as a hobby. I bought my first computer in 8th grade (1983) and spent much of my high school years making games on it. I wrote an adventure game on my HP calculator. This may sound ridiculous but I'll bet a lot of people reading this have similar stories. Most of the programmers I know are basically introverted - not in any extreme way, they just function well on their own. Someone with a very outgoing personality, a "people person", would probably do better in another field. For someone who's intelligent and ambitious, there are plenty of jobs that pay better than programmer.
That said, if you're confident that you should be a programmer, I'd say learning
Unless you have a CS degree, your
Good Luck
So, while this article says that demand is high for "Developers who are expert users of Microsoft's software programming language .NET...". You should focus on the key-word here, "expert". I think what they are infering here are people who know the ins-and-outs of the framework and the language, the software engineering process.
.Net developers. But the pool is so limited. Most candidates we interview come from non-enterprise groups. Their knowledge of the framework (or any framework) is limited. And they lack sound software engineering experience.
.Net positions, and in all cases they have transitioned well and exceeded expectations.
.Net developers which is being met by java developers.
We have high demand for "expert"
We do find plenty of Java developers with enterprise experience and from rich software engineering experience. We've hired Java developers for
So, for my company at least, we have high demand for "expert"
My company's experience might be unique considering we are in NYC, and many of the Java folks we interview are from large financials.