.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?"
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
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.
Let me guess: they can't find programmers with 10 years .NET-experience?
Ever try and write an enterprise level application, even a web application, in perl? It's great for small internal applications; that CPAN doo-hickey works just great.
But CPAN bites you back when you hit the limits of what those modules can do in a large-scale application. When you hit the limit of what is the easiest and arguably the best (and arguably not) ORM out there, Class::DBI, there's 150 different, incompatible modules out there to do what you want. Which one will be maintained? Which one silently overwrites methods deep within more established modules and doesn't tell you? Want one that adds support for limit and sort by? One module gives you that easily, but not with the same interface as the other 10 that are more full featured. Which do you choose?
Don't even get me started on trying to send an email with Perl. CPAN seems to have a new module for sending email every other day. It's become less of a one-stop shop for the modules you need and more of the perl newbie ftp drop site for modules no one could possibly need or want.
As an example, check out what's been uploaded today. Version 0.02 of JavaScript::MochiKit, helpfully described as 'makes perl suck less', with 15 classes and less than a page of documentation. Great! Just what I was looking for!
There's also a module for interacting with MySpace, two versions in the same day of of an XML parser (writer? who knows, I didn't read it) for a data format used by the library of congress (from the same proud author of version 0.3 of Acme::Voodoo, described as 'Do bad stuff to your objects'), version 0.18 (version 0.17 was yesterday's) of DBIX::Class::Loader, a copycat of Class::DBI::Loader for this self-proclaimed CDBI replacement (which is probably needed, but god help a perl newbie who shows up on CPAN looking for ORM nowadays). It's 2pm my time (Austria), meaning it's 5:30 central time, and there are already 9 modules with version numbers less than 1.0 uploaded to CPAN.
Now don't get me wrong, this is fantastic for a small scale app. I'm sure someone will get some use out of a MySpace profile accessor in perl. But what makes CPAN, and perl, great for small-time stuff makes it just terrible for enterprise applications.
As for perl's portability...do you really expect to make an argument that a language that is, in quite official terms, defined by the official compiler is portable? Perl runs on windows, but since perl.exe IS the language, differences between it and the unix versions aren't even technically bugs...they just ARE! It's not a proper way to 'run a language', so to speak.
I've been programming in perl for years. I get paid well for it. I don't plan to stop using it for my insignificant applications. But I know damn well why it's not in demand.
nobody
Furniture repairman at Microsoft.
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.
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