Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How Long Will Programmers Be So Well-Paid? (techcrunch.com)
109 points by vignesh_vs_in on Oct 27, 2012 | hide | past | favorite | 162 comments


This really should be 'How long will 'some' Programmers Be So Well-Paid'?

C'mon lets be frank not all programmers are well paid, You really have to be working at Google or other big place or make it big in the start up area. None, of that is any different than any other profession I know of. In fact even the author seems to be talking of 'Google and Facebook' employees, the number of people working at Google and Facebook are small enough to consider them a clear exception.

What you really must be talking about is of a time around a decade and a half back when programmers seem to be paid well. And even they were paid well not because they were programming, its just that the IT sector grew so rapidly there was a immense demand in the middle level management areas that caused a impression of rapid career progress in the software industry. That is what made people to 'come in the game for the money'.

The only distinction that I see programming has compared to other professions is programmers tend to think of themselves as people 'who solve problems' and not just people who write code. No other profession, I know of carries that tag line.


Precisely.

The article quotes the average starting salary at google to be $125,000. After converting that into GBP (for the UK where I live) you get to 77,613.

Whenever I look around at local programming jobs, a salary of 77K would be attainable mainly only by people who were project leaders/architects for large corporate systems.

Most entry level jobs are .Net, PHP or Java programming and will net you a salary of 18-25K. A programmer with 4-10 years experience can maybe expect to get paid 30-35K.

Basically a similar payscale to a plant fitter , electrician or teacher and quite a way off what you would expect for a doctor or lawyer.


I've noticed weird cultural differences between the UK and US in terms of how programmers are perceived by businesses.

I interviewed with a major UK software consulting business that was trying to open their first US office, and it was immediately apparent that their expectations were way off from the local conditions.

The interview included a programming test, which I was "not expected to finish, we just want to see how far you can get". I finished in half the allotted time, and they didn't seem to know what to do with me. Then they offered half the salary that I was concurrently being offered by another company in the same location, and they weren't willing to negotiate upward when I pointed out that fact.

They clearly weren't interested in hiring someone who could be trusted with serious responsibility. They wanted that mythical creature: the programmer who can operate like an assembly line worker, cranking specs into code in a repeatable and easily replaceable way.

I've seen the insides of many US software companies, and I've never seen one that seemed to take such a dim view of their programmers. You might see that attitude in non-software companies that begrudgingly spend some money on internal programmers, but not in the companies that make their money directly with software.


There are more progressive software companies in the UK with better culture, although they seem to be mainly doing that by cargo-culting what google and other SV companies are doing.

Salaries paid aren't that much better in these companies though. Expectations of programmer aptitude are all over the map also, companies do like administering those "programming tests" which can vary from very tricky math problems to stuff like "What is the keyword for inheritance in Java?". Thing is that salaries in both types of jobs tend to be similar.

Another problem with these tests is that they are often administered by recruiters who don't even bother to bring them upto date, a friend had a test for a C# programming position which asked him mostly questions about VB6.

It's quite a shame because the government likes to talk about how they want tech innovation to happen in the UK as it does with the US. However most of the top programmers seem to either end up going abroad or getting assimilated into finance or into various gigantic consulting corps.


I can attest to the going abroad thing, I made the move and have been astonished by the jump in salary and autonomy in the US over the UK.

What makes it weirder is I didn't change company only location


125k/year is pretty standard for a senior programmer who doesn't lead teams, etc. in SF/NYC where I frequent. Bump that up an extra 20k if they are willing to program something undesirable like ads or they have finance experience as well. Other locations will pay less, of course, because they aren't where all the hot tech companies are and they don't have the same cost of living. If you network a lot it is pretty easy to pull in 10k/month contracting, though.


10k/month contracting isn't that much if you aren't taking into account taxes, insurance, being on the beach, etc...you'd have to pull in around 20k/month to match a 120k salary.


This is an exaggeration, at least for the US. Yes, it's true that taxes will take a big chunk out of your $10k / month, but they'll take a pretty big chunk out of your $120k / yr salary, too. The only real tax "savings" you get by being employed is that your employer pays the other half of your Social security and medicare taxes (12.4% total for 2012), which means that you'll have to pay an "extra" 6.2% if you're self-employed. And most of that is SS, which caps at $106k or something. Couple this with the fact that self-employed folks have a variety of deductions that employees usually don't get (home office, special retirement options, lots of business expenses), and it starts to look a little more even.

It's true that you don't get paid time off, but I can tell you from experience that a decent and determined freelance programmer can easily make $10k / month and leave plenty of time for relaxation.

The biggest thing most self-employed folks have to deal with that they wouldn't normally is health insurance, but if you're young and healthy, decent insurance is a few hundred bucks a month, at most. And you can deduct the premiums. If you're not young and/or not healthy...that's another story.

Bottom line, if you want to match a $120k / yr job as a freelancer, you need to make something like $12k - $14k / month.

Source: personal experience and a fascination with legal tax avoidance strategies.


Geography definitely matters. My numbers were based on non-London UK for example. If you were looking at jobs in London you could probably add 5-10K to each of the figures I quoted.

I assume that those 125k/year jobs are for either large companies or profitable/highly financed startups?

I'm guessing that there are lots of startup programmers out there on very low salaries who are working mainly for equity which is a much harder thing to value.


I just checked jobserve for C# and Java in Birmingham, Bristol, Leeds, Nottingham and Manchester.

All have plenty of jobs going up to £45k-£50k, and that's what they're offering before you even walk in the room and they find out they like you.

£35k seemed to be the ceiling about 2 years ago, I think demand is really starting to push it up.


One difference between programmers and doctors is that there is an artificially imposed scarcity of doctors. Nobody can be licensed to practice medicine (at least in the U.S.) without completing medical school and a residency, and the number of openings is controlled by the medical schools. In contrast, you can become a very good programmer without having any formal education in the field (I know a few such people). This allows the supply of programmers to increase more quickly than the supply of doctors.


I dont think we can compare salaries in Silicon Valley and UK like that. In the end its about how much you have after you pay all your basic expenses and I think the person with GBP 77K has much more left than the person with $125K in California.

Edit: Apparently living in the UK aint too cheap either. Did not know that!


Not sure what tax rates are like in San Francisco however if you that kind of money in the UK you are going to be paying 40% income tax on a pretty large chunk of it. So after income tax you are left with maybe 50K.

We also have council tax which in some places will make your eyes pop out. Not to mention VAT which is going to be 20% of pretty much everything you buy. On top of that house prices can be very high here for a family sized home even in a modest area so you're going to be paying a lot for your mortgage.

Plus we have a huge amount of tax on stuff like fuel and anything to do with cars, not to mention that food prices are generally higher here than in the USA.

OTOH medical insurance isn't really an issue as well as other things like more help available from govt to cover higher education.


Exactly that

I'm thinking the 125k in California may be a better deal, except the cost of living may be higher there (not much public transport, housing is expensive as well, etc)

But the UK income taxes are huge. Ireland taxes are similar. Continental Europe has smaller taxes (but then salaries may be smaller, so 'take home money' can be similar)


Not sure about this. In my experience accommodation in the UK is more than in the US (possibly not in the big cities or SV, though it was true of SF last time I visited), gas and electricity are a lot more expensive, and food is about the same price.

  Average annual salary of software developer in US: $93,000
  Average annual salary of software developer in UK: £35,000 = $56,000 approx

  Average house price in the US: $181,500  
  Average house price in the UK: £234,000 = $376,014
