.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?"
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?
There's a shortage of blind monkeys missing three fingers that want to learn these languages.
Anyway, just because it's easy to learn doesn't necessarily mean that it's a bad programming language. It just means that it's an easy to learn one.
Note to mods: I'm probably being sarcastic.
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!
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.
Yes you will make those salaries.. IF and only if you have the background and years of experience.
By background i mean 3 thiered knowledge, application life cycles..etc
and have a few large corporate project behind you.
Don't think for an instant you will get those amount of dollars for just
knowing VB,C#,ASP.net
Same applies to any language btw.
My advice is this, start small, get good projects that has the potential to be completed behind you and build up on that, your position will evolve naturally into corporate type programing in no time!
I'm sure Windows will be with us for a long time, but I'm also pretty sure that .NET won't.
Remember COM+, ActiveX, etc.? Every 3-4 years Microsoft comes out with their latest interfaces, buzzwords, etc. In a few years MS will be moving from Visual Fred to Visual Jake, and everybody will be doing backflips to migrate their legacy code.
Is it time to retire some of those COBOL/CSIS mainframes? Sure.
Do we need to rewrite every application we own just because it is more than three years old? No...
A lot of shops still have VB6 sitting around because of the large number of difficult-to-port applications. How many people have GCC v2 lying around for hard-to-compile C apps? Almost none, since the GNU folks are half-decent about backwards compatibility in their development tools. When things break it tends to be minor - as it should be for a programming language.
The bottom line is that programmers shouldn't have to jump through hoops every time MS wants to sell more development stuido licenses, or needs to attract media attention...
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.
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
Care to explain how a "bondage and discipline" language like C# is easier to learn and more tolerant of bad programming practices, than TMTOWTDI open source languages like PHP and Perl? Oh, that's right, you were just spreading FUD.
For years, one could blame Microsoft for cheap amateur hack coding. No more -- Open Source "LAMP" now totally owns that market.
Whenever I hear the word 'Innovation', I reach for my pistol.
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.
Wow, you don't know how to setup your DB connection so it's .NET's fault? Do you really think it's an instability in the language that causes random security exceptions? Companies are running multi-million dollar systems using .NET technology (and MS SQL Server for the back-end..migrated FROM Oracle! ooooohhh) and you think it's got some kind of stupid random security exception error?
I like the .Net CLR alright, it serves my purposes well. Outside of large corporations I have yet to find a client who is interested in a java solution for anything. Most people's experience with java is limited to bad web pages, so the view is tainted. This carries through to most busineses. It's ignorance, yes. But honestly, how many people/companies that need an application know or care how it works--as long as it does the job?
See, the thing is: these days, real-world programming skill is not about the language anymore, it's about the libraries. You may be able to switch from Java to C# in a few days, but knowing the libraries inside out is going to take a lot longer.
These writers don't know anything.
We made a bad call, but that certainly doesn't let him off the hook.
I get three weeks of vacation. Most folks do. God-Bothering.. bothers me too. GE food? Ehh.. we ship that stuff all over the world. Its hard to know exactly where your food came from.
The shootings... I am not exactly sure what you mean by this. People do get shot yes.. but it is not like we all run around in fear of being shot. Statistically it is one of the least likely ways for you to die. Heart disease is much worse over here.
I am no apologist, but please pick on us for stuff that is actually bad like our idiot politicians that are bankrupting the country and such.
Jeremy
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.
It has been used since the early days of the Web to write CGI scripts, and is an integral component of the popular LAMP (Linux / Apache / MySQL / (Perl / PHP / Python)) platform for web development. Perl has been called "the glue that holds the web together". Large projects written in Perl include Slash, early implementations of PHP [1], and UseModWiki, the wiki software used in Wikipedia until 2002. ... New features have been added, yet virtually complete backwards compatibility with earlier versions is maintained.
So, if Perl is good enough to manage Slashdot and Wiki, I imagine it's good enough to manage any "enterprise" site and is very much worth knowing.
People are indeed hiring people who know perl. There might not be a spike in demand like there is in the non free world, where all the "partners" move lock step, but the jobs are there. I like the way Wall put it, "What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?" Companies that don't mind spending lots of money will continue to persue .NET, C#, M$whatever, and crack lots of heads doing it.
Friends don't help friends install M$ junk.
>Furthermore, just because C/C++ is a "faster" language, that doesn't imply its better suited to web development, or even windows app development.
.NET or Ruby quickly if they don't know it already, whereas I'm likely to be much more dubious about someone who claims.NET experience right out of college. Learn XML and a good declarative language (Haskell, Scheme or Ocaml perhaps), pick up some DECENT Javascript skills, a good strongly typed language like C# or Java, and dome background on work methodologies and design practices, and you'll be eminently more attractive to IT hiring managers.
However, nor would I say that the implied corrolary, that C# is better suited to web development work, is true. Overhead on C# work in the web development sphere is in fact actually driving a lot of companies who HAD gone to ASP.NET to switch over to *nix/Ruby or Python.
Finally a general note - as someone authorized to hire programmers, I generally look for breadth of experience in a number of different languages and backgrounds. I KNOW that these people can learn
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.
Does anyone else see the problem with this? .Net is so platform specific that most of what you learn is non-portable.
Nothing learned while programming is non-portable. The basic concepts of programming, as well as everything built on those concpts, are the same in any language.
"Times have not become more violent. They have just become more televised."
-Marilyn Manson
.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
The ideal QA person is one who actually enjoys breaking stuff, and will hone his or her skills at it for years to come. One who already wants to migrate to development can have the wrong frame of mind (as to what their job should be), as well as conflicts of interest (don't piss off the development manager). I say this as a developer who has great respect for good, professional QA people.
For the "umpteenth" time, please don't be a wanker. C++ was conceived as "C with Classes" (i.e., an extension of C). Valid C code compiles under C++. There's quite a bit more than just "a relation between the two".
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.