.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
Where should I go to start learning .Net programming? I need some good skills as I'm just looking for my first IT job now. Should I turn to the evil Microsoft for training in .Net or elsewhere??
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?
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.
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.
What pays is not the proficiency but the willingness to do the job. .NET programming is "unsexy" integration work in an environment where you buy most of the code and have to cooperate with many, often competing, entities.
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.
Easy to learn = more people doing it. Anyone can take a dump in the woods, doesn't mean they should earn $75,000 a year doing it. More people in .NET however would mean more demand, to hire people who can maintain existing code without rewriting it from scratch. Hopefully lots of people will jump onto the .NET bandwagon and flood the job market. After windows 95...I'm not a big fan of MS.
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
Windows and/or
What list/article were you looking at?
Beware: In C++, your friends can see your privates!
It's not that a blind monkey with 3 fingers can learn to program in it; such is true of Scheme and Smalltalk. It's that the best ur-hacker in the world isn't going to be terribly much more productive than the blind monkey in a language like C#. C#, VB, Java, etc. do not scale well with the intelligence of their programmers; Lisp, Scheme, Dylan, Python, and Smalltalk do.
.NET for their enterprise applications, and C# is a very poor fit for complex code; you need chain-gangs of coders to churn out that code and high salaries are what get people in the door. Microsoft is trying to ameliorate the deficiencies of its standard platform and language set with something called LINQ; this is a rather paltry band-aid which compensates partially for the fact that C# is not Scheme.
There are a lot of jobs paying good money because companies are adopting or migrating to
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
Let me guess: they can't find programmers with 10 years .NET-experience?
A language that is easy to learn does not guarantee good code.
Even the worst logic or options can be generated from the best languages. Some lovely examples can be found over heres.
We wanted you dead anyway.
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!
All this .Net talk sounds like the old MCSE days. "Well, rather than tell you what I think I'm worth why don't you have a look at my MCSE. I think that should give you some idea." True story. They didn't get the job and my friend delited in letting them know why.
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
The might of all the software houses, big multinationals with internal development teams, consulting companies around the world, goverments, etc., have not smelled the coffee about a language that will make them more productive.
But you have.
Paint me unimpressed.
IANAL but write like a drunk one.
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).
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...
Furniture repairman at Microsoft.
VB.NET is useless - use C#
shock the monkey
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 worked for a company that made the decision in 2003 to move towards .Net platform and C#, after evaluating Java / Websphere. .Net can give better performance than Java, and the group was able to produce results. In fact, the group that started the .Net initiative at this company ended up having the rest of application development use their model to update their skills and design concepts, even the small group of VAX programmers who were still around saw the potential in this technology and started writing interfaces as web services.
Getting results is what matters, not some purist ideology, marketing hype, or fanboy attitude. After all, programmers and analysts job is to build systems and applications to meet business needs, not a self fulfilling desire.
"22 astronauts were born in Ohio. What is it about your state that makes people want to flee the Earth?" Stephen Colbert
Where did you see a mention of C/C++ in GP post? I would imagine he refers more to the esoteric power of Lisp, OCaml, Haskell and the like, as compared to a mundane Java clone that is C# (and VB.NET).
Oh, and the bit about "dying platform" is particularly insightful.
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
"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."
No. Once that happens, salaries *increase* but hirings decrease.
Most employers try to *avoid* hiring the inexperienced fools. As a result, they offer high salaries to the rare qualified coder.
Salaries don't drop until the demand actually drops, e.g. by the bubble bursting. A large supply of non-qualified coders doesn't affect qualified salaries. It just affects the cost of hiring. While in theory that cost could come out of salaries, in practice this only occurs in markets where demand greatly outstrips supply. Making it harder to find qualified coders makes them a more valuable resource.
Think about it. Who is more likely to get the job done. Five inexperienced coders? Or one experienced coder? Therefore, which would you rather hire?
I brought up Visual Studio .NET and in the "New Project" dialog, you can have a C++.NET project. I've never just taken old Windows C++ code and tried to make it into some sort of .NET app, but I'm sure it woulnd't be hard at all.
I guess of you're under a dealine, and you need to start moving over to a new platform, you'd have no choice but to take any short-cut you can.
C#, VB, Java, etc. do not scale well with the intelligence of their programmers; Lisp, Scheme, Dylan, Python, and Smalltalk do.
You aren't demonstrating a whole lot of intelligence yourself. Just because you can't figure out the advanced techniques doesn't mean they don't exist.
Slashdot - where whining about luck is the new way to make the world you want.
I am a .Net developer and I don't where I can go to make 75k - 85k developing in .Net, I know of positions managing .Net developers for that amout but I haven't seen an actual development position that pays that amount.
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.
The title reads as if .NET programmers are loosing ground. Why slashdot, why?
I'm working now in a startup phase of an enterprise. I am concentrating on Java, PHP, and other OSS stuff. The reason os so that if I'm using a vendor who I end up not liking, I can pick up and move to another. I don't want to be trapped in the MS world. I've seen some of the corp licensing requirements by MS and the costs of doing business on that platform is only going to increase.
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?
See, I think you know more than enough to get one of these amazing jobs.
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?
If you're writing window's gui apps, .NET is the way to go. Not surprising one bit that this ability is in high demand...
td
hard core geek-ware
Anyone can learn to program in any language. The skill is not in learning the language but in producing good solutions. This can be done in almost any language/platform including the .NET platform.
I'm willing to take a considerable slash in starting pay in order to say NO to proprietary technology. I know it's foolish, but that's just how I feel. I must resist the Borg.
(%i1) factor(777353);
(%o1) 777353
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.
The thread is about the .NET programming market. Not why you think Java is better. But, hey, you're badmouthing the evil Microsoft so you're at +5.
Meybee you should try to kvetch your esceptions.
Whenever I hear the word 'Innovation', I reach for my pistol.
Every language/platform is sinking, that is progress.
.NET skills and there will be for quite some time. When the demand fades, it will mainly be because a new Microsoft platform will replace it and people (rats?) will jump ship.
.NET is a very good platform for building and deploying solutions and Microsoft are not going away anytime soon.
The fact is that there is currently high demand for
The MBA in marketing is probably about market research and product development, which is much different than Madison Avenue, sell-you-what-you-don't-want marketing, which is what I suspect you're thinking about.
(%i1) factor(777353);
(%o1) 777353
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.
I've been a VB.Net developer since it was .Net beta, and am fluent in C# as well. Top that off with proficiency with SQL/ADO.Net and database architecture, and I'm pretty ripe for the picking.
:(
Too bad I can't find time to find a better job, and am only pulling in 62k
There are a huge number of developers out there who are perfectly happy to live and breath only Microsoft products. I find it incomprehensible myself, but there are a lot who have never considered using any development tool, office suite or operating system but Microsoft. In fact they are firmly convinced it is the best and why would they even bother looking at anything else.
For every expert, there is an equal and opposite expert. - Arthur C. Clarke
These writers don't know anything.
I know it's not popular here, but I'm a .NET developer for a small contracting company, and all I know is there is more work than we can handle. On top of that, there are alot of people writing bad .NET code. As for resources, MSDN, FxCop, and Brad Abram's Framework Design Guidelines would start you out on the right foot.
My tax guy would say since 2000.....:)
.Net programmer for the last 6 years or so but I have been an Oracle and Solaris admin for an F500 prior to that
Then again, I've been "called" by my em,ployers a "Big Gun" or "Giant Killer" since 97, buts its also about diversity, I am a
Its all about you and what you know
And while the Intital architecture of such a task can be hair raising for the uninitiated, you are correct "blind monkey missing three fingers could learn to program "
And thats EXACTLY who companies want to be able to maintain it long term....
Well, .NET runs on Windows using Microsoft's .NET implementation, and on Unix and OS X using Mono's implementation. That's an acceptable level of being locked to a platform for most people.
I know as techies we often don't like dealing with getting our selfs "dirty" dealing with the business,
That's as maybe. But 99% of the time, it's business needs that drive technology, not the other way around.
As long as they are decent programmer its easy to teach them a new langange.
Most of my experience is in sysadmin rather than development, but I'd say much of the same applies.
Though I would take it a step further and say if someone who's in IT isn't prepared/able to look into broadening their experience with alternative languages. systems or methodologies, then they probably shouldn't be in IT. "Unix" is one thing. "Will only look at Solaris" is quite another.
Realistically, assuming your company requires any base of experience whatsoever, there is no way any new hire will be up to speed in anything under a couple of months. The extra few weeks it might take for them to be passably comfortable with the language it's written in or the system it's running on is nothing compared to the amount of work involved if they didn't have any concept of writing decent code, troubleshooting systems or whatever's appropriate.
Obviously you make allowances depending on how much experience you're looking for when you go hiring. But even then I'd expect to see a certain amount of enthusiasm and willingness to consider how best to solve a problem.
Remains to be seen how the situation will fare in the near future.
More than mere navel gazing.
Alright, I'm addicted to the easy joke. Mod him down if you really want to.
Slashdot - where whining about luck is the new way to make the world you want.
Ugh... *shudder* Drag-and-drop "programmers".
Man, you nailed it. You're a tool of a college student who can't program, and it's the language's fault. Good show.
".NET/C# is a language for programmers who are at least mediocre. ... So, why would any programmer who was any good bother to learn some language that's going to enslave them to one company's technology forever"
.NET jobs out there.
For work, you go where the money is. For personal gratification, you program with whatever you want.
I've been programming in C++ for over 14 years on both Windoze and Unix, non-stop... and I'd consider myself a C++ expert (if there is such a thing).
When C#/.NET was in Beta 1, I started learning that and programmed in Java as well. It never hurts to learn multiple languages... gives you flexibility in the market place.
C++ is still my favorite language, but I'm not giving up $100K+ per year just because of my religious affiliation with the church of C++.
Are there C++ jobs out there that pay $100K+? Yes. But the reality is that there are more
C# really, is pretty decent, at least v2.0. I don't believe the generics are as expressive as C++ templates, but they're a welcomed addition from v1.x.
#And don't tell me about GNOME mono. That project will be killed in some way by Microsoft .NET.
#as soon as Microsoft thinks it's in their advantage to do so. It's just a much a dead-end
#as
The fact that you are calling it 'GNOME mono' means you don't know very much about mono at all. I guess you're somehow infering that because mono includes the GTK# GUI Toolkit (which is only 1 of 4 supported GUI Toolkits: http://www.mono-project.com/Gui_Toolkits) which is a only a small component of the entire mono platform - it deserves to be called GNOME mono.
If anything you should call it 'Novell mono' since Novell has acquired Ximian who are the core developers of Mono.
#That project will be killed in some way by Microsoft as soon as Microsoft thinks it's in
#their advantage to do so.
It doesn't sound like that you are aware that mono is an 'open-source' implementation of EMCA standards (http://www.mono-project.com/ECMA). I'm not aware of any 'open source' implementations of a standard in history that has been 'killed'.
What you're describing is Financial Engineering, which you can get a Master's degree for in one year from several programs (Columbia, Berkeley, Rutgers, to name a few). I don't think merely understanding trading is enough, there is a lot of very advanced math involved:
(%i1) factor(777353);
(%o1) 777353
.NET is to good, it will not fail, comapre it to java, and jva seriously sux, i see many many java programmers make the jump to .NET and let me tell you I don't see any go back to Java after a taste of .NET
It really seems like there are alot of people here that just bash the product because it is a MS product, they are so funny, poor mungrels can keep there crapie enviroments, I'll take Visual Studio.NET, the .NET framework and MS SQL any day
One of the shortest, if not the shortest mention of the things mentioned in the artical, were these two tech jobs.
.net is a platform that many langauges can be use on and perhaps mixed to some degree..(as opposed to saying programmers of a specific language are in demand -- wasn't java once there?).... and the other position in demand being Quality assurance in software....
.net platform and say . MS net developers are in demand..... well all things considered... don't you then need more QA's......trusted computing and all???
.net platform is so great, wouldn't that make QA less needed?
And consider that
Do you suppose there is a relationship?
Like as in if you are going to put programmers of different languages on the
Seems like if there is a splitting of jobs for the output, the pay would be split too....
maybe thats a little off the edge.... but really if the
What bothers me about all of this is that programming isn't getting much easier for the typical user, as it should be.
Programming is the act of automating complexity so as to make that complexity easy to use and reuse byt he user of the complexity. And this is recursive.
But I suppose to distort this so to keep it out of the typical users hands enough, supporting the industry as some would say, requires complexication before it goes out....need another hand on the light bulb ladder? Hmmm, what happens whan I flip this switch while they are all changing the bulb? Trust me, if you want me to trust you.....
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.
.NET will be around for a number of years still, and not "dying" today. (heck, MS is even actively supporting it today more than ever, so it's a great exaggeration)
.NET being largely incompatible with regular C++ development, and the upcoming WinFX API being largely incompatible with even more things, like UI development (XAML vs regular resource files).
Yep, I agree about this, but also this:
A lot of shops still have VB6 sitting around because of the large number of difficult-to-port applications.
MS technologies and their communities tend to linger for quite a while due to the company size. For better and worse, to the developers. And when I'm talking about "dying" stuff, I'm talking about dying communities, not the inventing company moving on. For that reason I'm not really saying the Amiga is dead even now, as there's still a lot of enthusiasts around. I'm usually not claiming the Pentium 3 is dead the day Intel went to Pentium 4, and so on. But sure, it depends on how you look at it. But community-wise, I believe
But I agree with what you're saying that MS is moving on in a kind of annoying fashion these days. Especially incompatibility is a pretty big problem, with
Beware: In C++, your friends can see your privates!
First of all, while it may have been true that VB6 was hobbled compared to functionality of C++6, it's not fair to say that VB.Net or ASP.Net is useless, to only use C#. The facts are that even Microsoft admits http://msdn.microsoft.com/asp.net/support/faq/defa ult.aspx that they compile to the same MSIL code. Where .Net is very valuable is in web coding. It provides a much cleaner way to keep the HTML coding separate from the .Net coding than PHP, Javascript, or old Asp style code.
"22 astronauts were born in Ohio. What is it about your state that makes people want to flee the Earth?" Stephen Colbert
Joel could easily have been talking about .net or .java or .latest-easy-to-write-language. He hit the nail on the head when he said that (to paraphrase) teaching people using a language which avoids the requirement to understand how computers actually work makes it hard to assess whether a programmer is any good.
Joel's the Perils of Java School
When I used to work in embedded systems (oh gosh, 12 years ago!) I was stunned to discover that some of my colleagues didn't understand how to write interrupt routines and thought they were black magic! I can see why, although jobs are not often advertised, linux kernel programmers get a very high premium salary - because so many software engineers don't even have an insight into memory allocation strategies and stacks, let alone assembler and interrupts.
Sorry to rant, but I gotta justify the grey hairs somehow!
A lot of people here seem to bash .NET, but they don't really seem to know much about it and are really not talking truths about it. Just bashing it for the sack of bashing it, funny that
You guys keep your PHP, Java what ever, and well use our beloved .NET
I spent many years hammering out COM components in C, C++, and later ATL. Management tended to look at it as 'hard magic', when in reality it was really no harder than the C++ code we were cooking up for the Unix systems. As things migrated to a web front end where ASP was calling COM, I looked for a bit easier way to test my bug free (TM) code. Found that it was easier to use a VB test client than IIS. Also found that I could prototype a COM component in VB very quickly... which ran faster (if apartment threading worked for the situation and was compiled) than I cared to admit.
.NET suffers from the same mentality. Sure, I've played with it a bit. It was very simple to jump into C# from Java, they had a fairly rich set of core libraries. Microsoft keeps pitching it as 'easy' and I suspect there are too many folks krufting out C# apps rather than crafting them, thus my perception is this new framework does not have a high enough barrier of entry. My assumption is the money will follow the same pattern. That, and the .NET framework is also a bit young. I've worked with a lot of companies, and those few who are making the jump to .NET started in 2005/2004. No 'bleeding edge' bonus money over other platforms/frameworks. Why would I move to it?
Someone who is a solid developer can create good clean code - even in VB. The problem I saw was the folks paying the bills would think that 'VB is easy' and would pay less. When I made the switch to Java, I felt it was C++ for dummies. As things picked up steam and the J2EE specs raised the bar again on what you had to know to make an application work. That is what I view as the Achilles heel to the older VB platform - folks who had no clue what they were doing could wire together an app. (All the normal caveats here, some of the ugliest code I've ever reviewed and then had to fix was done in Java. Tis the people, not the language, more often than not.)
Anyhow, I think
+++ UGUCAUCGUAUUUCU
Actually yes you are sort of right it is a fairly decent way to keep separation. However asp.net is no magic break through and I even managed to build a apache
filter based on python that lets me use the same exact type of architecture and coded it in a single night.
Got Code?
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
This is what I'm doing right now for my senior project at my college. I got myself a FREE copy of VB.NET Express and 20+ FREE training videos. It's only for a limited time though. MS will eventually start charging about $50 for an Express license. You can also find C#, C++, J#, Web Developer, and SQL Server for free. Just click the appropriate links on the left of either of the two links mentioned above.
-Ares
They produce almost identical ILM... so stomping one is actually stomping the other...
<end/>
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.
Can I come work for you? Seriously, I had an interview not long ago and during that session they mentioned that they were an 'All microsoft office'. Using .NET and the most recent Windows on everything.
.NET and likes to review the code and needs to have an idea what's going on. Finished the interview, and then turned down the job.
So I asked what they did when the language failed or it wasn't easily solvable in that language. Such as running an external batch file for a faster result, or (thinking that VB 6 doesn't have threads) I need another language that had the tools to solve the problem, such as C or perl. They then had told me that it wasn't allowed because the PHB only knows some
I have worked on two other projects that were like that, one being VB 6 and Delphi, both used because the 'Boss' didn't know anyother language and thought 'If it can't be done in that language, we don't need it.' Neither project made it to market mostly because of that mentality. (Second was because they didn't have a finalized design)
While I'm on a rant, if anyone is on a project and the 'Boss' goes, 'just get started we will round it out later', or 'I got a rough idea what we are going to do, get started I will give you more info later', run, run run.
I still consider myself a junior programmer (5 years) but being on projects like these are killing my career.
- my $.02? - you can't have it...it's all I have!!
Did it ever strike you that the "legacy Windows app" might have been one of the least stable buzzword compliant flavors ever? Compare the changes required from Win3.1, 95, 98, NT, and XP to GNU/Linux applications. The people who fell for VB have it even worse and they are the ones forking out the big bucks all the time to "keep up". An application ported to GNU/Linux in 1998 would have worked on commodity hardware then and now with a minimum of fuss and upkeep, even if they used something quick and dirty like Tcl/Tk. It's that TCO thing again.
Friends don't help friends install M$ junk.
When I was working at Mattel in the mid 90s, the IT department was paying a lot of old guys a great deal of money to keep their ancient Cobol code running and revised for Y2K. Could it be that with the trend of business and governments away from being chained to Microsoft products that finding people to support the old habits is getting tougher? Or is it possible that no college or university EVER teaches currently marketable skills and only teach stuff that's several years out of date? Hell, when I was at B.U. there was a big focus on teaching Ada and we poor starving graduates discovered that nobody was hiring Ada programmers anymore.
If you code like you express yourself, I'm really glad I'm not working with you.
Slashdot - where whining about luck is the new way to make the world you want.
Two tech jobs in high demand these days are .NET (dot net) developers and quality assurance analysts.
No mysteries here. Obviously, a company that uses many of the first needs even more of the second and other support. The base pay $65,000 is your average big dumb company salary because everything cost two to three times as much as it should for them. Only big dumb companies, aka Microsoft Partners, would be moving to the latest and greatest M$ junk, so this spike in demand is predictable. The eventual disposal of this batch of soon to be squeezed of their lives programmers is also predictable. M$ will upgrade train their skills into irrelevance two years from now and a new wave of hiring will be on, and so on ad infinitum.
People using other software are quietly using their existing staff, having lives, going on vacation, etc, etc. They hire every now and then.
Friends don't help friends install M$ junk.
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. "
It's because those who CAN'T handle juggling of memory pointers find solace in the language. When I was graduating, there were a lot of people standing alongside me that probably shouldn't have been. They had cheated their way through school, plagarizing projects and scamming answers to exams. They couldn't write a word in C or assembly, but they could force out a few lines of .NET because it's easy.
.NET does not imply stupidity. It abstracts some of the gorier details of programming so that smart people don't have to worry about it when they use .NET for smart applications. However, it also allows stupid people to not have to worry about the gorier details of programming.
I'll agree that the use of
Basically, it empowers all people, both capable and non-capable.
Which from an employers POV is a good thing as it drives down the cost of hiring. (albeit that entirely conflicts with the CNN article)
anyone need a C or Java programmer? lol
who would have taught few years ago that Java programmers be a dying breed?
GIGO - Garbage In - Garbage Out
First, quit whining. If you want to have a job where you DON'T have to say "would you like fries with that?" then you will need to leave the childish whining in the past.
Second, have you ever heard of "Google?" It's a little company with a nice, little web-search function. Try looking for answers rather than crying when things aren't handed to you on a silver platter.
Third, if you think you can go into the workplace and not have to put in a lot of time staying up-to-date then maybe you SHOULD find a job where you can say, "would you like to super-size that for another 25 cents?"
Information Technology is constantly evolving, and if you're not ready, willing and able to stay on top of your chosen fields within IT, then you need to reconsider your career path.
BTW, I tell this to each and every one of my undergraduate classes on the first day of classes. And yes, I've had a few people change their major because of it. If you're in IT for the money, you're in it for the wrong reasons....
Some here have mentioned that they don't see the $75k - $85+k salaries? Maybe not where you work, but they are indeed available in the Boston area. Perhaps the cost of living inflates these salaries by 10%, but the number of C# and VB.NET job postings around here have been on the rise for the last 18 months. Now, each week, the postings are numerous - and not the bogus recruiter postings, but actual companies hungry for intermediate to experienced developers and SW Engineers.
There are also plenty of Java postings. I'm sure those salaries are at the same levels. A lot of financial services type positions lately. Probably a lot of market analysis projection tools being built....
I have a university degree in CS and have been working in the industry for about a decade now... and I REFUSE to work with anything Microsoft related. I would not take a job because of it and I will quit a job that introduces it later.
More jobs for the shmoo's who have no personal integrity... good... I don't f*cking care!
Death to Microsoft!
Meh.
My employer had all of it's products written in VB6, and when .Net came out learned a hard lesson about dealing with Microsoft. Rather than porting to .Net we are now a Java shop.
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.
[Mono is] just a much a dead-end as .NET.
Why is .net a dead-end? I could write that .Net is taking off, there's articles about Java being "so last century", etc. but that would be just as unsubstantiated. I work in an internal IT department of a large UK company and .Net is pervasive enough that it'll be around for years. Dead-end because it's limited, dead-end because it's rare or dead-end because it's an MS product?
You are already selling out and going with .NET, what difference would it make if you train with Microsoft?
/me spits at .NET and MS
Meh.
I agree completely! Learning biology opened the door to a career in bioinformatics for me. Without that background, I wouldn't be able to easily understand and anticipate the users' needs. Hell, the programming langugage in question is just the tool that allows me to expose new data to the user, analyse their information, or generate new hypothesis (or do more interesting mathematical analysis.)
When I walk into a room of scientists, and they throw around all the vocabulary of the industry, it's good to be able to understand exactly what they are talking about, and add to their conversation about what they are doing, how they are doing it, and what direction to take next. On top of that, the programming side gives you the ability to understand 'process', which the scientists may not see as easily. The reason scientists don't always see 'process' is that many labs have 'their own way' of doing things, and rarely do many different labs look at their methods, and realize exactly how much they have in common.
Then learn to program. I could write 1000 lines of Java/whatever that would be useless too. What about the argument that most languages are more or less equivalent - unless you have a Turing machine it's not going to get much more powerful. I could claim to have written the same app as you but mine works.
Anyway, the irony here is that on another subject you'd complain MS software is insecure...
>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
Anyone here work as a hardware programmer?
How much do they make?
who would have taught few years ago that Java programmers be a dying breed?
.NET. The next day, only senior developers with experience can get jobs, and the day after, junior coders are taking away all the highly-paid jobs. The day after, something else. After you've gone through twenty or so claimed crises for the IT industry on Slashdot's front page, you kind of mellow out and just grin and go on your way when you see articles of this sort.
.NET. :-)
There are no "dying breeds" in the sense that you can't do work and get recompensed. Hell, if you *want* to build a web application in Fortran77 (it's just that it's probably kind of a pain in the ass), you can run out and do exactly that. Sure, not a very high *percentage* of people developing software anymore are going to be coding in F77, but the market's also expanded an awful lot from back when Fortran was the hottest thing going.
I keep seeing these various articles from the IT press about how "X" is the hot new area. [snort] If that area was the only place to be, developers would be skipping from language to language and technology to technology every two years (and never gain *any* aptitude in the area). In the grand scheme of things, most IT press have about a two out of ten on the cluefulness meter (I remember seeing one once directly rip a guess of mine as to the rate of Linux desktop adoption and slap it into a report, presented it as if it had research backing it), and about a one out of ten on the integrity meter ("Houston is a *great* place to live and work! It's the new hot center for highly-paid developers! -- I don't have *any* incentives being paid me by Houston business interests, no!")
I like developing in C, and I don't seem to have any trouble running work that needs to be done in (or can be done in) C. Unless you are specifically working for someone or a customer that has a precise language requirement and refuse to work anywhere else, you can do work in pretty much any language. Hell, Paul Graham is still out there using Lisp as a website backend...
My take is that the best way for one to make a good salary and have a good job is to learn a particular useful skillset really in-depth, ignore what Bob the Tech Journalist is screaming about being the latest hotness, and trust your own judgement as to what's technically sound.
And Slashdot runs plenty of "the sky is falling" articles about IT and the software development industry. One day, an article will claim that all software development is going to vanish to India. The next day, Microsoft is going to take over with
Actually, this article isn't even really *negative*. It just implies that we should be dropping everything and checking out
Any program relying on (nontrivial) preemptive multithreading will be buggy.
Unless things have changed dramatically in the last year, I wouldn't count on that. Last year I took C# and VB.net. I couldn't even get simple "Hello World" apps built in Visual Studio to run in Mono. .NET=Further locked into Windows
"It ain't a war against drugs.it's a war against personal freedom" --Bill Hicks
It seems that the GP meant that worse than mediocre needs to go to VB. Mediocre or better can go to C#.
Rethinking email
Oh no! You mean this article was written by someone who (gasp!) has a degree in a subject area that focuses on reading and writing. The horror! We obviously can't trust a word then.
The research probably was doing a search on Monster.com and seeing how many "jobs" cames up (we all know how that works) and then this person probably talked to their friend who's heard how much (complete guess) her
Wow. What an amazing pile of steaming "probablys" and conjecture you got there. Do you have a single actual fact to cite anywhere here, or do you just feel the need to randomly try to discredit an article because it says that the dreaded Microsoft technology remains the most widespread skill set needed in the IT world?
These writers don't know anything.
As opposed to you who clearly are a sage oracle to be paid attention to.
Jeez.
why are u stuck on MS platform? .NET's CLI is a specification that will and can be made to run on just about any platform
"I'm sure Windows will be with us for a long time, but I'm also pretty sure that .NET won't."
.NET framework.. Exchange, Office, BizTalk, SharePoint, CRM, etc. All of their verticles are normalizing on the same infrastructure to maximize interoperability between the platforms. .NET is here to stay... The fundamental mistake that you're making is that .NET is anything like COM+ or ActiveX. On the surface they seem to be similar in function, however if you dig a little deeper you will find some very fundamental differences in how the technologies are being used and what it means for the future of microsoft products.
You're fooling yourself if you think that is true. Microsoft's push to SOA includes putting all of their major application bases on the
Regardless, we ALL have choices and learning to use Microsoft technologies (.NET included) doesn't mean that you're stuck using them forever. I program in a variety of languages and platforms and I enjoy all of them; The lessons and concepts I learn are always applicable across the board.
is that most jobs are for intranets, and companies which want to pay for support. Open Source doesn't have that - at least here in Mexico. Here the most demanded programmers are .NET. The only company which uses LAMP is the company i belong to, and that's because I was allowed to choose which platform I would program in - and that's because my boss is an old friend of my father, of the old guard.
.NET and Java developers. There's no place in the mexican job market for open source coders like me :(
Most companies, however, have been convinced with Microsoft/Sun/IBM advertisements, and they're asking for
When you are applying for a job, at least in the consulting sector, they are not looking for specific languages you know at the moment, but if you are capable of learning something new when required. To have an impressive CV and a good education is paying off, not only knowing .Net or Java.
I have seen precisely why companies are having a hard time finding .NET developers. It's because companies choose to go with .NET technologies which are probably not the industry norm in their field (ie web development) and then try to recruit rsther than trying to see what the majority of the market is and what the majority of developers are using.
.NET platform but developers not following suit. It's easy to convince a company through hype but alot harder to convince engineers.
C# is still very low on the Tiobe Index wavering between 9-11 with only a 3% permeation of the market. By comparison, PHP and PERL both waver around 9% with C/C++ and JAVA being MUCH higher.
These shortages that companies are feeling is not so much the communities fault as it is the companies fault for deviating from what are commonly accepted coding languages for certain tasks.
Aside from C# not being widely adopted by developers yet (outside of the greater Seattle/Redmond area), Microsoft itself has only just not started porting applications to a large extent to C#. Before now, even they were still using C/C++ for most of their desktop applications (notice I said MOST to avoid anyone pointing out their favorite C# applicatioon).
In short, this shortage is mostly due to companies believing in Microsoft's hype of the
This is my sig. There are many like it but this one is mine.
Anyhow, I think .NET suffers from the same mentality. Sure, I've played with it a bit. It was very simple to jump into C# from Java, they had a fairly rich set of core libraries. Microsoft keeps pitching it as 'easy' and I suspect there are too many folks krufting out C# apps rather than crafting them, thus my perception is this new framework does not have a high enough barrier of entry. My assumption is the money will follow the same pattern. That, and the .NET framework is also a bit young. I've worked with a lot of companies, and those few who are making the jump to .NET started in 2005/2004. No 'bleeding edge' bonus money over other platforms/frameworks. Why would I move to it?
.sig). Traditionally, it was a pain in the ass to write a simple preemptively-multithreaded program. Java and .NET make it *much* easier to write that hello world thread program.
I know a lot of people who have the same frusteration over a lowered barrier to entry. Making something outright *easier* is just better (no sense in having to blow lots of time making people learn something unnecessary), but there is a problem when it's easy to enter a field but hard to perform in the field competently.
I've known a few people (who I consider to be overreacting) who actually dislike use of debuggers, because they feel that it makes people less likely to actually properly think through what they are developing. It lowers the barrier to entry a lot, and that the cost of that loss of a filter causes more harm than the overall benefits. One of these people is Linus Torvalds. Another is my current boss. While I think that they both go too far, there is a sizeable kernel of truth.
I think that the single largest irritation I have with some of the newer platforms is that they greatly lower the barrier to entry with threads (see my
The problem is that the syntax you must use and some trivial knowledge about what is safe to do and what isn't in a language or on a platform is the tiniest part of what must be known to correctly multithread a program. You *must understand how to correctly do multithreaded design* from the standpoint of designing a program. This is not easy to do correctly, and it's easy to take "shortcuts" that then come back and bite one in the ass. I would say that I have known maybe three or four people that I would trust to correctly write preemptively multithreaded systems that I'd be willing to trust my life to -- and in every single one of their cases, I've found nasty design-level bugs in their threaded or distributed designs that probably would not have cropped up in a simple single-threaded design.
Multithreading a a system has exactly two legitimate uses:
(1) Increasing performance. Unless you have a very specialized system designed for parallel processing, you are probably talking about possibly a factor of two speedup on a typical multiprocessor system. The problem is that a factor of two is *nothing*. You have a limited amount of development time T in which to make your application perform as quickly as possible. It's almost always possible to redesign such a system's higher-level logic (precompute, cache to avoid recomputation, better algorithms, whatever) to get at *least* a factor of two speed improvement on a CPU-bound application, and doing so is almost always cheaper in terms of development time than multithreading an application. Multithreading is damned expensive in terms of development time and debugging time. It makes profiling much more difficult. It is *not* immediately clear to a reader of your code what assumptions you make about the threading model; we developed data hiding for defining how data must be touched, but we have no good way at the language level for defining guarantees about how threads must interact. Result: you waste a lot of time for minimal performance gain.
(2) Ea
Any program relying on (nontrivial) preemptive multithreading will be buggy.
It's a dead-end in the same way that learning OS/390 assembly was a dead-end 20 years ago. My most recent job has put me in a lot more contact with the IBM mainframe than I've ever had before. And if that teaches me anything, it's that a company that tries hard to make sure that everything always leads back to them will eventually be dead in the technology marketplace.
.NET/C# is all about Microsoft keeping people using Microsoft tools on Microsoft platforms. It's a dead-end. Microsoft may be around for a long time, but their dominance in the marketplace has a much shorter lifetime. Once that dominance ends, people will discover that all their attempts to burn the bridges that might lead from their products to the wide-wide world means that all those skills no longer translate to anything but their products.
Need a Python, C++, Unix, Linux develop
I do not mean that only mediocre programmers write in C#. I mean that people who have very little programming skill or talent are going to have a hard time with it. There are stellar programmers who write in VB or PHP, but those two languages really require very little skill to program effectively for.
I actually don't like either Java (which I know fairly well) or C# very much for very similar reasons. But I wasn't intending to bash them technically.
Java is not a dead-end. Java isn't tied to Sun in the same way that .NET is tied to Microsoft. It can free itself of Sun's sticky tentacles. Additionally, Sun in general does not try to tie people into it's own little world as a marketing strategy.
C# and .NET are. I'm not jealous of C# programmers. I'm not jealous of OS/390 assembly programmers either. I consider the two different groups to be at different points on a very similar path.
Need a Python, C++, Unix, Linux develop
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.
I call bullshit, and I think your "lot of companies" is a manufactured fact in your head. Both Ruby and Python have gained at the expense of PHP/Perl, not
I did QA for a year and I only got paid $15/hr. My full-time coworkers were most definitely not making nearly $65k/year and I worked at a relatively large company in San Diego, CA.
Forecast for tomorrow: A few sprinklings of genius with a chance of DOOM!
>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.
I don't disagree with your point in general, but it's *NOT* so easy for a "decent" programmer to ramp up in a new language doing anything of decent complexity. It takes a good bit of time to get comfortable with a language and the libraries available. Getting something work at all is one thing, having enough comfort that you don't want to re-write everything now that you "know better" is entirely different. The latter isn't a matter of a few weeks, even for someone that's "above average".
I've seen this process over and over in the development world. As a side note, there is no question in my mind people who've worked at a slightly lower level (IE - C/C++ programmers) who've had some real experience with memory mangement/pointers, generally have a FAR easier time moving to Java/C# than vice versa.
Anyways, I am a Java developer for a small consulting firm near Cleveland. Every now and then I scan the help wanted ads just to see what people are looking for, and there were several companies wanting .NET and none for Java. On the other hand, I had no problem finding a Java position (in a couple of weeks no less) when I switched employers a few months ago. I also had companies interviewing me for C# positions though it's definitely weaker on my resume, so maybe that says something about the C# demand around here.
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.
.pdb files inexplicably. I'm running a stock system+ClearCase, and IT's applied all available VS updates. This contrasts sharply with emacs, which just plain doesn't crash on me.
.NET), and something totally different under Linux. I've used emacs under Mac OS, Linux, and Windows, and the environment is the same everywhere -- I don't have to throw out knowledge.
.NET. I do a lot of debugging under Linux because I have the excellent valgrind freely available there, whereas VS lacks anything similar out of box (my experiences with Boundschecker involved two weeks of getting it to intermittently work before I finally gave up in frusteration -- I may have to try Purify).
I dunno. I agree that if you don't have conflicting language requirements, C# would be a superior alternative to VB. However, I've found the Visual Studio IDE to be frusteratingly buggy -- I work in my source tree on a remote CIFS share (which is the only possible unusual thing I can think of), and VS 2003 hangs, crashes, and has a tendency to stop being able to modify its
I can only think of a few things that I'd say are really in VS's favor compared to gcc/emacs:
* Intellisense is nicer than emacs's completion system -- it has a lot of language-specific knowledge.
* The source code colorization system in VS is faster. I use lazy font lock under emacs (so colorization happens in the background), but it's still noticeable on large files. I've heard that this is because emacs uses regexes for colorization and VS uses a full parse tree, but I've no idea as to the truth of this.
* I've never used it, but I know a few people who really like the ability to modify running code at the source level.
On the other hand, there are a lot of things that really frusterate me:
* It's sluggish. I use VS locally on my P4, 1GB of RAM machine. I have a P3 Linux box sitting by my desk (used by three people and with only 128MB of RAM). I use both VS on the Windows box and emacs over X11 to the Windows box for editing. VS has these fits where it just sits in "Not Responding" mode for ages, especially when I switch back to VS after working in another window for a while. Emacs doesn't do that.
* It's buggy. I've seen crashes, hangs, and what seems to be problems with file locking of symbol files. This is really frusterating (especially since the symbol file problem manifests itself as silently ignoring breakpoints until the next VS restart).
* VS's editor isn't too great for a serious user. VS has an okay basic code editor, but it has dialog boxes to deal with, makes you use the mouse to get around a fair amount of the time (when I'm developing with screen + gdb + emacs, I never touch the mouse), isn't as easy (for me at least) to automate, and requires you to have multiple instances open to work with multiple solution files. I can use a twin-pane emacs just fine on an eighty-column terminal, but I often feel cramped with the number of panes I have to have open (and can't switch between with the keyboard) in VS on even dual 20" monitors.
* VS isn't portable. If you learn emacs once, you can use it *everywhere*, for every task. I'm currently developing code for WinCE, Win32, and Linux. If you want to use Visual Studio, as best as I can tell, you have to use VS under Win32, VS Embedded under WinCE (which seems to have more resemblance in interface to VS6 than VS
* VS seems to keep losing features (or at least have them segregated into higher-priced products). Profiling was apparently in VS6 (according to our local VS6 guru), but seems to have split off into the Enterprise Edition of VS
* Sometimes VS's debugger slows to a *crawl* and takes quite a while when expanding certain complex data structures. I've no idea what it's internally doing. GDB deals with the same data structures fine.
Any program relying on (nontrivial) preemptive multithreading will be buggy.
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.
Oh, yeah. The other thing that really drives me bonkers about Visual Studio is that it doesn't support C99, which has a hell of a lot of useful features. I mean, Christ, the spec has been out forever and Visual Studio *still* doesn't support it. Gah.
Any program relying on (nontrivial) preemptive multithreading will be buggy.
If you dont believe me go to dice.com or monsterboard.com and look for jobs in your area? java is the #1 sought after language with c++ second and perl or php third.
.net language since programers are just switching to it whether they use the additional webservices or not?
I wonder if they consider c++ a
Also QA jobs is bolony. Most employers tell me its the QA and helpdesk jobs that go to India.
Programming needs to be highly speced and is therefore more efficient where the company headquarters is at for planning. QA doesn't need to be near where the business processes are planned and can be done cheaper oversea's.
I am surprissed any demand is left for programming jobs? Maybe they mean consultants or business process engineering for the phb jobs? Those are needed here.
So the moral of the story is get your degree and get a good business background to suceed. I am back at school after being a formal techie and I learned a ton in my economic classes and now accouting classes that give me a competitive advantage.
http://saveie6.com/
One Lean Manufacturing technique is to use video cameras to capture the manufacturing process. A quality engineer will analyze the tapes to identify areas in the process that create inefficiencies or excess waste, both in terms of materials and workers' time.
This was done fifty years ago. The only difference is the analysts would actually visit the factory floor.
For those here curious about 'the real world', I will say that my personal experience reflects the numbers provided in the article.
.net work at about 50k and have moved up to nearly 100k within 18 months. I have had several jobs in the last year or so, and all of them have offered starting salaries greater than 75k for vb.net and c# work.
.net development. I would consider myself very well qualified though.
.net, as it is such as RAD environment.
.net programmers now that vb.net is a real language. Companies have to work hard to sort out the real developers from the VB Junkies that just picked up .net. One way of doing this is to require c# I suppose.
I'm actually in Oklahoma, which is by no means the Tech Capital of the US. Without a college degree I was able to start
Also, I wouldn't say i'm some expert at
I think perhaps the demand is becuase companies are realizing they can get alot more bang-for-the-buck with
There is a problem though, You have alot of silly VB programmers that think they are
Big ones, small ones, some as big as yer 'ead!
Give 'em a twist, a flick o' the wrist...
A few points:
.NET is a platform, and there are a tremendous number of languages that target it.
The only software with a finalized design is software no one uses.
If you think your career is being killed by your projects, then you had better damn well get better at what you do so you can start dictating how some of those projects go. Someone who just swims with the stream never makes it anywhere they aren't carried.
Slashdot - where whining about luck is the new way to make the world you want.
Your PHBs likely suck, so I'm not going to defend them too strenuously -- but it sounds like they have the right idea. For a business application, it's a very rare case when you "need another language that had the tools to solve the problem, such as C or perl" -- and the boss is likely wisely thinking of the future, after you quit, and he has to support the work that you've done.
Whenever I hear the word 'Innovation', I reach for my pistol.
There's short-term self-interest, and long-term. It's not in anybody's long term self-interest to tie themselves to a particular vendor's technology.
Need a Python, C++, Unix, Linux develop
That's ridiculous. Are we talking about testing or QA here? QA is prevention, testing is detection. Completely different ball game. I have to agree, in the UK 35,000 is reasonable for a good QA analyst. I know a lot on much more than that.
Yeah, but it's really no different anywhere else:
"Motif is for Unix GUIs!" (later) "Eww - Motif. Let use Qt!"
"Linux Threads!" (next week) "POSIX Threads!"
"Java Enterprise Beans is the right way to do it!" (2 years pass) "Enterprise Beans is the wrong way to do it! Hibernate! JDO!"
etc etc
Whenever I hear the word 'Innovation', I reach for my pistol.
I am a MIS major and focusing on Java right now since its the number 1 language sought after. For someone with limited experience should I be focusing on c#?
I am having flashbacks to 1998 right now with the mcse craze. The ones who had MCSE on their resume got the highest paying jobs. I wonder if the same is going to happen with c#?
After all I will be competing with folks with 10+ years of experience in Java on their resumes when I hit the job market.
http://saveie6.com/
Of course it is. Unfortunately, the business needs being served are often those of the companies supplying the new technologies or involved with derivative fields like training and consultancy. Whether any new technology serves the business needs of anyone actually using it is an entirely different question.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Was it because they couldn't spell?
--S (Oh wait, I meant never to post a spelling-nazi message to Slashdot...)
-- sigs cause cancer.
...they're in demand. Because no one has actually ever seen one yet considering that no one is still clear on exactly what .Net really is. ;P
For the humor impaired: The above is a joke. It's funny. Laugh.
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
This is, perhaps my number one complaint about open source "zealots." They don't seem to understand that the best way to beat your enemy is to understand your enemy -- and steal his good ideas.
I, too, program on a lot of different platforms and in a lot of different languages. If I hadn't learned about other platforms (Windows included), I wouldn't know half of the handy tricks and tools of the trade that I know today.
--S
-- sigs cause cancer.
Since when did programming languages (C#, VB .NET) that a blind monkey missing three fingers could learn to program in pay high salaries? Bah. Blame it on point haired bosses (think Dilbert) who just want to incorperate the newest technology without understanding the benefits.
.NET was just a simple subset of programming languages? (Ok kidding about the monkey part)
.NET framework.
.NET is just these three languages?
Since when did a moneky missing three fingers think that
You can write in everything from VB and C# like you state to C++, Pascal, and about 10 other languages that ride on the
Do you really thing all
Secondly, when is putting EASIER to use programming tools in the hands of people a BAD THING? Sure there are the inexperience mororns that will write crap with it, (we all saw this with the VB and early Delphi days), but it also gives the experienced developers time to do more than write repetitive code that should already be a part of the innate ability of the development platform.
I don't know about you, but I always hated writing crap code that my development environment should know how to do by now, it is the 21st century.
Take Care
Not really sure I agree with the first premise - there are plenty of examples of things that are easy to learn remaining in the minority, while a 'harder' solution wins out.
.NET is bad because it's easy to learn - not that you mentioned Ruby, but I hope you get the point. (Similar point - a lot of people get excited by persistence layers that remove the need to understand SQL). Bit like we'll never get people off Windows if we imply that other platforms are harder to use or develop on. And you'll especially never win an argument with a manager. 'No, we don't want to go with .NET, we should go with something harder to use, that fewer people know, and has no chance that it's salaries might be commoditised'.
Also can't say that, say, Ruby is good because it's easy to learn and
There's also the fact that most businesses really do not care how badly written or architected their applications are UNTIL they start impacting their business (i.e. it doesn't matter if a program is unmaintainable if it never has to be maintained) - I've noticed that lately, speed of development has become a very important criteria, whereas 10 years ago the environment was much more about getting technical issues right - I guess part of this is that hardware speed can now cover up (to an extent) for bad architecture / coding.
'Capitalists of the world, unite! Oh
As has already been pointed out ad nausem, this is written by folks who don't know programming. Case in point, calling .NET a programming language, when it's a suite of programming languages that target a particular platform.
.NET may be in big demand, but not *every* aspect of .NET is in big demand. If you want those mega-bux salaries, you'd better be prepared to do ASP.NET to pretty much the exclusion of everything else. That's what easily 75% of the .NET oriented jobs I've seen posted are asking for; everyone wants web applications.
That said, there's more they're not saying.
Of course, if you prefer rich client rather than web client application development, like me, you're pretty much stuck.
"Times have not become more violent. They have just become more televised."
-Marilyn Manson
And Microsoft's competition is... where exactly?
...Microsoft.
Linux doesn't cut it (yet, anyway -- give it another five or ten years perhaps).
Apple can't quite seem to capture it.
And then there's...
When Microsoft gets some real competition, then I'll start paying attention to messages such as yours. Until then, I'm not exactly worried.
--S (FWIW, I happen to do Linux work professionally. I'm just not a zealot.)
-- sigs cause cancer.
Of course they're in demand.
They're working for peanuts.
Please, kids, stop accepting crappy salaries. You're undermining the entire salary structure for the rest of us. Hold out. Don't take the first offer. Tell some offerers, in plain scat, to go fuck themselves and their crappy pay scale. If you do that to one employer, and the other guy does that to the other employer, you'll end up filling each others' positions and you'll get more money.
And I'll be able to get work at my usual pay rate (you don't want to know) without having to talk to the CEO about why it's wrong for him to let the salary structure erode. It works, but it's galling to him and to me, and it takes up time I could be billing and accomplishing the mission and making them think engineers are all work and no bullshit. And that will make the negotiating process and the salary structure better for you.
I'm not a zealot either. I'm a realist. Microsoft will not always be on top. Locking yourself into a particular vendor's tech is just plain stupid. It's bad for your professional development in the long run, and you're helping the people you work for dig themselves into a hole they'll want to get themselves out of later.
Need a Python, C++, Unix, Linux develop
You're actually wrong. The problem with many business apps is that they are designed so poorly and shortsightedly it may appear that OOP is a poor choice. But good OOP requires good design and a real understanding of what OOP is.
A good design requires understanding your problem domain, being able to generalize so you can write easily extensible software and understanding patterns, etc.
I know what you mean though. I've worked on enough projects making updates that were brutal. This was because the system was designed poorly to begin with. I've also worked on well designed systems that were easy to modify with some changes to a configuration file (hello business logic!) and popping off a few new classes.
But yeah, if you're into hard coding and writing bad software (which most people are believe it or not) then OOP might not be the best choice.
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
...and rampant intake of GE food I think I'll give it a miss thanks.
You do realize that the only reason that there's opposition to GE food is because the US biotech industry spent a lot more on developing GE food than anyone else did, and the European agricultural industry spend a great deal of money smearing GE food (out of concern that US biotech would start siphoning off their agricultural industry)?
Opposing GE is simply being a Luddite, because GE is nothing more than a technology. You're hating technology for technology's sake because some marketer wants you to do so. If you've got a problem with something specific, maybe a policy related to GE or some additive to a food, that's reasonable. But simply flat-out disliking GE is silly.
Any program relying on (nontrivial) preemptive multithreading will be buggy.
"Two tech jobs in high demand these days are .NET (dot net) developers and quality assurance analysts..." "...Those who work in software quality management, meanwhile, might make $65,000 to $75,000 a year and be able to negotiate a 10 percent to 15 percent jump in pay if they switch jobs."
I wonder how much a SQA analyst, in a big city (Los Angeles/L.A.), makes these days.
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
I've been doing technical sifting of CVs for a recruitment agency while I've been recovering from a broken back. One of the positions I've been sifting for is QA team leader for an new development unit of a bit Web retailer. Good QA people are really thin on the ground - most of the people going for this post are not at all well qualified for it, and those who are well qualified and experienced seem to change jobs on average more frequently than once a year.
So if you're a good bug-hunter with team leadership experience, the ability to write a coherent test plan, and familiarity with two or three well known automated test tools and a bug/issue tracker or two, there is gold in them that situations vacant adverts.
Just wish I was systematic enough to be good at bug hunting!
I'm old enough to remember when discussions on Slashdot were well informed.
I just got hired at a big financial institution for an one year internship between the second and third year of my CompSci degree, not because I had good grades, or because I had good recommendations or theoretical knowleadge, but I believe it was primariliy becuase I can develop in .NET (C# and VB.NET) and have experience in using it in real world situations.
.NET now, ignore and ridicule it at your own expense.
Like it or not, a lot of big companies are using
For the umpteenth time, please don't use the term "C/C++" if you want to be taken seriously. C is one language, C++ another. There's a relation between the two, but the developer communities, the cultures, what's condidered good design and good style -- all that is very different between the two languages.
What school teaches all of the languages you listed?
Here at University of Florida, they teach Java, Java, and more Java. They do dap a bit in C, PHP, and C++ in certain courses, but other than that it's mainly Java. I don't care if they do teach more languages, because it's been my experience that A)if you are an excellent problem solver using one language it can be replicated in others, B) those that want to learn more languages, do.
But please do tell me what you University is teaching. I am quite interested.
Is it that much of a lock-in? Working in finance I continuously see systems evolving over time and being "re-engineered". Critically this might be because the systems aren't that great but that's because everything's done to time and priorities change (this is unavoidable and business driven).
Over the next couple of years I'd expect to see more "fad" lock-in than vendor problems. Idiots using web services where there's no need and additional architectural levels for no reason.
Vendor lock-in is, IMHO, a bit moot wrt database often anyway. If you're doing anything non-trivial in Oracle with PL/SQL packages porting functionality elsewhere is not going to be a pleasant experience.
I'm not necessarily disagreeing but whatever works works. For many it's going to be MS.
You see, after 20+ years in IT, you learn a few things. And let's just say, one day, you'll find yourself unemployed, with your skills being "out-of-date" (I don't care what your degrees are or what your skills are), with some snotty nosed kid telling you that you're stupid. Then, you'll remember some older IT worker telling you that this will happen - I never called anyone stupid, but I did look down on the old timers who were out of work - they were mainframers - ("Mainfremers" is an expression that we used to use for someone who worked on mainframe computers. You'll have to look that one up on your own.) Ya see, I thought that they were where they are because they didn't want to learn anything new. Now I know that it's because they thought, due to mgt BS, media BS, or their own collegues BS, that their skills would be viable forever. Technology has a way of changing in a way that you can't anticipate. If anyone could, they'd be so fucking rich, that they'd own the World.
So, sonny, now that I'm board, you need to realize that you arrogance will get you a quick hit in you pathic ego and nothing else.
Get a grip.
mod as you want: .net is a stupid name.
Exactly! But on a side note,
.Net programmers because there is obviously a shortage.
.Net hype. .Net is all it's about, just like a few years ago it was all about Java.
.Net programmers? Because REAL programmers know what they are doing, they are good at what they do. And those are usually snatched by big companies early on, programming in C with vim or emacs of course : p
.Net developers (excluding those who are truely brilliant, but then again, those would be really good C/C++ programmers anyway) are writing the biggest pile of crap. Personally I don't have .Net on my windows partition. I refuse. I've run a few .Net applications however, like the ATi Control Center. Sure, it looks pretty, I suppose. But it's a pile of crap. And there is several other applications, .Net applications, that are big piles of crap. Seriously, where did these people learn to write code?
....
they are desperatly needing
Lots of companies wanna go with the
Now why are there not enough
Now the last thing I wanna say about
I think that is the problem nowadays anyway. You have to know less and less to write an application. Just drag something, drop something and it's pretty much a done deal. So now it's cheaper to develop Software I guess, I mean, we have all these easy tools that make it faster for us to write GUI's n such. Quality has dropped however, so I suppose if you concider support cost
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".
Can I ask a question? For people who believe in Evolution and Darwinism, doesn't Genetically Engineered food fit into natures plan? It just seems like Nature has created a species that can accelerate evolution. It does seem that that might be the only way a CO2 infested hotter planet might be able to sustain 10 billion people anyway.
I always thought the knee jerk hatred of GE foods came from Intellectual property laws.
IE. I plant GE seeds on my farm, they blow onto your farm, now you get sued by the GE company for growing their "patented" crops. Seems like we need IP patent law reform and it seems like things like the Research In Motion patent lawsuit will help the common legislature the need for this reform.
-Nuke the moon
" How does this information compare with the Slashdot crowd's real-world experience?"
Well considering most readers of Slashdot are Linux folks, Im willing to bet they say it isntr so
First, I'm not dismissing anything -- discipline is a good thing for most programming. Second, while all that stuff might be coming, 99.9% of .NET dev is standard B&D C# (and only slighly lighter B&D VBNET).
Whenever I hear the word 'Innovation', I reach for my pistol.
Right now, almost every Fortune 500 company which sends out bills to consumers has one thing in common:
.NET, Java, or whatever other language and platform you could choose would be immense. Which is to say, it's all going absolutely nowhere, even if they have to hire liberal arts people, train them, and set them to the task. Business people don't pay for expensive rework, because they have to demonstrate business value derived from large expenses.
A large IBM mainframe architecture running a plethora of night-batch COBOL apps, mostly written by baby boomers who are looking longingly at retirement RIGHT NOW.
The cost to recreate these applications in
Therefore, competent coders who understand the following terms and can work within the environment they imply will be in huge demand in about 5 years: COBOL, JCL, DB2, VSAM, CICS, CA7.
You wanna work in mission-critical code? Like the idea of 5-9s uptime? Start with z/OS.
While I am inclined to agree that it is rare that you need another tool to do the job. I will never agree that one job has to be done all in one language. If someone cannot follow the documentation and be able to explore outside of that one language, I just can't help but feel for those people. That is not a programmer to me.
.NET is a platform of languages, which I will also concede on. I jumped the gun there because when anyone says .NET around me it has always meant VB.NET and nothing else. So I also read it that way, making an ass out of me. But a language that is picked because the boss knows how use the macro function of Excel and modify the VBA code, then picks VB for the project because that is close to VBA, has made a very uninformed descision. That descision has nothing to do with support work asides from the thought that he could possibly continue the work from where I leave off.
It was mentioned that
I don't want to go off on a rant here, maybe I already have (sorry about that), but there is a reason that other tools exist. Just like a carpenter has many types of hammers, and different types of prybars, a programmer has a multitude of languages and techniques to get the job done. As long as it is documented and well commented, this should never be a problem.
- my $.02? - you can't have it...it's all I have!!
As a sophmore in college, I just went to a career fair for computer science majors. Among all the companies I talked to, only one of them was hiring .NET programmers, and they only wanted one. Everyone else was going for Java & C++. One of the guys didn't even know what .NET was, but it's management; what do you expect?
Then again, this career fair was for students at my university, and our computer science department is based on Java, so that might make a difference.
I personally hope that .NET does get bigger. Even though it was made by M$, C# is simply wondeful.
I'm a signature virus. Please copy me to your signature so I can replicate.
Bodyguard at Google.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
The list of my company's clients and the projects we've done for them. Need I say more?
Actually, the safe career choice is becoming a HVAC (heating, ventilation, and air conditioning) technician. That's what people in Silicon Valley are studying to get out of the offshoring rat race. Every building has an HVAC system, and they all need some attention now and then. The job can't be offshored; you have to go mess with the equipment on site.
Absolutely. It's the fact that the languages in question are nowhere near as expressive and have less powerful underlying models that prevents the use of more advanced techniques.
Languages like Java and the .Net clones were pretty much written the way they were to trade away power in exchange for making it harder to make mistakes. This was a deliberate design strategy, and it's absolutely the right direction to go if you're dealing with average programmers, who have historically made the kind of mistakes that you're guarding against. However, it's the wrong direction if you have programmers smart enough not to make those mistakes in the first place (which usually means realising that they would be stupid enough to make such mistakes sooner or later if they let themselves, and therefore adopting programming tools and practices that prevent that class of error from being a possibility).
Programmers wanting a language like Java and the .Net clones but with a power/safety balance that goes the other way will tend to favour C++. Alternatively, they'll choose a different kind of tool entirely, which might be a LISP dialect, or a "scripting" language, or some funky FP language, or any number of other things. This is just the old "choose the right tool for the job" scenario, nothing more.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Wow, it sounds like you guys in the US get at least half the legally-guaranteed minimum leave here in the UK (leaving aside the fact that most employers over here will pay professional staff on sick days or set up insurance policies to do so for them, and won't count public holidays as part of the leave allowance). And by European standards generally, our employers are fairly stingy; several other Euro nations have more public holidays and/or higher average leave allowances.
What you call "hard work" I call "putting up with being overworked". It's pretty well established that working long hours and getting little leave don't actually increase your real productivity, other than in very short bursts. Averaged over the long term, a typical knowledge worker gets dramatically diminishing returns beyond about 45 hours per week, starts going backwards around the 60 hour mark, and is actually negatively productive by about 80 hours. Similarly, those who work for several months without any signficant period of time off start to lose effectiveness, and ultimately to become counterproductive.
Good management has known this and taken advantage of it for a long time. This is one reason why smaller companies with more enlightened policies kick the average corporate ass when it comes to productivity. (Various other management incompetencies, typically related to poor procedures that get in the way rather than helping, explain much of the rest, but this is one of the biggies.)
The scariest thing is the mindset I see in so many US workers, that the work culture over there is actually normal and not so bad. I'm sure a lot of people there genuinely feel that way, but that doesn't mean they're right.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Not here in the South Florida market. Still C++/Java. Our internal C# project sucks/failing because of speed and complexity. Twice as slow as Java. Three times slower than C/C++. CNN might be wrong here.
Enjoy,
It's just the normal noises in here.
History suggests otherwise. Why is this time different?
Sure, and a couple of years ago there was a universal directive that managed code should be used for everything unless there was a very good reason not to... which was revoked a few months later. To date, pretty much everything that Microsoft really relies on does not depend on .Net for anything essential.
Did you read that here?
So was the last guy. And the one before him.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I've been searching for QA people and .NET programmers. Super hard to find. Let me clarify something for people who might misunderstand the need to have someone who can work in .NET - it doesn't mean that's the best programming environment out there. Clients make choices, if we want to have them as clients, we have to work with what they've got, especially if we can't convince them to use something else.
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).
It's uniformed youngsters like you that keep old Java farts like me in business:) By the time you've code generated an untested, pseudo-designed pile of crap built with layer of layer of bad decisions that you don't have the test coverage to refactor in confidence, I'll get to come along and replace the whole thing with TDD matched to the object domain you could neither devine from scratch (and nobody can) or evolve with a good foundation. I'll get the pleasure of throwing out the M$ trash, putting my Nth CruiseControll/CVS(Subversion)/Eclipse build environment, and demonstrating lower project defects. FP Brooks used to like to say, "Make one version to throw away. You will anyhow". While unit test coverage lets you get away with NOT doing that these days, it's a great old saw to pull out as an excuse to nuke Microsoft garbageware from orbit:)
*** Sigs are a stupid waste of bandwidth.
What a load of self-serving crap.
An interesting perspective: many businesses really don't care that much about vendor lock-in. They care about time-to-market so that they can cream their competition, and they care about the cost of their development staff (hardware and OS licenses are comparatively cheap).
;-) in a very short time compared to Linux (with the exception of simple web stuff, which for some reason always seems to happen faster in (perl|php|python|insert others here).
That's why Microsoft makes so much sense to most businesses. As much as most open source folk don't want to admit it, Microsoft *makes things just work*. You can take an idea from drawing board to working prototype (which will later ship as a production product, no doubt
Linux can be a royal pain in the butt. I'm getting close to the point where I won't recommend it for servers anymore -- not because I don't like it (I prefer the environment, in fact) -- but because it creates a black box that requires an expert to run. Windows, on the other hand, is generally very easy for most businesses to work with (security issues notwithstanding -- but that's a whole different rant).
Vendor lock-in is much less likely to lose me a job or a client than the problematic reputation that will ensue when the customer can't figure out how to do something simple (like, say, change an IP address) on a system that I've installed. And don't kid yourself: these types of simple administrative tasks are made much more difficult under any Unix variant (including the "desktop" variants) than they need to be. Unix does not follow the KISS principle, which is unfortunate.
Add to that the lack of decent development environments for Unix platforms outside of the Java world, and the problem compounds. Give me a good IDE for C++ under Unix (without it being eclipse, which IMHO isn't that great) with intellisense, online context-sensitive API help, etc., and a good class library that actually makes POSIX and X11 programming painless, and a standard UI accross all variations of Unix, and... you get the idea. Unix has issues that need to be resolved before it will be acceptable for many things.
Windows is easy. My customers like it. I give my customers what they like, whether W2 or 1099.
Just to repeat myself so that we're absolutely clear, my most recent recommendation was for a large (200+-node) Linux cluster -- so I'm not all that biased for Microsoft here.
--S
-- sigs cause cancer.
I have a distant relative who occasionally does support for a company that has an old FreeBSD server. He was excited to learn that I'd be able to fix it, because he's only used Windows. It was misconfigured, causing it to break many years later when their dhcp server gave it a new IP address. If if BSD died, BSD servers will be around for many more years.
.NET is that they require runtimes which are not installed by default on Windows or most other operating systems, and both runtimes have strict redistribution restrictions, so they're not the platforms of choice for developers who like to write standalone applications that can be installed by ordinary consumers, but they're fine for business software. Microsoft is smothering its baby here. Additionally, .NET has nothing to offer for those wanting to write cross platform software, while Java does. Vista might fix the distribution part of the problem, but Microsoft has no desire to assist cross platform open source implementations of .NET, and threatens them with several of their .NET related patents.
The big problem with Java and
Application developers want the ease of VB, the speed and power of C++, the cross platformness of Java, and the ability to produce standalone executables, free of large dependencies that that aren't preinstalled on most systems. I'n not much of a pascal programmer anymore, but Delphi/Kylix would rule the world (of rapid standalone consumer application development) if it wasn't so expensive and proprietary, and if Kylix wasn't abandoned. Maybe there's still a chance if the Lazarus project matures to production-ready.
The whole dead end technology thing is a bit of a non-argument though. There's nothing wrong with learning a new language or platform every five years, and nothing preventing the maintenance of legacy systems written with older technologies. There are a lot of complex, expensive ERP systems that still use COBOL, and are still finding new users.
Your statement that Java and C# does "not scale well with the intelligence of their programmers" betrays an unsophisticated understanding of programming as an activity. Let's take three programmers, Dumb, Smart, and Brilliant.
Dumb has been told by his boss to write a little web page, nothing too sophisticated. He's using C# and Visual Studio, and because the tools are top notch he manages to create something useful without tripping all over himself. That's fine. Everybody's happy.
Smart is pretty bright, and has been told by his boss to create a website including sub-pages, middleware, and database, using Java and an open-source database. He manages to build out a nice framework and set up a class library for his office that all the other programmers can use. This too is fine, and everybody's happy.
Brilliant has been asked by his boss to implement an entire enterprise-level system for tracking the company's activities. He has a team of programmers under him and they all have to be able to collaborate on the code. He's using Java and Oracle tools, plus some source code management, some static analysis tools, memory analysis tools, etc. He builds a huge, new system that thousands of people use every day. And this is fine as well. Everybody's happy.
The more intelligent a developer is, the more power he'll get out of the language he uses and the larger the system he'll be able to build. Java and C# are able to grow as large and as complex as the programmer can handle. I consider this "scaling well with intelligence". The fact that they allow even POOR programmers to be useful is testament to their general solid design, NOT a sign of weakness.
Don't be a scripting language fanboy. It makes you look like what the English call "a prat".
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.
I agree, but as someone who's been working as a .Net programmer in my daytime job for the last 5 months, I'm not convinced that a good understanding of computer science is beneficial to getting a job, unless you're lucky enough to find someone who understands what they're hiring for.
During my last two job searches, most recruitment agents struck me as being ignorant when it came to understanding what they were hiring for. If an employer had asked them to find a driver for their bright blue truck and the recruitment agents were acting with the same level of skill and understanding, they would have put forward all the people they could find with blue bicycles. Any people looking for work who only had experience driving trucks that weren't blue would have been turned away as not worth putting forward as an applicant.
After these experiences, I don't find it very surprising that certain recruitment companies are reporting to CNN that they're having trouble finding .Net programmers. As far as I'm concerned, a recruitment agency that claims this probably isn't very good at looking for good .Net programmers. In the end, I got my job through a friend. I was put through a 2 day crash course about .Net API's, it's going nicely, and I feel fortunate that the seem to be considering me as quite valuable to have around.
Sorry, but how is recognising that different languages are aimed at different target audiences and make different trade-offs as a result "self-serving"? Is it not in everyone's interests to know the strengths and weaknesses of each tool they have available, so they can choose the most suitable for any given job?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Eclipse rocks. I use it for all my PHP, Ruby, Perl, and Java work.
"It ain't a war against drugs.it's a war against personal freedom" --Bill Hicks
It is self serving pablum served up by people who love scripting languages, designed to pretend that users of scripting languages are somehow smarter or more gifted than those who use non-scripting languages. This is hogwash, of course. In fact, I suspect that in many cases, the people who self-select for scripting languages do so because scripting languages are easier, and these people are secretly intimidated by a language like Java. It's fine with me; it reduces the competition for us Java guys.
Besides, your argument is bogus: they're not interested in discussing relative strengths and weaknesses to decide which tool to use. They have already decided to use Python (usually) and are now justifying their decision and evangelizing.
Call it what it is. self-serving tripe.
Not even close sparky..... The bits were avaliable to MS Partners as early as lat 1999, .net 2.0 exclusivley for 1 1/2 years now, it was only avaiable as Releasse to Market (RTM) in November.
.Net years before release, and 64 Bit windows 5 years ago. .Net 1.1 64 Bit, (in feb 2001).....Get a clue....
Ive been coding
Hell I was working on 64 Bit Itaniums with
Just cause they dont trust you to play with their stuff before release.
Heres and example. This is a Itanium with 64 Bit Windows Server , and
Actually, it was my personal opinion. While I'm an experienced programmer, the only scripting language I use often is Perl, and since I currently write C++ for a living I'm hardly a scripting language evangelist. I do, however, program a fairly wide range of different languages, and I recognise that they are aimed at different jobs and/or different types of programmer. I also have an interest in programming language design, and I recognise that the underlying models in Java are (deliberately) comparatively weak.
Methinks someone's a little too sensitive on this subject...
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I have 3 years experience on VB.NET & ASP.NET and 4 prior years experience in VB5/6 and classic ASP. I make $75K/yea + 5% (of my gross) 401(k) matching + a sizable bonus every year (last year it was $5K). My resume is listed on Monster, Dice, and Career builder. Though I list Linux and FreeBSD experience, I've yet to get a call for a Linux or FreeBSD job. I get at least 2 calls weekly from headhunters for .NET jobs.
/. loves to hate Microsoft, you can't argue that having experience in Microsoft technologies (again, regardless of how you feel about those technologies) makes you more marketable.
Regardless of how much everyone at
Could I get a PHP+MySQL job or an SQP job? Certainly. Are those technologies so popular that headhunters salivate when they see my resume? Not a chance.
Prevent linux based DDOS's!
http://linux.denialofservice.org/
It's not that I'm sensitive, I'm disagreeing with a point of view I've heard a number of times here on Slashdot and in various blogs. The protagonist is always a scripting language fanboy who is attacking Java, C#, or some other language.
It's all very ridiculous and I find it tiresome.
Actually i don't know guys, i used elipse a couple of times to teaching my labs, and it wasn't very good. Yes, vs is a lot of drag and drop, yes it has a lot of stupid features that beginners doesn't need, but man it is useful when you need it. I think this relates to the gimp vs. photoshop argument, the accessibility is a problem for elipse
Apparently you are mistaken.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
How would you know whether I was mistaken unless you had read the other comments I was describing? I'm discussing a general conversational trend of which you are merely a tiny part. Please don't leap to conclusions with QUITE that much relish, it ruins a perfectly good argument.
You called me a scripting language fanboy also; given the list of languages in my post that you were responding to, it's quite clear that you have a very slippery at best grasp on what a "scripting language" is.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
No... I *am* the guy who knows about .NET live and in person. I don't just idly speculate on Slashdot; I do this stuff for a living. Fact: .NET was stillborn. It offers absolutely nothing that isn't available from other technologies at a lower price and with less lock-in. So yes, do not question my authoritaaaaa.
OK chief ;-) Your first post: .NET, and he's not a fan of it. I don't intend to waste my time learning it, because it's dead-end technology for a dying platform.
.NET live and in person. I don't just idly speculate on Slashdot; I do this stuff for a living.
.NET......I don't just idly speculate on Slashdot".
;-)
Only one guy in the shop knows anything about
Your next post:
No... I *am* the guy who knows about
So you begin by refering to yourself I guess in the 3rd person since "he's not a fan of it" is actually refering to yourself. Hey whatever floats your boat, haven't lost all creditbility yet. However, then you go into this little beauty: "I don't intend to waste my time learning it...... I *am* the guy who knows about
OK, so you refuse to learn it but you already know it ummm, ya know that thing I said about creditiblity a bit ago.... forget it. Its gone
"reality has a well-known liberal bias" - Steven Colbert
Scripting language: Perl, Python, Ruby. How am I doin', perfessor?
A few have some idea of client needs, and actually spend time talking to them about it. Most just get an email of requirements, put it out and keyword match.
I've had agencies tell me that I couldn't be put forward for a contract because I had a skill with currentversion-1, where the differences between currentversion and currentversion-1 were almost indistinguishable AND that you know the company are unlikely to be using any features that were added since currentversion-3.
Programming is getting easier as machines get faster, and not only that, it means that the tools will get closer to the business.
A friend of mine said to me some years ago that he was thinking of learning C++ and I advised him not to bother, because C++ would be the preserve of driver and OS developers. I know that someone's going to say "We build our core apps in C++" but there really isn't much out there. People want higher level stuff like .net, java and PHP.
The thing is, this abstraction will continue to rise. Ruby on Rails give some insight into where this will go. I think that web tools will become more data-centric and less hand-coded. Understanding the business needs, and managing the soft stuff well is getting more important.
I write business applications for clients, and I want to build things as cheaply, quickly and reliably as I can (and be cheaply maintainable). If someone gives me this, then I'll take it.
A lot of people bad mouth MS Access as a "toy", but for small data-centric system development, there's not much better. Is it a great performer? Can it make coffee and dance the jitterbug? Does it scale? The answer to all of these is no, but then the requirements didn't need any of these. We needed something that could be built fast, on a small budget and would be disposed of within 18 months. I could express all the business logic I needed to with it.
I spoke to the C++ guys one day about learning it, and they lent me a book. I got to the part about pointers and put the book down.
When building business applications, you want to be as close to expressing logic as possible, with nothing else getting in the way. You want the minimum amount of code you can do to express this logic, as anything that you write needs to be tested, raising costs.