Ever feel like you're in the wrong country?

(the 93k figure from this recently front-paged article: <http://news.ycombinator.com/item?id=4696113>; all other figures from a randomly-selected page from the first few Google results, but the UK figures seem reasonable to me - I'm in the south of England but outside London, and houses here are all above 250k but most programming jobs I see offer 30-35k. Of course using nationwide averages isn't necessarily an accurate picture as the places with most tech jobs available are probably not the ones with most houses on the market)


To be fair, "average" is a weird measurement for comparing the US to the UK. The average density of development in the UK is far higher than in the US,a nd housing prices are higher accordingly.


Average SF single bedroom apartment is more than 2k per month. You'd be hard pressed to find a decent 2 bedroom house for less than a million.


I think you underestimated the cost of major cities in UK.


Living in London was already not cheap before the US civil war. Part of the US advantage during the 20th century was that the cost of living and labour was less than most of the rest of the industrialized world.


Don't you mean the other way around???? I mean, the UK aint a cheap place to live!


Apparently living in the UK aint too cheap either. Did not know that!

The house-price plague is a worldwide problem and it's still in force. The "crash" was not as much of one as the world needed; brownstones in Manhattan are still over a million.


The article quotes the average starting salary at google to be $125,000. After converting that into GBP (for the UK where I live) you get to 77,613.

Europeans quote salaries (usually monthly) after taxes, and Americans use pre-tax numbers. They also pay a higher tax rate (and get more, like real health coverage). So when you hear a European say that he makes 4000 Euros per month, that's an after-tax number and it's actually comparable to about $80,000 pre-tax salary in the US.


No that will be gross values, the statement about ~77K being on the high end for the UK is right.

Easy experiment I went to jobserve.com a well known UK programmer job site and did a search for the word "programmer"

its breakdown of offered gross salaries is this

  Not stated on job 39
  Below £15K  1
  £15K-£20K  28
  £20K-£25K  79
  £25K-£30K  173
  £30K-£40K  286
  £40K-£50K  247
  £50K-£75K  166
  £75K-£100K 27
  Above £100K  11
Suggests a bell curve to me with the median being £35000


UK salaries are always stated gross.

BTW while I am correcting people, I will also point out that the UK is very rarely described as "European", though nobody would (or can) deny that it's part of Europe, geographically speaking.


That is not the case in the UK.


Not the case in Germany.


Well, the most successful people in any profession are "the people who solve problems". That isn't something inherently unique to programmers.


The special thing about "solving problems" is you usually create many more problems in the process. That's the definition of a startup: a company, when solving one problem, creates five new problems in the process due to imperfect foresight because everything hasn't been done before. Hence, hiring, growth, jobs, expansion, ....

Startups could be called "things that didn't exist before that are creating more problems to solve than existed before."


They solve problems in their professions. But we programmers poke our nose in everything we see around.


I just googled "highest paying college majors list," and computer science (and computer engineering) are consistently on the list. On the whole, I think programmers are paid well.

http://www.payscale.com/college-salary-report-2013/majors-th...


When people say programmers are loan paid on average, they are including a large fraction of the population that do not have CS/engineering degrees from US colleges.


All of my data science FTE jobs have paid at least that much ($115k+) in salary alone, and I have just 5 years of CS experience and I'm a college dropout. I do not live in California.

Developers/programmers are vastly overpaid. Including myself.


You're not overpaid. Decent programmers, properly set up and put to work on useful projects, can easily add 4-10 times the average programmer salary in business value.

Look at house prices in the Bay Area or New York: $500,000 for starter houses, and $1 million is not uncommon. Read: someone is making a shit-ton of money, and it's not us.

Executives are overpaid. Our numbers are merely creeping up to our real value, and still 25 to 50 cents on the dollar. We're just less underpaid than most of the poor saps out there.


It's not a mutually exclusive situation. Executives and developers are both overpaid. Now, one may be more overpaid than the other...


"C'mon lets be frank not all programmers are well paid, You really have to be working at Google or other big place or make it big in the start up area"

I don't think this is true. I live in Los Angeles and every place I've worked has paid something close to google/facebook dollars, and all the programmers I know have had a similar experience.


LA is still in California, one of the world's biggest economies. Rural Tennessee, North Dakota or Alabama locations with 'on site' jobs might not pay close to Goog/FB money.


Here is what the op said, "You really have to be working at Google or other big place or make it big in the start up area"

I refuted that, then you are now making a different point than the OP. My advice, don't live in those places. I say this as someone who was born and raised in Virginia.


engineers solve problems too


I think the premise that professional salaries are determined entirely or even primarily by supply and demand is weak. When you can't measure a workers quality easily, all sorts of other issues influence salary.

I think the more interesting question is: how much higher can programmer salaries go if they play their cards right? Programmers seem to have positioned themselves as a step above IT. But there is money in perception and the perception you want is to be just a notch below the "real men" (execs). This is particularly true in places that aren't software houses, but have programmers internally. What's important is not just supply and demand, but the perception that quality matters, as well as having easily digestible signals of quality.

Compare programming to accounting. I don't think the intellectual horsepower necessary for the two jobs is that different. But accountants at big companies make more money, and external accountants at accounting firms make even more. Why? The demand is obviously there--everyone needs accountants. Supply is limited--accounting takes some mental horsepower. The same things are true for programming. Do what's different? The difference is that there is a perception that quality matters, and there are proxies for quality (association with a big firm, education, CPA) that are easily digestible by C-suite execs. Companies don't cheap out on their accountants or their lawyers because there is a perception that executives will be held accountable if the company suffers problems related to that choice. But companies aren't afraid to cheap out on programmers. If a project fails or is late, there is a perception that that's just how software goes, no decision they could have made could have changed the outcome.

I think programmer salaries are going to continue to go up. First, Google and Amazon, etc, are creating a perception that quality matters. They aren't hiring the cheapest people they can get. Second, the next generation of F500 execs will have grown up with their friends taking a gig at Facebook instead of going to Barclays or McKinsey. That's extremely important for the profession. Programmers want the industry to be seen as being in competition with banks, consultancies, etc, for "talent." Third, I don't think supply is going to expand, and I feel like industry groups may move to create certifications (rigorous ones like CPA or Series 7) to create indicia of quality.


Accountants are highly paid b/c they save companies money. If I charge $300/hr, but I save you ~$100k in taxes, it's a no brainer that actually makes you money. The same direct profitability cannot be said about programmers. At best it is indirect. That's what's called a better business model. You don't have to be an expert to understand you're getting a better product.

Additionally, programmers would do well for to adopt an accountants mindset toward explaining and justifying the reasoning for everything. My father's a tax acct/atty Who worked for the IRS for ~10y and now runs his own practice. I'm a "highly paid" programmer in Mountain View. I see a lot of parallels, but the difference in the business model is most glaring.

EDIT:

Perhaps a better word would have been "potential," as in potential revenue. The conclusion that spending $Xk on engineering will generate $Yk revenue is never guaranteed. This is what a typically tax accounting conversation sounds like: "I will save you $Xk in taxes for $Y." Conversely, engineers at best can predict that they will generate $Xk revenue while necessarily costing $Y. This is the distinction I was making.


Separate reply.

"Additionally, programmers would do well for to adopt an accountants mindset toward explaining and justifying the reasoning for everything."

It'd be great to be able to do that all the time. OFTEN, however, the 'programmers' aren't treated with the same deference accounting is given, and aren't told about strategic plans and directions. They're effectively kept in the dark and treated as assembly-line workers. Any justification that a developer might give for implementing a change can be dismissed because "you don't have the full picture", followed by "and we're not giving you the full picture".

What was odd about that situation (one in particular, been in 2 I can recall) is that the development/IT people are often positioned in such a way as to have to be aware of everything, and sometimes know more about what various departments are doing, where efficiencies can be implemented, and possibly what changes could benefit the org as a whole, and yet still get treated as line workers.

I realize not every developer has to go through this, but if you recognize yourself in that situation, realize it gets better, and you can do more with your talents/skills if you want to.


Well... no, it doesn't make you money. It means you pay out less in taxes. There's no more income, just less outgo.

I've boiled down my programming-skills to people sometimes by saying "I can use computers/web/IT to do one of two things: bring in more revenue, or reduce your operating expenses". That's pretty much what everything boils down to.

Accountants, almost by their definition, aren't going to be able to increase revenues. They might increase profit by reducing outlays, or shifting money around to different tax years and such, but fundamentally accountancy activities aren't going to increase revenue.

Most IT projects don't increase revenues on their own either - it's generally in conjunction with initiatives from some other department. But sometimes the increase in revenues that can be generated with strong IT/web initiatives is enormous.

However... most of us are focused on the 'saving money' aspect, similar to accountants. We can optimize processes in an organization, increase auditability, generate more reports faster, etc.

EDIT: "The same direct profitability cannot be said about programmers. At best it is indirect" Ummm... just to be clear, yes it can. If I do a project for someone that costs, say, $100k, but allows them to bring in, say, $3 million in extra revenue, it's a no-brainer. The project increased revenue (and, well, it's a no-brainer to do if it increases profits). But I may do the same project for $100k which allows a company to reduce its internal helpdesk needs from, say, 25 people down to 5 people, saving $400k per year. That should generally be a no-brainer too.

