tags:

views:

2029

answers:

14

I have heard people say that the large fall in people graduating with CS based degrees will soon cause developer salaries to rise due to the effects of a smaller supply but ever increasing demand.

Do people really think that this is true?

To my mind there are a couple of reasons this won't happen:

  1. Outsourcing
  2. With 'DIY' style languages like PHP and the attitudes of many of the communities behind these languages becoming ever more popular (e.g. the learn yourself, don't need to go to university way of thinking) not many employers will care if developers have degrees in CS or not.
+6  A: 

I don't know, and I doubt that anyone else knows, either. The answer will be a great deal like the weather: it'll depend on your local micro-climate.

Outsourcing is a fact of life; so are libraries and frameworks that move developers higher in the stack; so are languages like PHP and Ruby.

But I don't think every company is successful with outsourcing. Integration and customization will continue to be necessary. The penetration of dynamic languages doesn't approach that of mainstream languages yet, and their adoption rate is different for large and small companies.

duffymo
+18  A: 

Techincally, there is the law of supply and demand. Less people (the supply) will make the competition for satisfying the demand greater and driving up salaries. Self taught people will always be out there, and there will be many jobs that don't really need a real understanding of Computer Science to do. This doesn't mean that companies won't look for those people though. It's knowing the intricate details of somehting that will help you out of a jam, and paying someone a little extra is often worth it. Smart companies realize this, so I don't think that a CS degree will be less valuable anytime soon.

I'm not trying to pit Hackers against CS majors. Here is what I am trying to say. There are things that most CS people are forced to learn that self taught people are not. Does this mean that the self taught people won't know it, no. There are "hackers" if some people call them that will take the extra time to learn things that a formal cs degree program teaches. (For the record I don't have a cs degree and I work to learn what I missed by not taking those classes in college, so I am not trying to belittle the self taught people, I am just saying there is a lot of stuff that people in this group don't bother to learn, because they most likely can avoid ever needing to know it). People with CS degrees from good colleges had to learn Discrete math, and data structures and Big-O notation. Self taught people did not and most don't know it. Sometimes you absolutely need people who can write complex code which requires an understanding Math, Automata etc. and those are the jobs that pay more.
Now you can try and factor out people who do and do not know this information in an interview, but chances are a cs major is going to know these things over a non-cs major and will get the higher paying job. There education of the fundamentals is in some cases a lot more complete. This isn't to say this is always true, there are those cs majors who graduate and immediately think the most complex data structure they ever need to know is an array.

As far as outsourcing goes. It's cyclical. Companies will outsource, realize that it doesn't work for them, and hire all the people back. Several years will go by and some exec will suddenly get the idea, "Hey, we can save money if we hire as cheaply as possible overseas,"......and the process starts again.

Kevin
In my experience, it's the people with the CS degrees who have no idea how things work and the ones who are self taught that actually know what they're doing the best.
rmeador
@meador: That's only because it seems like the majority of people with CS degrees wrote their <i>first</i> program in college. Give them a couple years to catch up with the people who are self taught and all the differences go away.
daharon
ehh.. it doesn't have to be either or. There are lots of different types of people :)
Arthur Thomas
I think you're really pitching two ideologies against each other when you should be looking to combine them: The "hacker" mentality that will stop at nothing to understand everything in their chosen domain; The computer science graduate who had the ability and discipline to learn the material and to stick out the course and earn the certificate. You only really get what you're after if you blend the two, not pit the two against each other.
BenAlabaster
"Less people will make more of a demand"...thats not how supply and demand works
Greg Dean
You are right I mistyped what I was trying to convey.
Kevin
Less people _will_ increase demand. The supply curve will shift (to the left) and the equilibrium point will be higher on the demand curve. It doesn't, however, imply that salaries will rise - it just commonly happens that way.
SnOrfus
+3  A: 

Doubtful.

Right now there's a ton of coders who used to work for the banks and financials, and a bunch of contractors suddenly being forced into 9-5's boosting supply.

By the time that effect has run it's course I think we'll be seeing more and more talented coders coming out of brazil, eastern europe, india, etc who'll be boosting supply again.

The good news is that demand should be going up all this time, but slowly or erratically (economic crisis tend to create a lot of small start-ups) in the whole credit crunch thing.

I'm not exactly Mr.Economics though, just my $.02

annakata
A: 

Salaries for the average developer are always going to be up and down according to the new hotness around (.com bubble, web 2.0, etc). But competent developers shouldn't be concerned about this.

If you're good, it is most likely that you will find a decent paid job regardless of the economic downturn, outsourcing or academic grades.

pablasso
+1  A: 

I highly doubt that will ever be the outcome.

Number of CS degree holding professionals (with a citizenship) might be decreasing in big technology exporters like US but on the other hand, developing nations are turning into "-insert anything here- engineer" factories.

This situation directly creates the consequence of immigrant work force or dramatic shift to outsourcing. History always showed decreasing remuneration for the highly outsourced or immigrant workforce led jobs.

The "reason #2" you cite is a one-way ticket to the island of expensive to maintain and impossible to scale code. Computer Science education is not meant to teach practical industrial skills. That's why it's called science. A CS graduate is expected to exercise scientific approaches in the software development life cycle. On the contrary to common belief, software development is becoming much more complex every year. Compared to early 80s, the number of functional and non-functional requirements even in trivial software projects are now dramatically higher. Ad-hoc and non-scientific development habits are just causing more expenses rather than resolving the problem. In tandem, the requirement of professionals educated in relevant scientific discipline increases.

Today, a modern CS education is far more complex and expensive than it was back in early 90s. Average student quality, required effort to achieve the degree and persistence is ever increasing. On the other hand, industry salary median is decreasing... That's the very reason of the obvious decline of CS graduates in developed nations. The native conformist culture of developed nations and the resulting mindset of younglings just can't justify the time, expense and effort to achieve a CS degree.

As a result, I believe the salary median of CS degree professionals will remain unchanged but the parameters of the result will never stop changing... Outsourcing and immigrant workers will be decreasing unit cost of required education/experience but the ever increasing education and experience requirement will keep the result in balance.

National politics to keep this area of workforce national (pun intended) is just another topic.

Berk D. Demir
The median salary WILL change. The actual number on your pay-stub may not change, but it's value will. In this regard people in the IT industry are no different than everyone else.
daharon
+15  A: 

Salaries of the average developers will stay roughly the same or even go down. Increasing demand will be compensated by outsourcing in this global economy and the crisis.

However, if you are aiming to be better than the average, then this law does no apply. Demand, salary and the benefits will be proportional to the amount of effort and time invested in self-improvement.

Rinat Abdullin
Damned straight.
Terry Donaghe
Liked your answer but it didn't need the bold. I am perfectly capable of reading and figuring out what parts of the answer should have emphasis. Maybe throw an italics in
Simucal
I agree, when I learn new framework i get a raise.
01
I agree that if you're very good you make your own market but without explaining why you think wages will go down I don't think it's possible to comment on what you've said.
Jon
To a point I agree, and I have +1'd you. BUT there is still a celling to this and the only way to surpass it is to build your own business entity. In which case its less about self improvement and more delegation and about building the right environment.
Owen
A: 

I don't think the rise of PHP and other "introductory" languages lower the value of good developers. If anything it raises them because companies are aware of how much damage an untrained freelancer can do, not only placing a premium on reliable software but also placing a premium on developers who are able to clean up the messes that novices make.

Nick
You greatly overestimate the awareness companies have of the potential damage...
rmeador
they'll know when it breaks and no one can figure out how to fix it!
Nick
But cheaper devs still drag the average cost of developers down, even if some companies see why it's a bad idea to higher them. Since the average salary is used as a yard stick, the salaries of the top people will therefore also be dragged down.
+2  A: 

With 'DIY' style languages like PHP and the attitudes of many of the communities behind these languages becoming ever more popular (e.g. the learn yourself, don't need to go to university way of thinking) not many employers will care if developers have degrees in CS or not.

I never met anyone who had been taught a language (e.g. C++) by a university to a degree where they could actually do anything useful in it. Same as I never met anyone who learned a language solely at university. The decent developers go program, for fun, and learn what it's all about - same as the linguists go live in the relevant country for a while and learn how people actually speak.

Airsource Ltd
What you say is true. I did mainly Java at uni but program PHP for a living. My point was not to say bad things about self taught programmers, but to give a reason as to why I don't believe that a shortage of CS grads will lead to decreased programmer suply.
A: 

I don't see outsourcing as a growing issue. I think it's reached a plateau already; some kinds of software development efforts work well with outsourcing and some don't.

It seems to me that successful outsourcing will always require in-house manpower in the form of engineering and/or project management staff that oversee the outsourced work.

For many projects, particularly small projects and those requiring a great deal of communication between programmers and management, outsourcing just doesn't save money.

John Booty
A: 

I do believe that if you take a group of developers and tracked their salaries over a number of years that they would generally rise as they get experience that makes them more valuable each year in some cases giving them a lock-in advantage possibly if the technology gets replaced by something new and the old technology falls into the pit of being what legacy systems use, such as ASP.Net 1.0 or 1.1 which I don't think is taught or supported within the latest Visual Studio. If you take the entire developer population over time though I think it doesn't move much as the older folks retire and thus their salaries are removed from the set as well as new folks coming in to the field that keep the average salary low, while those developers getting experience are what push things up to offset those losses.

Offshoring, which is slightly different than outsourcing, is I think what you meant for your first point. Outsourcing simply means that another company is performing various functions for an organization. Offshoring is where jobs are going overseas as there is cheap labour to do the work, though this hasn't always worked out well. Outsourcing will continue to happen but this simply leads to IT consulting firms getting richer as they become this mission-critical arm of multiple companies since instead of working for just one company, these consultants may work for multiple clients concurrently.

The self-taught programmers may be able to jump in when a company is just starting an IT department, but if there is a strict methodology in place this may be taught at some schools and required by HR departments that may block those "DIY" developers, who may have excellent skills or poor skills just like many CS graduates really. In that methodology is project management, requirements gathering, design and analysis, testing, support and maintenance which will require specialized knowledge that not many people will know, e.g. how many people each year get certified in SAP, Oracle or Microsoft technologies and how many companies want people that already have those credentials rather than pay for the training which may cost quite a bit of coin.

I do wonder at times what percent of people will tinker or play around with a computer compared to those that just do what they know and nothing else, e.g. how many people understand any of the options within the "Administrative Tools" menu in Windows compared to those that type away at making Word documents, Excel spreadsheets, Outlook e-mail and Internet Explorer at their desk because this is the software they know and other things may be scary, like the teacher not believing in free software.

JB King
+11  A: 

Developer salaries are going to stay the same or fall.

The law of supply and demand only hold in a rational, economics-101 universe.

The market for developers is a Market For Lemons.

here are my reasons for thinking this:

  1. non-developers can't recognize bad developers.

  2. bad work only shows up 2-3 years later.

So the seller ( developer) has asymmetrical information ( they know if they suck). Actually: it doesn't matter if they _dont" know they suck, unconscious incompetence is fine to make a lemon market IF the buyer can't tell till later.

So expect more, even more hopeless outsourcing.

Sorry to have such a down-beat assessment but the economic theory seems applicable.

Tim Williscroft
I've independently made your 1 and 2 points many times, as well as it's corrolary:3) Good good is not valued
Velika
Your point 3 is a direct consequence of the market for lemons.Summary for those who won't read the wikipedia definition (errors mine, sic.)1. In the used car market the seller knows more than the buyer (asymmetric information)2. Buyers buy secondhand cars that are lemons. (They can't tell)3. The buyers end up assuming all secondhand cars are lemons and refuse to pay "fair prices" for good cars. This is my headline.4. Good secondhand cars get sold in different markets. friends of friends, through car clubs etc. where the information is more symmetric or there is a trust relationship.
Tim Williscroft
A: 

If there was a fall in graduating Computer Science degrees, it wouldn't be felt for 3 to 5 years. Until then most of those developers will be junior to mid-level developers. Just because you have a fall in the number of graduating CS degrees doesn't mean than the Software Engineering field will see the same trend.

People with CS degrees go many directions. The supply in the Software field is dependent on how much demand the various different avenues are commanding. Then there are those who pick up software engineering on their spare time. Some come from different disciplines. You want to make more money? Become good at something, be very good at something. The other quality you need to speed.

Be fast, be good and produce high quality code will get you the big bucks.

Chuck Conway
A: 

CS enrollment is actually up 6.2%. But a long-term shortage of IT skills in Western countries should not mean lower salaries any time soon (the economy notwithstanding).

Bijou
+1  A: 

I think the answer to this question is very subjective. One of the best programmers I know does not have a degree at all. Some other guys I work with have degrees in other areas. That said, if you want to make more money than average, I think it really depends on the opportunities presented to you, not necessarily how good you are as a developer. I have a corporate job and I see people getting promotions that don't necessarily deserve them, while others are kept on their current position because they are good programmers and managers don't want to see them doing anything else.

AlexFreitas