It's pretty easy - I'd say often easier, to justify developer or software project cost/benefits/ROI vs an accountant's abilities, simply because the laws surrounding taxes are impossible for anyone to fully understand. That huge tax deduction you got might come at the expense of an audit 3 years from now. Even if you 'win', the cost of the audit needs to be factored in later.


"But I may do the same project for $100k which allows a company to reduce its internal helpdesk needs from, say, 25 people down to 5 people, saving $400k per year. That should generally be a no-brainer too."

Here's the problem I have as a manger. Answer me these questions:

1. How do I know your software will actually allow me to replace 20 people?

2. How do I know the project will succeed, i.e. actually finish in a usable state?

3. How do I know the project will be on-time or on-budget?

Historically, software projects fail all three of these questions rather regularly. And most people who have any kind of dealing with software know this, so they know that it may end up costing them $200,000 to replace old software with buggy new software which doesn't do everything the old software did, requires training new people, and maybe doesn't even reduce costs.

That's what the parent meant - software projects are not as predictable as accounting. They also tend to take much, much longer and cost much more before you see whether they worked or not.


How do you know accountant X won't fiddle the books and land you in hot water? How do you know all the deductions are kosher. Even well-meaning financial people have conflicting views on what's allowed and not allowed.

When talking about hiring an accountant or firm, it's still a crap shoot until you have a relationship and track record with them.


Less so. With accountants/lawyers, you can usually tell someone is at least decent by school/company they work for/companies they worked for.

There's also a lot of government intervention to make sure they act legally - I'm pretty sure that most countries force CPAs and lawyers to have a minimum level of credibility (studying, passing tests, etc.) This makes it easier to make sure the majority of the population makes at least decent decisions.


To be fair, part of this is because companies consistently cheap out on programmers in a way they don't with accountants. I've worked with some tremendously good software consultancies that can really turn out product, but they charge exorbitent rates, just like PWC, etc.


Which I think is the point we're making here. Programmer should be paid more, and one of the ways to be paid more is to be more consistent in quality and price.

But it's very hard for a potential client to gauge how good someone is. As opposed to accountants, who you can tell are good by school, company they work/worked for, etc. With programmers, at least today, you really don't have anything near that level of credibility - at most, you can work with firms that have a proven track record, but like you said, they cost a lot more in the long run.


That's why you have regular HNers like patio11 arguing that the way to make it as a consultant is to own your business outcomes. If you frame a project to a client as "you have X problem. I solved a similar problem X' for another company using solution Y, and it led directly to a $Z increase in revenue", then as long as $Z > your rate they can appreciate what a no-brainer it is to hire you.

Of course, it's much easier to navigate yourself into that sort of position if you're an external consultant than if you're a salaried engineer whose manager hands you specs. Figuring out how to make that shift within the confines of a larger company's bureaucracy is phenomenally difficult.


At the margin, every employee makes the company money or saves the company money. You do a marginal analysis: if you get rid of the employee, does the net income go up or down?

Whether the contribution to net income is direct or indirect is irrelevant in determining that person's contributon to the bottom line. 1 accountant who bills $500,000 isn't really different than 10 engineers who build a product that brings in $5m of revenue, in terms of the bottom line.

Direct versus indirect is, however, relevant to compensation. It's much easier to negotiate a higher salary when your contribution to the bottom line is direct and easily measurable. But that goes to my point of there being more things that go into salaries than supply/demand. Whether your contribution to the bottom line is direct or indirect shouldn't affect salaries, theoretically. In theory, people don't get paid what they're worth, their salary is set by market forces and supply/demand. But in practice that's not the case.


> at best it's indirect.

Sometimes everything you sell is made of software or information services. The value of programmers is not indirect in those cases.


Your last point, about supply, seems unlikely. To a first approximation anyone in the world can take a course for free from Peter freaking Norvig, and that's only been true for a year. (Not just those particular courses but the way online education's been getting more interactive.)


This is where the proxies for quality come in. I'm not aware of any jurisdiction that requires an accounting degree or CPA certification to practice as an accountant. Yet, no big corporation is going to trust their accounting to someone who took some online classes in accounting, no matter who they took those classes from.

More generally, I don't think online education is the big game changer people on HN seem to think it is. Modern online education really doesn't buy you anything that hasn't been available for decades through correspondance courses. It's all just reading and writing and that can be easily done over e-mail, fax, or even physical mail. People who think online education is a game changer don't understand the point of education. It's not really about learning. It's about signaling. The most important part is the degree that some people get and other people don't get, with the name on the degree from a school that some people got into and other people did not. That's what the industry cares about.

I love the quote from "Good Will Hunting" where Will points out that there isn't anything in a Harvard education you can't get for $10 in late fees at the public library. That's true and always has been. But the education isn't the point. It never has been.


I don't think this is true. Elite institutions, in addition to whatever signaling value they provide, do add something significant to the educational experience, which you cannot get from a mail-based correspondence course: regular, in-person interaction with other students who were deemed by the institution to be bright enough to be admitted.

I'm speaking from personal experience here: I was homeschooled for K-12, and I went to an average college and a prestigious law school. So I've had basically the full range of educational experiences across the continuum you're talking about, and I can tell you with certainty that there are significant differences completely unrelated to signaling.

Much of a quality education takes place outside the classroom, and may not be strictly required by the curriculum itself. Whether online education, via greater interactivity relative to previous forms of delivery, can approximate this benefit is an open question -- but "live" education (in person or otherwise) provides benefits that are simply not available to an isolated reader of a static text.

The Good Will Hunting quote about Harvard is cute, but it's false.


I completely agree with you. I was public as a kid and then went on to an "elite" institution, so I don't have the _entire_ perspective, but:

The value of simply being in an environment for 4+ years, mashed together in tight confines, with 10,000 other people WHO ARE ALL AS SMART OR SMARTER THAN YOU, is incalculable.

Honestly, 10 years later, I would drop another $150k just to repeat the experience.


>I'm not aware of any jurisdiction that requires an accounting degree or CPA certification to practice as an accountant.

CPA certification is required by law in most (and probably all) US states for accountants that prepare certain kinds of financial statements, e.g., the statements that publicly-traded companies have to file with the SEC. A merger or an acquisition (of a company public or private) is probably another situation you cannot successfully navigate with accountants that are not CPAs. (Possibly the same thing applies to any sufficiently large bank loan to any company, public or private.)

ADDED. In contrast, a lot of accountants provide data intended for their employer's internal consumption, and the law does not require degrees or certifications for that type of accountant.


When "prestige" and proxies substitute for quality is when I do no longer want to be part of that industry.

Accounting and consultants are good examples. They aren't higher quality, esp compared to cost. They just have better PR, marketing, and thus provide an out when the shit hits the fan. "Hey, I picked the topped ranked firm, can't blame me for them fucking up."


> When "prestige" and proxies substitute for quality is when I do no longer want to be part of that industry.

I think using proxies for quality are better than what we have in software right now, which is no focus on quality and working with the assumption that software will be late, buggy, etc.

Also, I don't see the point in being ideological about it. Google and Facebook exist by selling peoples' privacy in ways that people don't really understand. Does that keep people from working in Silicon Valley?


> no focus on quality and working with the assumption that software will be late, buggy, etc.

That does not describe me, software engineers I know, most places I've worked (any in last 12years), nor the industry I work in.

People claiming that is how the software industry is are usually trying to sell you a service, tool, or ideology.


Agree completely with your first sentence, well said and thanks for saying it.

Disagree with the second statement - I may be wrong, but I think at least a lot of Google's revenue comes from placing ads in search. No selling of privacy, or at least done in a way that people completely understand.


A lot of Google's revenues come from selling targeted ads in response to searches. Your private information--from GMail, your other Google searches, etc, all goes into those targeted ads.

And of course, advertising is dependant on companies wanting to create proxies for prestige and quality. It's called branding.


That is the most misquoted movie line ever. Read the whole scene: http://en.m.wikiquote.org/wiki/Good_Will_Hunting#section_3

Will is specifically insulting the guy for memorizes passages from books and not thinking independently, and the student is bragging that his degree will make him rich anyway. No one is downplaying the unique opportunity to learn from peers at college.


Taking courses isn't going to make anyone a skilled programmer. As Norvig himself pointed out, that usually comes from having on the order of 10,000 hours of experience:

Teach Yourself Programming in Ten Years - http://norvig.com/21-days.html


Yes, courses alone don't presently make anyone an expert programmer. Neither does reading open source, from BSD to GitHub. But in both cases we've seen or can expect this free availability of quality material to increase the supply of better programmers.


> I think the premise that professional salaries are determined entirely or even primarily by supply and demand is weak.

Your points about the perception of quality and digestible signals of quality are spot on, but what you're describing still boils down to supply and demand.

Supply and demand is a dynamic, complex system of the ever changing wants and needs of the producers (i.e. programmers producing code) and consumers (i.e. companies purchasing code) in a marketplace that determine prices (i.e. programmer salaries).

All considerations of programmer quality, signals of quality, type of programmer required for a specific job and so on are encapsulated within "supply and demand." It's an elegant system!


There are a lot of things that determine compensation, in particular how easily one's contributions are measured, that can be shoe-horned into but don't fit neatly into the supply/demand framework. Just because it's theoretically justifiable doesn't make it analytically useful.


> But companies aren't afraid to cheap out on programmers. If a project fails or is late, there is a perception that that's just how software goes, no decision they could have made could have changed the outcome.

I'm in no position to judge this, but I wonder: With increasing visibility for the cost of digital security/privacy to a corporation, isn't there hope for better valuation of programming by the "C-suite execs"?


I think the whole perception around software quality is changing, and security is a great example.

I think smart phones are also a good example. I think people are willing to put up with crappier software on their desktop than on the thing that they rely on to make calls, send important e-mails, etc. If the iPhone was as glitchy as say Win95 Apple wouldn't make any money.


OTOH: if Windows 8 were as glitchy as say Windows 95, it wouldn't make it in the market, either, and I bet you could have sold thousands of iPhones with the stability of Windows 95 in '95 for $10000 a piece.

The market is more competitive and there is progress in the crap people accept, not only in phones, but everywhere (still too little, though. Recently, someone asked me to figure out how to set their new €100 or so radio alarm clock. I read the manual. The thing looked nice, but was a nightmare to operate. Things like "wake me an hour earlier tomorrow" were impossible to set, even with the manual in hand. So, I advised to return it. The guy listened, but I would hope that, sometime in e future, people would not need my advice to vote with their wallet)


I used to think accounting would be an easy job, then I took two semesters of it.


I work for a big 4. No, I don't make more money, particularly taking into account the number of hours I work during busy season.

That said, if you're a CPA and you're good with VBA, you're in a good spot.


I would say likely forever. Programming is a commitment. Many people will just not be able to sacrifice other things in life to keep up.

Programming isn't a "learn it once and you're good for life" sort of career. Programmers have to keep learning every day to stay relevant.


That is a good point, and most other professions that require continuing education are similarly well-paid (healthcare, law, accounting, engineering). What sets programming apart is that in these other fields, continuing education is compulsory in many cases, so everyone has to do it (license renewals may depend on it). In programming, if I don't keep learning, I won't get better jobs or salary increases.


Plus, the amount of things in our world that will be controlled and performed by software is only going to grow.

While more exposure to technology and better education will create more programmers, I think the demand for programmers will always outstrip the supply.


Specifically, when cont ed is required by law, most people fulfill it by attending bagel eating sales seminars and not learning. Where not required by law or custom, these things don't get attendance and smart growing people pursue actual learning instead.


The author glanced over the fact that "software is eating the world", and I think that therein lies another factor - the constant demand for more software.

As software becomes more complex and critical, more companies need not just people who can code, but mature engineers (http://www.kitchensoap.com/2012/10/25/on-being-a-senior-engi...). Meanwhile the path for more of those to appear in the global economy involves waiting for the standard of living to rise across the world, more people to grow up in such an environment, get their education and at least 10,000 hours of experience.


Regarding the author's company, HappyFunCorp, perhaps they should do a little bit more moderation on their site if they're really trying to hire. They have a section of their site called "happy thoughts" where anyone can submit text. Here are a few gems:

>when one black guy does something and then other black guys go "OH DAMMMMNNNNN"

>blowing my load in someone's mouth

>jiggly breasts


Couple of points (I'm a cofounder of happyfuncorp)

The box is for happy thoughts. Most people find sex a pretty pleasant topic, even if occasionally juvenile.

We filter out hateful or racist things. (I.e. those aren't happy things.) We also filter out the random letters, though I like to leave in the JavaScript injection attempts.

Jon writes on behalf of himself for techcrunch. As I'm sure you realize, we aren't interested in "locking things down".

We are always looking for good people, as is everyone else. The level of skills and capabilities out there is much lower than the demand, and given how much money is involved it is pretty surprising that we aren't, as a society, as the globalized interconnected species we are, training more people to develop the skills. Especially when the tools are so in reach and you don't need formalized training or get licensed or whatever.

We hire between 2-4 people a month, whenever we find a good fit. We are especially looking for team leads and technical project managers, but if you are good then we find a way to make it work. Engineers who can communicate and lead are the limiting resource.

And if you don't think that "jiggly breasts" qualifies as a "happy thought" on a corporate homepage then it's probably not a good match...


i would hope that a tech-savvy person in 2012 wouldn't lend any weight to stuff random strangers left on a graffiti board when deciding whether a company is a good place to work at.


I wouldn't work at a company that thought a "graffiti board" was a good thing to have on their corporate website.


If it was a comment section I wouldn't care but each submission is highlighted individually.


I got: "Watching each of the drown"


A succinct quote and something I had never really put thought into. Nicely said.

It’s not until you reach a near First-World level of development that pursuing your passions rather than escaping poverty seems like a reasonable and/or admirable thing to do.


Thanks.


as a "senior" se in latam, what i see as the biggest problem is the separation in location. i tele-commute, but it takes luck, experience and a shared culture to make it work. thankfully, i am english so share a little more, culturally, than most chileans when it comes to dealing with gringos. even so, most job offers i receive drop as soon as i mention telecommuting.

and i don't think the problems of telecommuting are going to change for a while - reproducing physical presence is hard.

what will change sooner is the rise of internal markets (and development) in these countries. the people there want software too, and local companies may be able to win out in some way (eg more sensitive to market requirements, lower prices). once that happens, then the same software may start to be sold in the usa.

so demand will be lowered, eventually, but the process is indirect. cheaper programmers will write code for local companies; competition from the code they write will drive down the demand for code produced in the usa, and so lower programmer demand and salaries there.

the "passion argument" is bullshit. i know plenty of passionate chilean programmers. they're not just in it for the money.


I didn't find much of this article very stimulating but the last comment made a very good point about fields in general:

"So why aren’t there more people drawn into the[any] field out of sheer interest? Because when you’re poor, which most of the world is, money is more important than passion. It’s not until you reach a near First-World level of development that pursuing your passions rather than escaping poverty seems like a reasonable and/or admirable thing to do."


Maslow's hierarchy of needs!


Apparently, the author doesn't really has an overview, how the programmers are paid outside of Google and Facebook. Lets take a look on Germany. Lots of lots of IT companies here. I was looking for a development position one year ago and got about 7 offers. Basically, I wasn't rejected even once. But the problem was, that the offered salaries were not even close to those in Silicon Valley. The salaries are not significantly different from other (non-IT) engineering positions here. And it's not a matter of being A or B player. All interviews were so ridiculously easy and non technical, that the companies aren't even able to distinct between bad and good programmers. There is no notion of A or B players here. A software developer here is basically the lowest level of the hierarchy of the R&D department and are merely considered as code generators.

A new tendency here -- to hire remote "code generators" in India or East Europe and to manage them having only managers or architects on site. So, this transition of development jobs to East the author doesn't see, has already started here in Germany. And as a programmer you never get rich in Germany, you have to move to management.


this is why I'm going to the US, in a nutshell. Sadly, there are not a lot of options at that level here.. (aside from working in a local Google office)


Wow, you give me hope I could land a job in Europe!


That's a bit frustrating to read a post like this one. There's lot of good developers and very few good coding jobs. Why does everybody still claim it's hard to find good developers?, we're everywhere.. Maybe i'm missing the point or i don't know how to find a coding job..


I suspect the article is very US-centric despite giving a little bit of lip service to European devs like yourself. I live in part of the American midwest not known for its tech companies; I work at a startup doing very fulfilling work that fits the definition of "changing the world for the better" (and getting paid for it) very well.

Despite the latter and probably due to the former, it's extremely hard to find the right people.


Are you in the Minneapolis, MN area? Do you have a technical degree (CS, CE, or other science or engineering degree?) Are you a skilled developer? Not just a coder who can patch together bits of code and read an API, but someone who can take a requirement and talk to the users and understand what it is they really want, then architect, design, code and test a subsystem that is not allowed to fail in its operating environment. I don't much care what languages you know, although knowledge of C++ would be nice. Can you demonstrate to me in a 1 hour interview that you are good at what you do? I'm not going to read your github code, but if you can demo a working application you wrote on your own I will look at it and ask design & implementation questions.

That's basically what we look for, and trust me, it's very difficult to find someone who comes close. Code monkeys, OTOH, are easy to find.


> someone who can take a requirement and talk to the users and understand what it is they really want, then architect, design, code and test a subsystem that is not allowed to fail in its operating environment

You are asking for someone that can complete an entire product cycle by themselves. The power of a company is in bringing together complementary people that complete a whole, not in finding a single person that does everything you need. Why would a person with the skill set of an entire team want to work for a company, rather than starting their own?


It is interesting that they are looking for someone who can complete an entire product cycle. Maybe looking for flexibility, if they are a consulting shop? Or seniority--someone who can do all that has been around the block? Or maybe they are such a small shop they can't afford specialists?

I have been in this full lifecycle role almost my entire career, often as a consultant, and it has benefits and downsides. You are always learning something new and have a wide view of the software world, as well as the ability to really dig into new toes of problems. But sometimes you feel a mile wide and an inch deep.


Nope, I work for a multibillion dollar company. We don't have separate roles like "architect," "business analyst"," "programmer," etc. We hire people who can be given a requirement, and then trusted to get it fully implemented. In the beginning, especially if you're fresh out of school, you may be given a simple design and told "code this," but that phase doesn't last very long.


I suspect you're thinking of a product that would support a business -- the post you're responding to mentions a "subsystem".

This is only a few steps beyond what anyone who completes a CS degree does at least two or three times during their coursework. If you take one of your end-of-year projects, do the work to make it actually robust enough for other people to use, and share it with the world (then do a few iterations of "wow, people aren't using this how I thought" and "wow, apparently that wasn't robust at all" and "damn I need real revision control", or even "huh; no one seems to want this at all") -- and fix the things that were wrong with your first attempts -- you're now far more valuable working any part of the process in large project dev than any of your classmates.

Your project doesn't need to be big -- it probably shouldn't be, or you'll never get it out the door -- but scoping it is a lesson in itself that's really valuable to future employers.

This is how I got my first software engineer job, fresh out of undergrad with a major in music; I had developed a set of music theory training drills, put them online (for free) and had already fought my way through a lot of lessons about browser incompatibilities, usability for non-technical users, how to support non-technical users effectively, etc. etc..

There was no way in hell I was ready to start a business of my own, at that point, and I was eager to work with more experienced developers -- I wanted to learn better ways to solve the problems I was struggling with -- so in seeking a job I wasn't just someone saying "I learned some stuff in school; can you pay me money for it?". I was saying "I already know somewhat what you do here; I want to learn how to do it really well, with you -- will you pay me to do that?"


Exactly. I really don't think that what we ask for should be hard to find, but experience proves otherwise.


> Why would a person with the skill set of an entire team want to work for a company, rather than starting their own?

I've completed an entire product cycle by myself, more than once, but still work for a company.

Working for a company means I don't have to go out and find the customers, I don't have to do sales and marketing, and I don't have to do the hiring, firing, and day-to-day management of employees. Basically, there's more to running a company than the parts of a product cycle, and insofar as I might be capable of doing all of those other things, I don't enjoy it as much as focusing on solving problems.


Is physical presence a requirement? You could try looking outside the area.

My current job is with a distributed team. I'm in St. Louis. Others are in Toronto, New Jersey (previously was in Spain), and South Carolina. It works well for us since we don't have "must-be-locked-down-on-site" sorts of projects (e.g. government contracts)


someone who can take a requirement and talk to the users and understand what it is they really want, then architect, design, code and test a subsystem that is not allowed to fail in its operating environment - that someone need no other guys standing between him and money.


[deleted]


What do you mean by that?


As long as only about 20% of the population has the ability to learn to program, programmers won't have to worry.


>First, you have to grow up wealthy enough to have a decent education, some exposure to technology, and the ability to choose between options in your life, which immediately rules out most of the planet.

No, all you need is access to a computer and someone to start you going in the right direction. And the latter is really just a nicety. You can get there without it.

I'm largely self-taught, with a little push back in Elementary School. They introduced the ideas and taught us to write Apple II BASIC programs. I took it from there.

I eventually got a 2-year degree, but I practically slept through the classes. I learned a bit about database normalization, and nothing else. 4.0 GPA.

My first job didn't care about the degree at all. They only cared about my actual skill. I stayed there long enough that any other job would know I had skills. And my career was on its way.

There's no need for an expensive education.

However, you do need to have a head for logic. Passion for logic helps tremendously. And a computer.

But who doesn't have a computer these days? I don't know anyone who doesn't have one. And there are charities that help people get computers if they can't afford them.

So no, I don't think rich-poor artificial scarcity is what drives the price at all.


The $500 or so you need to buy your first computer is too much of an upfront investment for a lot of people in the world. And the time required to learn how to program, time you could be spending making money at a local job putting food on the table, is an insurmountable investment.

Part of my family is from a small fishing town in Croatia, I go the their every year on holiday. And every year I see so many intelligent and hard working people there who walk around with that lost expression on their face, longing for a way to make a good living. But there's no role models, no people to set an example. The wealthiest guy in town owns a cafe. To them, what is programming? How do you convince someone like that to spend a month's salary and many more months of hard work learning something when they have no sense of the implications or the benefits of it. A lot of this world doesn't even know what programming is or why we need it, no wonder programmers are in short supply.


Reminds me of the fishermans parable:

An American businessman was at the pier of a small coastal Mexican village when a small boat with just one fisherman docked. Inside the small boat were several large yellow fin tuna. The American complimented the Mexican on the quality of his fish and asked how long it took to catch them. The Mexican replied only a little while. The American then asked why didn't he stay out longer and catch more fish? The Mexican said he had enough to support his family's immediate needs.

The American then asked, but what do you do with the rest of your time?

The Mexican fisherman said, "I sleep late, fish a little, play with my children, take siesta with my wife, Maria, stroll into the village each evening where I sip wine and play guitar with my amigos, I have a full and busy life, senor."

The American scoffed, "I am a Harvard MBA and could help you. You should spend more time fishing and with the proceeds buy a bigger boat, with the proceeds from the bigger boat you could buy several boats, eventually you would have a fleet of fishing boats. Instead of selling your catch to a middleman you would sell directly to the processor, eventually opening your own cannery. You would control the product, processing and distribution.

You would need to leave this small coastal fishing village and move to Mexico City, then LA and eventually NYC where you will run your expanding enterprise."

The Mexican fisherman asked, "But senor, how long will this all take?"

To which the American replied, "15-20 years."

"But what then, senor?"

The American laughed and said "That's the best part. When the time is right you would announce an IPO and sell your company stock to the public and become very rich, you would make millions."

"Millions, senor? Then what?"

The American said, "Then you would retire. Move to a small coastal fishing village where you would sleep late, fish a little, play with your kids, take siesta with your wife, stroll to the village in the evenings where you could sip wine and play your guitar with your amigos."


That is why the Raspberry Pi and related projects have so much potential.


I make less than in 2007. I must be doing something wrong.


If you aren't 25 and living in San Francisco making over $125,000 per year, then yes, you are doing something wrong.

Get younger, move, and/or compromise your beliefs to work on moronic projects throwing money to the wind.


It depends where you are. I made very good money 2003 to 2008, and I was living in Virginia, in the USA. Then the recession hit. I had 6 months of no work. Then I moved to New York. I have made good money since the beginning of 2010. There is high demand in New York, but I know my friends in Virginia still have to struggle. This recession has redistributed the jobs geographically.


It's the president's fault! The TV said so.


My bet is: till strong AI is developed.


There is no such thing as "strong" AI.


Find a position that supports value-based pricing.


If only there were a guiding economic principle that could be applied that would relate the supply of skilled workers with the need or demand for them.

God with such a framework, we might even accidentally elevate the discourse beyond that of a comic-laden TC "article".


We need multidimensional labor pool analysis though. There isn't "programmer" vs. "non-programmer." There's a stair step pool from "programmer who is among the best in the world in multiple areas" to "programmer who posts every minor problem on stackoverflow for free answers because they can't think."

The problem isn't the supply of people who believe they are programmers. The problem is the supply of amazing people who do things we don't even have words for, but we end up calling "programming" anyway.


Programmers aren't "so well-paid". In fact, I think we're underpaid, when you consider that the top technology companies earn several hundred thousand dollars (and sometimes, low millions) per employee, averaged across all employees.

I actually think we're underpaid, and that's a problem, because if an engineer only costs $100-200k, then executives can cost-justify using programmer time on a lot of stupid shit that doesn't add any value (the hits, the projects that deliver $1 million per person per year in value, make up for it). The fact that software adds so much value (on average) should give us a huge risk allowance (that startups have visibly capitalized on) but it's only people with VC connections and executive douches, for the most part, who can actually take that risk.

It's not even about money, from my perspective. Engineer salaries are low compared to the value we add, but reasonable for the most part (we don't starve). What bothers me is that 90% of software engineers have to do stupid stuff with minimal autonomy or career growth, and I think that engineers (as a class) would be better treated if they were more expensive. Of course, the AbstractVisitorSingletonFactory crowd (who bring down the reputation of the field) would all be fired, but that's a good thing, too.


Just a note: In 1999, before the jobs disappeared, it was the same articles...


Does that suggest indefinitely? "Bubble 2.0" was already being talked about by 2004. Which puts only a 2-4 year lull in incomes out of a 15-20 year span.


I do think there are parallels between when mainstream magazines write about X as a good profession and when mainstream magazines write about investment and shares. (The latter case is infamous for predicting bubbles.)

But sure, the work market did come back. Just pity the people coming out of university at the wrong time.


Was it really that bad? I did not have the opportunity to go to university, but I did come out of high school right after the burst and while I wasn't making $100K for just knowing HTML, I was able to do alright. And by the time the market started to recover, I had some amazing experience under my belt allowing me to leverage the upswing in ways someone just graduating wouldn't be able to do.


Depends where you live, like anything else, but in California there was a really bad stretch around late 2000 to early 2002 where it was pretty damn difficult to find new work as a developer.

Even companies doing relatively well were so worried about the future that hiring freezes were the norm across the board.

If you were really exceptional and really well connected or had very attractive experience, you could still find something, but it was certainly a very difficult time for a lot of people I know working in the industry in CA around that time.


Just pity the people coming out of university at the wrong time.

I chuckled at this, because I went into a CS program after the bubble burst and when jobs looked pretty scarce. By the time I came out things were rolling along nicely. I went in because I genuinely like this stuff, but the job on the other end is a nice perk.


Open source will eventually kill wages. Why?

Why would I pay a software engineer lots of money to write an entire system when I can get the engineered parts for free and hire a software mechanic (IE: less skill and less pay) to make the changes?

I've already worked at a few companies where we should have had 3 or 4 developers and only had me because of open source software.

This is why I plan on running a business that utilizes it rather than a career that depends on it.


Open Source Software may be drastically cheaper compared with hiring programmers to reinvent the wheel, but that very fact also enables a lot of projects that otherwise wouldn't have happened.

For every company that's not hiring 3-4 engineers in favor of just one guy, there may be another 3-4 companies hiring one person instead of not doing a project entirely. This is similar to what happened to the demand for computer skills when computing itself got drastically cheaper: the increase in usage more than made up for the fact that an individual task was cheaper.

Now maybe the act of tying disparate open source products together isn't the same sort of programming we did in the past (though it is software engineering). And maybe some day we'll actually finish writing all this software we're working on and it'll be good enough.


Nonsense! Sheer nonsense! If Postgres didn't exist, I'm sure the <20 person company I work for would be happy to pay me to spend the next decade recreating it rather than building their application.

Not to mention Linux, Apache, Ruby on Rails, Java, Git, Vim etc. ;-)


Open source just enables the next tier of proprietary software. It's about enabling new work and only incidentally about eliminating old work.


Off the shelf problems may have off the shelf solutions.

However, solving unique problems (which may have value in solving them) do not have off the shelf solutions.

Valve just launched a beta of their Steam client for Linux. There was nowhere for them to just download and use it from- since it was a unique problem.


I think in many cases it is more likely that said companies that you worked for would have zero developers without open source software. Open source has enabled companies, who otherwise wouldn't be able to afford to enter the software game, to take on programmers themselves.

You were perhaps able to do the work of 4 developers, but if 10 new positioned opened across multiple companies like yours due to the same effects it is still a significant net gain that has only helped contribute to shortages and rising incomes.


You do need somebody to develop the open sourced system in the first place. Of course having a system which is open source can have efficiency advantages as in theory as there is less need to re-invent the wheel. This doesn't necessarily seem to happen in practice though, how many competing open source web frameworks are there?

I don't think you can really say there is a correct number of developers that you "should" have. For example most of the software projects I have worked on "should" have had hundreds of developers, because we would have had to build not just the app but the surrounding infrastructure such as HTTP server , DBMS etc.

When productivity is increased by easy access to open source, the scope of projects tends to go up too. Back in 1999 a website that had some HTML text and a few images was generally good enough.

Now people want sites with social integration , full text search , streaming video etc so even though the parts are easier to fit together there are more of them.


This sounds like the "pirating software costs us TRILLIONS" false argument.

Most companies if they didn't have access to open-source software wouldn't pay for the 3-4 developers "it replaced". Just like people wouldn't buy 99.9% of the stuff if they couldn't download it.

open-source lets companies do more, not less.


"open-source lets companies do more, not less."

My argument isn't about what a company can do with open source (it's clearly more, for less). My argument is that as a result, they will need less developers and the developers they do need can be paid less.

"This sounds like the "pirating software costs us TRILLIONS" false argument."

Piracy nearly put my last company out of business. Say what you want about it, but I saw the direct effects. When I stopped the cracks on the torrent sites (which was a cat/mouse game), my sales jumped up as much as 30%.

The direct result of piracy is Software-as-a-service. Now you get to pay a monthly fee for software you normally would have only paid once.


First time I've heard the term software mechanic ... interesting, I've always thought there was a missing classification for someone who is good at reading specs/documentation and getting something configured and working (even if it takes writing a bit of code), but could never write or architect such a solution themselves.


Is open source software a complementary good or a substitute good for developer labor?

I think the answer is that it tends to be a complementary good, driving demand for developer labor. Apache, mysql, ror, etc, let more of a company's software budget be paid to labor than would have happened with Netscape server, oracle or some costly 4gl language.

There are times when it is a plain substitute, especially when combined with that mechanic you speak of. See http://mikecr.it/ramblings/drupals-golden-handcuffs for more on that.

More on complementary and substitute goods: http://www.joelonsoftware.com/articles/StrategyLetterV.html


lol. it doesn't matter where the _library_ comes from. what matters is how you use it and that takes time, effort, and skill, independent of whether it's "open source" or not.

yeah, you can double or triple your productivity by using code written by those before you, but, so what? it's always been that way. and if you're in a corporation, does it really matter if its OSS or proprietary but just slightly cheaper than writing it yourself?

i'm not knocking OSS here. i grew up with it and I think it's amazing. a godsend. but it's existed for 40 years now---don't you think if it was that amazing it would have already won the "war"?


Assembling components into a working system can require just as much of an engineering mindset as designing the components in the first place.


In many cases, you don't need to assemble any pieces. There are entire open source apps out there that are 99% of what you need. You just need to make a few changes here and there.


In the long run, open source is far better for engineers than it is for executive douches.

To learn Oracle, you needed a job where you had access to Oracle. This gave employers a lot of leverage. They could hire young people eager to learn the ropes (and willing to accept a salary that was small compared to their ability to add value). This reduced the leverage of older people, who were in competition with young people willing to work for peanuts to get into the game at all.

Now, with options like Postgres, people can learn and use a production-quality database without having to pick up a phone and pull out a credit card. The effect of this is that engineers have more options, and are more aware of how much value they actually add.

In the very-long term, this is a wealth transfer from relationship-peddlers with fat stacks (money, capital) to technologists who can actually think and solve problems. It might take a decade, but possibly a century, but it is happening. It's just very slow, and progress is not monotonic.


Programming bubble will pop. Automated Machine learning is taking over. Even at google, Jeff Dean has recently stated that his Perceptual AI project is aimed at reducing feature engineering in their machine learning projects. In plain terms this means eliminating the need for programming in their search engines and other machine learning focused projects like google now and google goggles (the mobile app, not google glass). The only programmers left will be to manage cloud computing infrastructure and front end programmers. As things like siri and google now take off, front end programmers will also be in less demand. Microsoft, Apple, and Amazon are also increasingly focusing on machine learning. Automated analysis of text will take over the role of sql databases as demonstrated in IBM watson. In manufacturing, the role of programming also diminishing as vision guided robots like Baxter by Rodney Brooks's team take off.

All this is a good thing though, programming is slow and data is agile, as talked about by Peter Norvig in his startup school 2008 speech http://www.youtube.com/watch?v=LNjJTgXujno

Startups should aim at doing as little programming as possible and leaving it to data crunching.


The current incarnation of machine learning is nothing more than an ultra high dimensional two year old. "Here's a new item. Which pool of millions of items is this new thing like?" "Is the red square more like these other red squares or the green triangles?"

You can get pretty far extracting the math behind the meaning, but lack of meaning is still deathly apparent.

We should fix that sometime.


Yeah, but the two-year-old scales to huge datasets and doesn't cry a lot.


I think most people are interested in practically solving problems. If the black box can solve it, there's no reason to care about "meaning". Once the machines have taken over all jobs, you can sit around and understand the meaning of things to your satisfaction at your own leisure surrounded by the luxury the machines have created for you.


Imagine how many more problems we could solve with meaning. Every secretary in the world could be fired. Software could actually know you. It would be a huge psychological problem for people.

You think MMOs kill brains in south east asia now? Wait until software acts like a boyfriend. Every site (read: website/app/software) could be unique, well designed, and work cross platform by telling the system what you want (remember: in this delusional scenario the system understands meaning to avoid the unintentional vengeful djinn problem).

You think multivariate testing is omgballz amazing? Imagine if ad networks share a sophisticated personality model (instead of: likes cats, doesn't like monster trucks) of you. Every site you visit could be rearranged to appeal to your individual design sense, buying patterns, and social expectations. A/B testing basically tries to suss out your average user so you can appeal to them. You leave your non-average users in the dirt by optimizing for the common moron.

It's possible and I think the incumbent giants will miss it whenever it happens (5-10-50 years out).


Citations needed. You seem to be commenting like this on many topics (wherever its tangentially relevant). I would really like to know why you think this will happen, what you think are the most promising machine learning methods for achieving it, and who you think is going to program these machine learning methods.

I love machine learning don't get me wrong, and I'd like to see Skynet (hopefully friendly) in my lifetime, but the current state of the field does not reassure me on this matter.


It's as easy to buy into the church of the singularity as it is to buy into the "We'll have a million customers and $10MM/month in subscriptions within a week of launching" belief after releasing your four-years-in-stealth-mode-with-no-customer-feedback startup.

Beliefs based on other beliefs generate even further out beliefs unhinged from reality. It's not that they aren't true -- they just aren't true yet, and imagination doesn't count as ground truth (because magic doesn't exist).


This is not about the singularity. This is about data vs programming.

And your attacks on the singularity are misguided. You think singularity people are retarded and your anti-singularity possie are holier, yet you don't have a coherent anti-singularity argument.

Any fool can tear down a barn, but it takes a carpenter to build one.


Oh, I certainly don't have an anti argument. We'll end up destroying ourselves, be obliterated by cosmic events, or eventually run civilization from computer simulations.

People have just been saying "real soon now" for 60 years. Obviously we are more "real soon now" than back then, but it's still unclear how soon we can be.

My favorite knock down is the "when computers get fast enough, we'll magically have AGI/hard AI." If that were the case, we could have really really slow versions now.

Theoretical vs. practical architectures matter. Nobody can imagine an iPad's software ecosystem if your model is vacuum tubes and single tape turing machines. But when you hit CPUs, shrinking processes, and GPUs with 6 teraflops on a card, you see how impossible your goals were with a 0.2 MHz room-sized computer with 500k of memory.

If you immediately know the candle light is fire, then the meal was cooked a long time ago.


2011 and 2012 have been watershed years. IBM watson, speech recognition using neural nets beating speech researchers, neural nets on imagenet beating computer vision researchers. The trend is that automated machine learning wins. You can be on the right side of history (automated machine learning) or take opposite side (and be wrong).


I think we're on different pages of the same book. The current stuff is all well and good, but it's the Penn & Teller phase of AI/ML/GMs. We'll dispense with the façade of ability and instill actual ability eventually. I'm just not overly rah-rah about the recent incremental developments. I don't mean to overly pooh-pooh your rah-rah, but my brain is telling my fingers someone is wrong on the internet!


Yeah, that wrong someone is you. You'll have to eat your words within 5 years at the most.


I'll take that wager. I mean that literally--put your money where your mouth is.

Email's in my profile.


You can read up presentations by Jeff Dean and also look at what those companies are doing. Listen to Craig Mundie from microsoft for example. See what's happening in competitions like kaggle or what are state of the art on difficult computer vision challenges like imagenet. Machine learning as used in android speech recognition and microsoft speech recognition has already decimated speech recognition researchers and computer vision researchers are next (in the sense that automated machine learning takes over feature engineering). Read all the big data hoopla. There's your citations. It's not all that difficult to figure this all out if you look into it.


In 1954: Programming bubble will pop. Compilers are taking over. Soon, anyone will be able to control computers using simple English commands.


That kind of happened if you frame it in their era - HTML, CSS, PHP, SQL.


It just makes sense that eventually we will create systems that do the work that is currently manual. That has been human history (printing press, manufacturing, etc). The good thing is that we are crafty buggers and will always find a new job to do even when we've just replaced the manual labor that was oh so painful to perform before.


Programming jobs are not much to brag about. Many IT people don't just check out after 5pm. They are on-call after work, stay up late at night trying to finish X or fix Y. They are expected to show up to the office on the weekends to do Z. In the meantime, the HR people are relaxing at home with their families.

As long as programming jobs are worse than regular jobs, people will require higher compensation to take those jobs. More stress, more requirements = higher compensation.


Um. Then you need to hire people for that. Sorry, but, "i'm not paid to be on call 24/7 but I am anyway" is not a reasonable argument. Fix it or deal with it and move on.

And what do you mean, "worse than regular jobs?" Have you looked around much lately? Sitting in front of a computer all day doing what you love pales in comparison to about 95% of all jobs on the earth. And do you really think "HR" people just go home and chill? Everyone has responsibilities that exceed their billed hours. That is part of life.


As long as Tech Company are not willing to out-source them (which is already happening, everything can be outsourced). there is not one profession that cannot be out-sourced. Is it good on the long run? well global business are not tied to a local consumer base anymore , so i guess it is for them , and consumers do not care.


Let's not be naive; there are most certainly jobs that cannot be outsourced, either for legal or for practical reasons: Jobs involving state secrets (military, intelligence, etc.--plenty of technologists in those sectors), jobs where shipping the poduct is infeasible or where the service must be performed locally (restaurant cooks, plumbers, ER doctors, etc.), and then the vast number of professional occupations that have legal barriers to starting practice in a particular jurisdiction (doctors, lawyers, accountants, the list goes on).


Good morning. You've triggered my "I have a political stake in my comment stance" detector. Are you perchance someone residing in not-U.S. who wants these magic outsourced jobs?


camus' comment didn't trigger any detector here but yours clearly did.


no ,off course , not , but these are just facts. In my company , Accountency has been out-sourced to eastern europe, and my job may be next , no matter how good i am at my task. It is not something i want of course , but it is something that might happen in the future.


If your company treats you as a cost and wants to unload you, then you are probably in trouble. Maybe try to find a place that sees you as an asset? In SF, the fancy programmers are entire products and personality cults by themselves.

Saying everything can be outsourced would lead to all American actors being replaced by Bollywood or Korean or Chinese actors. There are forces other than price of labor acting in the market.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: