Fog Creek Software
Discussion Board




Commoditisation

Does anyone else believe that "free as in beer" software is a major reason behind the commoditisation of programming? There has always been a trend toward packaged software replacing custom programming (and rightly so), but it seems to me that free software has done more to promote the cost-cutting mentality than most other factors.

Other industries are smart enough not to destroy their profits by engaging in a "race to the bottom". The software industry on the other hand is actively promoting the idea that business will soon be able to get all the software they need for free. If such a point arrives, I wonder whether the average programmer will connect the dots between free software and his pink slip.

.
Friday, July 02, 2004

Free software is a razor.  As a developer, you're either going to be a blade or a one-piece razor/blade.


Friday, July 02, 2004

"The software industry on the other hand is actively promoting the idea that business will soon be able to get all the software they need for free."

The cost of most software licenses are irrelevant to most businesses - it's only in the very low end where you hear concern over the price of SQL Server versus MySQL, for instance, whereas in most businesses the upfront fee is miniscule compared to the TCO. In fact most organizations INSIST upon paying for software, ultimately so that they can have a feeling that someone is accountable, and that someone has the motivation of dollars to make things right. See the hundreds of millions that RedHat is pulling in.

Dennis Forbes
Saturday, July 03, 2004

To continue on, and to play devil's advocate, there are many who would say that the most destructive force in the software industry isn't open source software, but rather is Microsoft (and open source software is entirely a defensive reaction to Microsoft). Discuss.

Dennis Forbes
Saturday, July 03, 2004

Is commoditizing programming the issue? Or shrinkwrap software?

Paul Graham argues that people are increasingly willing to pay under a subscription model with web-based software, which you host on your own servers. As Tim O'Reilly pointed out, we're all linux users, whenever we use Google.

Incidentally, I liked your subtle use of "free as in beer." Companies like Microsoft have released free-beer. Free-as-in-freedom is a different matter though.

Tayssir John Gabbour
Saturday, July 03, 2004

>>"See the hundreds of millions that RedHat is pulling in."

Oh really?  Maybe you should try actually looking at Redhat's financial statements.  For the 9 month period ending Nov. 30, 2003 (the most current listed on their website):

Revenue - $89,119,000
Expenses -$88,441,000
Net profit - $    678,000

Were exactly is this "hundreds of millions of dollars"?

Kay O'Pectate
Saturday, July 03, 2004

"Oh really?  Maybe you should try actually looking at Redhat's financial statements."

Oh, Jesus, my whole point has been shot down by this clever ankle-shot retort. Clearly when I stated a revenue amount, I must distinctly have referred to a defined time period. Let me see - Did I say quarterly there? Oh, maybe I said bi-annually. Hrmm...can't even see annually there... Gosh, I don't seem to be referring to a 10-K, or a 10-Q, or even a nine-month period.  No, instead it seems that I was referring to the fact that RedHat, sustained on "open source software" has derived hundreds (aka: more than 1) of millions from business. What the hell are you bitching about again?

Dennis Forbes
Saturday, July 03, 2004

Dennis: Excellent point regarding the cost of licenses. You are right. Thanks for the insight.

To shift the subject a little then, how about this:

Does anyone believe there will be much of a market for custom programming in twenty years time? Or will we see the accountants, lawyers, engineers, etc., just glueing together shrink-wrapped components as required?

I don't doubt there will be a demand for people who understand the fundamentals of programming, to co-ordinate this sort of thing, but I think there is going to be a general shift to "business consulting" rather than "writing code".

Would any programmer today encourage their sons or daughters to get into programming as a career?

.
Saturday, July 03, 2004

"Does anyone believe there will be much of a market for custom programming in twenty years time? "

Honestly, I think this field is on a continual decline (the whole off-shoring thing is largely the domain of "projects that shouldn't exist anyways"), and I most definitely won't direct my children into this career (of course that would just make them want this career...so I guess I should direct them into it in a bid of reverse psychology).

Ultimately what we're seeing is that businesses are starting to see their information technology as just a commodity, just as you stated, rather than as a strategic advantage - instead of every organization running proprietary, labour-intensive in-house applications, many fields are coalescing upon just one or two common software platforms: A lot of in-house applications are being replaced by industry-specific apps, with a minor amount of customization. Obviously this is having a negative effect on this profession (as there is a large amount of redundancy with every organization creating the same sort of application). Even an application like SharePoint, or Biztalk, rendered thousands of projects irrelevant across the land.

People would normally respond to your question with some like "people have been predicting the demise of the programmer for years...", and this is ultimately used to dispel the notion of any negative impact on this profession. I think that is wishful thinking, and we are reaching the point of greatly diminished returns in software (and thus greatly diminished interest in paying the big bucks for it).

Dennis Forbes
Saturday, July 03, 2004

>Would any programmer today encourage their sons or >daughters to get into programming as a career?

No, not at all. I would encourage them to learn to program as a tool to use in their professions as scientists or engineers - I certainly wish *I* had done so 26 years ago rather than trying to make a living writing code. I'd have tenure at some university or a nice research job somewhere rather than wondering how I'm going to pay rent next month.

Michael Ealem
Saturday, July 03, 2004

Well said Dennis. I agree.

Tom DeMarco (author of Peopleware) wrote a book titled "Why is software so expensive"? I haven't read the book, but I find its existence instructive. To me the question betrays the fact that: a) The labour component of our product is WAY too high, and b) Too many businesses are required to spend money on this labour, because things have not been automated enough.

Our business is automating other people's work. It's inevitable that we will eventually automate a great deal of our own work.

Unless your company is writing software, I can't see a sensible reason why you need to have an IT department at all. The software should *just work*. It should be reliable and invisible. This has been the trend of the last couple of decades, and I think it will run to its logical conclusion: within a couple of decades, there will be no custom programming jobs in non-software companies.

My problem is I can't decide what to do once I leave this industry!

.
Saturday, July 03, 2004

Michael: That's a great point. In the future, programming will "dumbed down" enough that just understanding the concepts (loops, variables, etc.) will get you halfway to solving a business problem yourself, without the need to pay someone to do it for you. This is great news if you're an expert in a non-software field.

One point which relates to yours: I am constantly thinking of business ideas. I've realised after several years and a few failures along the way that I am not yet equipped to run a successful software business (at least not without a partner), and the reason is not technical. The reason is that I am not a *domain* expert. If I was a futures trader I would be a squillionaire by now because I would have used that knowledge to write software that could make my analysis easier. If I was a doctor I could have written a program which would make it easier for me to save lives. Et cetera. Eric Sink and Joel have recently been reminded of how ephemeral the "developer tools" industry is. The reason is that it's not solving a real-world problem. It is begging to be obsoleted.

We are making ourselves obsolete. I'm not crying any tears over this by the way, I happen to think the world will be a better place when we have invisible, reliable software that we just take for granted, and that permeates all our walks of life.

Asimov: "I don't fear computers, I fear the lack of them." Or something along those lines.

.
Saturday, July 03, 2004

What is the problem with software selling like soap? How difficult is to make soap? Or toothpaste? Even a comb? I'd rather software sells more like a Lux than like a Bugati.

The issue with software development is that we focus on the production methods and costs and try to dove-tail distribution and consumption methods with them. It should be the other way around.

Do customers want software at all? And why? First questions. Only then can we meaningfully answer, "Should they hire developers and make it in-house, or outsource to Romania. or buy it from Fog Creek, or download it off Source Forge?"

We have to admit, there is a glut. Some term it abundant choice. But I call it glut. But what purpose do they all serve? And most important of all whose needs to those software cater to? The producer or the consumer?

Once this shift occurs, IMVHO, software will end up like commodity technology items, VCR, TVs, Washing Machines. To be precise, it will end up as the _service_ component of those machines. An engineer who fixes or installs or upgrades the Washing Machines today will be the Software Engineer who installs, upgrades, debugs, customizes the Accounting Software. Both are driven by the basic need of the Consumer to wash dirty linen.

KayJay
Saturday, July 03, 2004

The thing is, most accounting, law, dentistry and even medicine is also pretty humdrum, and could be done much cheaper, but those people stop that happening. As long as they provide reasonable services, society lets them erect these barriers.

At some point, programming will reach the same stage, and they will look back in disbelief at the 2000's. Historians will write about it.

Double .
Saturday, July 03, 2004

"Society" will not erect barriers around programming as it has done for accounting, law, or medicine. Creating a programmer's guild is a fantasy.

.
Saturday, July 03, 2004

> Does anyone believe there will be much of a market for custom programming in twenty years time? Or will we see the accountants, lawyers, engineers, etc., just glueing together shrink-wrapped components as required?

I think programming will diversify into multiple disciplines oriented to the domains, to the extent that lawyers, engineers, etc have to complete relevant development components in their courses, just as many have to do statistics now. Except it will be more important than stats. Perhaps like report writing. Most of the custom programming in each field will be performed by those domain-trained specialists.

CS as such will be an academic speciality that provides services courses to the professional faculties, just as maths and stats do now.

Product oriented software will be seen as a research activity probably done by PhDs and other research specialists ( and their equivalents who were designing fine software in 2004.)

> Would any programmer today encourage their sons or daughters to get into programming as a career?

No. I will be encouraging my children to become domain specialists, whether in medicine or whatever.

Double .
Saturday, July 03, 2004

> "Society" will not erect barriers around programming as it has done for accounting, law, or medicine. Creating a programmer's guild is a fantasy.

I don't know why you think that. The various professional bodies are all sniffing the wind to start certifying people, and so are the accounting firms, who want to certify accountants as "security specialists." (Heaven help us.)

Those bodies will eventually get those permissions, and then they will start restricting the type of work that can be performed without a licence and a four year degree. I predict this will be 50 percent in place by 2010.

Double .
Saturday, July 03, 2004

American businesses writes too many custom software because they innovate too much, for most of what they do (interesting vs uninteresting) they can't find what they need at the Walmart's of bits and bytes (Microsoft).

overweightnerd
Saturday, July 03, 2004

And what happens when the professional bodies implement certification in the US? Won't more development just move offshore? Once again, guilds are a fantasy. If they ever do come about they will be a pointless exercise. They will only provide a further incentive to buy packaged software.

.
Saturday, July 03, 2004

This phenomenon, of sharing code and work, isn't new. Microsoft was one of the first to break with that. But beyond its walls, it doesn't have much control over programmers, which means that programmers have continued sharing knowledge and work. By distributing articles, tutorials, sample codes, dev. tools, end-user programs (shareware, freeware, full-featured programs, crippled programs, etc,) programmers have always acted as the OSS guys, without the little organization of the OSS world, and not always with the benefit of the Internet.

The Internet allowed for such individuals to keep in touch and get organized.

So yes, many of us have benefited of the work of others, but we haven't been able to create successful businesses around that, maybe because it's not in our gens.

Dewd
Saturday, July 03, 2004

> And what happens when the professional bodies implement certification in the US? Won't more development just move offshore? ...

Let's stop calling them guilds for a start, Mr Dot. Lawyers have these things, doctors have them, accountants have them, film crew have them, teachers, just about everyone except programmers.

Also, I am not commenting on whether it is good or bad, just that it will come to pass. When the occupation of programming gains the legislative support to restrict practice to people it licences, as it will, then those restrictions would probably apply the same way they do for accounting and so on.

Double .
Saturday, July 03, 2004

1. Didn't Joel say something like - you can't make comparisons between software development (in terms of scheduling) and, say, masonry, because there really are no new problems to be solved in masonry, and you pretty much know how long something is going to take. But in software, there are no repetitive tasks, because when you find one, you program it away.

Wouldn't it follow then that once all the major obstacles have been solved, there would be very little actual programming to do?

I.e. look at the work you were doing 5 years ago, and then look at hotscripts or sourceforge or the perl archive or download.com and tell me whether or not your solution is already there. It's not that the software is free, it's that it exists at all in an off-the-shelf format.

Things are becoming commoditized and off-the-shelf because the challenge for programmers is in finding a recipe for the Big Mac, not in serving it up to customers. 50 years ago there was a lot of demand for someone who had a good hamburger recipe. Now anyone can do it because a few standards have been decided upon - big mac, whopper, whatever wendy's serves, etc., and it's just following their recipe with their ingredients, i.e. being an end user.

Nobody is complaining that they're not being asked to build databases because they accept that oracle and mysql will do the job. Yet they're complaining that they're not being asked to build e-commerce software when it's the exact same scenario - a basic need being filled by readily available software.

Programmers saw repetitive tasks & wrote software to take care of it & then the generous ones gave it away for free, and the ambitious onces sold it. Either way, once the solution had been solved by a million programmers, someone realized you should't have to solve it again & made the solution available.

2. In another thread on voice recognition, someone said that MS bundled a voice recognition package WITH windows in every version from 98 on. Windows comes with a word processor, web browser, email client, messenger, calculator, and a million other small useful utilities. Yet nobody's complaining about the existance of this stuff taking away possible jobs creating word processing programs and voice recogntion software.

3. Most conservative companies will run their mission critical applications on major brand products - sun servers & oracle databases, for example. Most likely it's because nobody wants to stick their neck out and recommend linux & mysql because if oracle breaks, someone other than you is answerable - someone at another company. If mysql breaks, either you fix it, or you're fired.

Products like linux & mysql allow the little guys to swim with the big guys & possibly overtake them in the marketplace. Otherwise the barrier to entry would be too high. Imagine google running 80 thousand solaris boxes with oracle. Nevermind that google's OS is actually custom built (or tweaked), the fact is they were able to start small & cheap and it helped them enter in to the market.

www.MarkTAW.com
Saturday, July 03, 2004

For argument's sake let's say that certification comes to pass, and programming in a certain jurisdiction may only be performed by people who have met a particular benchmark. What is your point?

.
Saturday, July 03, 2004

Then programmers will be able to extort huge amounts for their services because to hire anyone else to do it would be illegal.

www.MarkTAW.com
Saturday, July 03, 2004

Yeah, what Mark said. In my original point I was commenting on the question about how far programming would be commoditised. I pointed out that, sooner or later, bureaucracy would catch up with it, because there are lots of people with nothing better to do drawing up the documents right now. So this will come to pass, and then the existence of barriers will limit the trend to commoditisation.

This will also turn programming into one boring job, but at least it should provide a predictable career.

Double .
Saturday, July 03, 2004

Why all the worry about Open Source? Open Source's greatest successes were already commodities anyway: web servers, databases, UNIX like operating systems, scripting languages etc.

You weren't writing those systems anyway so how will they commoditise you out of business? On the contrary you can do what Yahoo, Slashdot, Google and others have done and use these open source commodities to build a new service or business, and the basic cost to get started is just your time and a cheap computer.

Matthew Lock
Saturday, July 03, 2004

Barriers will absolutely not limit the trend to commoditisation. Barriers will accelerate that trend. Programming labour is already far too expensive for the majority of projects. To make it even more expensive will only serve to a) push more projects off shore, and b) push more people toward purchasing off-the-shelf solutions.

.
Saturday, July 03, 2004

I thought the point of things (at least in the Microsoft space) like Access and the VBA capabilities in the rest of Office were supposed to encompass much of the "schlock" programming.  Those one-offs and low-volume, small user population line o' biz applets and apploids.  Throw in VB6 banging against SQL Server and you have another big chunk of the littler stuff covered.

Many of the larger-scale enterprise automation burdens would be covered by uber-packages like SAP et al.  These too need the attentions of a certain class of specialist developer for customization and maintenance of customization, albeit not via extensive "coding" as we traditionally thought of it.

Then there are the rougher packages, more of a framework that requires a good deal of "real coding" customization.  Oracle peddles a number of these (inventory systems, etc.) as do many others out there in the package market.

Doesn't that cover the "commodity" space fairly thoroughly?

This would still leave a good chunk of work in a larger organization for "real" from-dirt development to meet more truly specialized needs.  True, after investing in a few of those commodities above a smaller company has about shot the budget for software.  Without some pressing business need I imagine they're forced to make do with an ill-fitting package instead or else simply do without.

Package customization often consists of mind-numbing routine worse than Cobol report programming back a few (or not so few) decades.  Other times it requires specialized knowledge of the package's guts that can be expensive to obtain.  This is probably where outsourcing and offshoring come in: a SAP or an Oracle or IBM has warehouses full of people overseas heavily drilled in their packages, whether by those vendors themselves or by opportunistic 3rd parties specializing in body shops.

Part of the problem is that decision makers often can't distinguish between some guy whacking out quicky Access applications and somebody producing fairly high quality applications in Access.  This continues further into other development that isn't based on RAD platforms like Access.

Unless you work in a specialized space like embedded software it becomes difficult to get much respect.

This is sometimes made even a bigger problem because "LOB hacks" are often moved into positions where a real developer is actually required.  Then you get funky, limping, perpetually broken applications - and very seldom THAT on a reasonable timeframe.  The custom web application space is rampant with these.  Stuff that doesn't quite work, works but had many of the requested features left out because "it's impossible," works but can't scale to handle the real world load, etc.

Just as you can't swing a cat without hitting a hundred VB or Java "programmers," every idiot thinks they know how to develop in ASP, PHP, JSP, etc.  This serves to tar developers as a class as expensive, slow, and incompetant.

If an outfit does hire a real programmer whether internally or as a contractor I think they view it as an anomoly of sorts and mentally write it off.  They seldom seem to reflect and consider the problem may be with their hiring practices.  Why do they think developers are that much different from musicians?  In both cases some strong combination of talent, education, experience, mentoring, and practice, practice, practice is needed to produce a competant practitioner.

Of course Joe MBA probably thinks his nephew has what it takes to be a musician too.  Why hire a guy who's paid his dues and proven his mettle?  Nepotism and cronyism are God-given rights, aren't they?

Just don't cry over the results and complain that developers are paid too much.  You bastards.

Drudy Mialnam
Saturday, July 03, 2004

I think there may still be money to be made in what I call "janitorial" programming. I used to make quite a tidy sum as a "Mr Fixit" - in one case, a contractor was fired 3/4 of the way through a project, and I was brought in to finish things up and get the app working (which it wasn't) one month before the Thanksgiving rush.

In another case, a client had paid a *ton* of money to Wipro for a voice-recognition telephony app which supposedly just needed database connectivity added, a "two weeks max" job according to the manager. Well, six months later after a total rewrite (and this case it *had* to be a rewrite - believe me, neither the client nor I wanted to have to do it), I finally had a working app (and a opinion of the quality of outsourced projects that I won't go into in this thread).

Michael Ealem
Saturday, July 03, 2004

Tayssir John Gabbour -
Has Paul Graham written anything about people paying for subscriptions to web-based software since his essay on his company, Viaweb?  Because that's based on experiences from quite a a while back.

Ethan Herdrick
Saturday, July 03, 2004

> "Why is software so expensive"? I haven't read the book, but I find its existence instructive. To me the question betrays the fact that: a) The labour component of our product is WAY too high


You sohuld read the book. DeMarco shows tat the cost of software is a bargain but the marketplace is accustomed to a lot of whining, complaining and not appreciating stuff for its value and programmers don't communicate or defend that value, but roll over and decry its cost as we have seen here, making them look like dogs to the management.

If software costed too much people would not buy it. It is simple as that and anyone who says otherwise is a fool.

Dennis Atkins
Saturday, July 03, 2004

> for most of what they do they can't find what they need at the Walmart's of bits and bytes

Ah yes, WalMart.

Did you know that all of WalMart's software development is done in-house? They were asked when they would outsource it and they said "never" because they claim that their software is the core of what makes them competitive.

But what do they know, they are only the largest company in the world.

Dennis Atkins
Saturday, July 03, 2004

Yeah, I could imagine outsourcing certain work, but once I've identified the core of what makes me or my business competitive, I'd never outsource it. Though I am surprised that Wal Mart attributes it's success to programming & not processes, slave labor, choosing good locations, and so on.

www.MarkTAW.com
Saturday, July 03, 2004

If he wrote more, I don't know about it; maybe googling could turn something up. I suppose he's more interested in Arc and combatting spam, than money nowadays.

Speak of the devil though, he claimed Walmart and McDonalds grew big by designing systems which could be reproduced all over the world. (McD franchises and Walmart stores.) By writing rules so precise that it's practically software. Write once, run anywhere. Seen in that light, perhaps Walmart's dependence on computing is more understandable. Or maybe it's just a cute metaphor which tickles me.

Tayssir John Gabbour
Saturday, July 03, 2004

Sorry, I was speaking to Ethan in that last one.

Tayssir John Gabbour
Saturday, July 03, 2004

>  the generous [programmers] gave [software] away for free, and the ambitious ones sold it.

Wow what a loaded statement that is. Let me try a hand at that game:

  "the moronic programmers gave software away for free, and the intelligent ones sold it"

> Windows comes with a word processor, web browser, email client, messenger, calculator, and a million other small useful utilities. Yet nobody's complaining about the existance of this stuff taking away possible jobs creating word processing programs and voice recogntion software.

Last time I checked you had to pay to get Windows and the million small utiliies that are included. You also pay extra on top of the OS to get the big word processors like Word even when they are bundled.

Dennis Atkins
Saturday, July 03, 2004

"I am surprised that Wal Mart attributes it's success to programming & not processes, slave labor, choosing good locations, and so on."

WalMart's process IS the product of their IT department - they are are one and the same. The knowledge of markets and pricing that their IT enables is what makes them filthy rich and they are aware of this. Outsourcing their IT would destroy their entire competitive advantage.

Slave labor is also available to WalMart's competitors - this is not an advantage they hold.

Choosing good locations is also enabled by their IT work.

Dennis Atkins
Saturday, July 03, 2004

Perhaps I'm just overly optimistic, but I think this whole discussion is a bit silly. Just as in other industries, certain *kinds* of programming will become 'commodity' and thus won't be worth much, either as sales or as something to employ people doing, while the edge of what is new and innovative will continue to move.

If you sit still and decide "I'm going to work on writing [UNIX-like operating systems, web servers, word processors, JSPs/ASPs, whatever] for the rest of my life", you're toast. At a certain point, the problem becomes essentially solved except for a few tiny markets, and the value-add is near zero.

On the other hand, I have an incredibly hard time believing *all* programming will just become 'commoditized'. What we do, as programmers, is create devices (programs) that manipulate information. To say programming will become commoditized is saying that there will be few or no novel ways of manipulating information that can offer large financial advantages to people. To me, that's hard to believe -- whether it's designing car engines, the aesthetics of new plastics for products, analyzing market data, or doing intense bioinformatics, the right type of information has historically been able to confer immense advantages upon those who have it.

Early in the industrial age, steam engines were new and innovative and could make you a bloody fortune. Now, they're absolute squat; we've moved on to, say, modern internal combustion engines, which, if you're GM and can design one that is 10% cheaper to build, can earn you millions and millions of dollars.

Bug tracking systems will become completely commoditized one day -- probably pretty soon. Web servers already have. But as each becomes commodity, new opportunities occur.

In the late 1800s, someone said that "everything that can be invented, has". Tell that to the 20th century. Honestly, seems like the same sort of thinking here -- I have a hard time believing it.

Midlands
Saturday, July 03, 2004

A 'generous' person gives to needy people, family and friends, and charitable organizations.

A stupid person gives away the sweat of their brow for free to big for-proift buisnesses.

Surely this is obvious.

It is a corruption of the word generous to apply it only to people who are so dimwitted the best idea they can come up with is to work for big profitable corporations for free.

Dennis Atkins
Saturday, July 03, 2004

"WalMart's process IS the product of their IT department - they are are one and the same. The knowledge of markets and pricing that their IT enables is what makes them filthy rich and they are aware of this. Outsourcing their IT would destroy their entire competitive advantage."

100% agree.  Many companies mistakenly think that because they don't sell software, IT does not provide a competitive advantage.

But the reality is often that their operations are so tightly tied up with IT -- that the difference between one company that can produce X widgets per employee and another that produces 2X is mainly due to the difference in their IT systems.

Or the reason why one company can bring a product from concept to market in 1 year while their competitors take 2 years is because the former has IT systems that are more flexible and can more easily support the development and distribution of new products and business rules.

T. Norman
Saturday, July 03, 2004

I work for a major company in a so-called "dying rust belt" heavy industry.  The industry, the company, and parts of my specific plant have all been operating for over 100 years.

Some of the "simple" products (by current standards) that we used to make did indeed become commodities. We tend not to make them anymore, and some of that business has indeed gone to developing economies, often (by the way) with sundry and underpublicized costs. We have, however,  been able to use our competitive advantages - expertise, infrastructure and so forth -  to add value in ways that benefit our company, our customers, and consumers at large.

Not a day goes by at our plant when our list of projects - the officially prioritized ones as well as the ideas that float around in our heads - isn't longer than we really have time for.

I'm not an IT professional, but I think both sides of this discussion have a point, and parallels to the industry I work in.  The innovations of a mere 5 years ago (!) are now the province of grunt-level code jockeys - no disparagement meant, as we all need to start out as grunts of some sort :).

But my goodness, as I sit at my computer and poke around the Internet, even I as an uninvolved layperson am  overwhelmed by the work that appears to need doing! Just to tame the chaos that currently exists! :p

(Sorry... :D)

Seriously, it just does not seem to me as though IT is a mature industry. Rather, the potential to apply computing to the endeavors of mankind seems almost mind-boggling.

Tracy
Saturday, July 03, 2004

Tracy--

Hear, hear.

To say that there won't be a market for software in 20 years is like saying all the problems that can be solved with computers will be solved--and solved well.

Even if we stayed stuck with today's technology, I think we'd still have new problems to solve 20 years from now.  Of course, we'll actually have a completely different tech and data infrastructure by then, and there will be opportunities to do neat stuff that nobody is even dreaming of today.

Who imagined the internet, 20 years ago, as it actually exists today?

Matt Conrad
Saturday, July 03, 2004

this discussion is happening far too early IMO, there is no danger of all software problems being solved....and even once they are, the solutions will inevitably present us with both new and better solutions and new and bigger problems.

also, every solution needs to be adapted as required to each separate problem domain, and the # of problem domains are growing.....even the best solution for a particular domain depends on the specific circumstances of that domain.

<g> run out of software problems?  its more likely that we collapse under the load.....every good computer professional I know is overworked, not underworked.

FullNameRequired
Saturday, July 03, 2004

"To say that there won't be a market for software in 20 years is like saying all the problems that can be solved with computers will be solved--and solved well."

Who said that there won't be a market for software in 20 years? Saying that a large percentage of software developers will be doing something entirely different in 10 years doesn't mean that there won't still be a credible number of people working on making a better browser or a cool image recognition app.

Having said that, the cold, hard fact is that the _vast_ majority of software developers work as corporate developers, developing in-house proprietary solutions for large corporations. Increasingly they are finding their task marginalized to simple "customization" of off the shelf packages, and there is extremely little growth (and in many cases the headcount is steadily reducing).

While the-other-Dennis mentioned Walmart earlier, it should be noted that Walmart is an extreme exception, not the rule -- most businesses define their strengths by a core value of their particular business, be it good quality suits, great life insurance products and service, or gidgets that are made to last. Many, or rather most, of these firms see IT as a commodity, and they're perfectly willing to use the same system that all of their competitors use (and indeed it is a competitive disadvantage not to - paying millions on putting together your own system when the rest of the industry is buying a more polished, feature packed System X is counter-productive. In general the retail field has whittled down to just a couple of standard POS/backoffice apps, for instance). How many corporations make their own operating system? Does Walmart?

The natural conclusion is that many organizations are going to spin off IT where it is not a core competency, and much of that IT will be centralized. The number of people working on software, at least for non-IT corporations, will steadily decline. Perhaps other markets will take-off and absorb the impact, but it can't be ignored that the bread and butter of IT is going to get a little stale for a while.

Dennis Forbes
Saturday, July 03, 2004

> How many corporations make their own operating system? Does Walmart?

OT basically, but I think so... didn't WalMart have a custom version of Linux designed for their store brand $299 computers?

Dennis Atkins
Sunday, July 04, 2004

No, Walmart sold PCs with "Lindows" on it. That project began outside of Walmart, and was only tenuously associated with them.

Dennis Forbes
Sunday, July 04, 2004

OK.

"The number of people working on software, at least for non-IT corporations, will steadily decline."

I don't know about that. Do you mean that more and more firms will consider themselves IT rather than non IT?

The number of people working in the field will certainly increase. Likely salaries will be quite low and most of those jobs will be overseas, but the number is going up. It's certainly not true that all important problems are being solved and fewer tech people are needed. On the contrary, the more problems that are solved with IT, the more IT people are needed.

Look at filing. It used to be done by secretaries. Now it is done using computers. The number of computer people and their salaries greatly exceed the number and cost of secretaries in the past. Part of this is due to the fact hthat now that the data is on the computer, it suddenly seems necessary to sort analyze and visualize it in a million new ways.

Dennis Atkins
Sunday, July 04, 2004

Dennis wrote: "Look at filing. It used to be done by secretaries. Now it is done using computers. The number of computer people and their salaries greatly exceed the number and cost of secretaries in the past. Part of this is due to the fact hthat now that the data is on the computer, it suddenly seems necessary to sort analyze and visualize it in a million new ways."

Somebody probably said this when they dug the first coalmine. 'Hey, I used to get a penny a lump for coal that I picked up of the beach and these guys are getting ten pennies a day for digging it out of a hole.' The point is the volume of coal extracted, its quality and reliability supported a whole set of new industries which justified the mass-extraction infrastructure.

The development of the computer as a tool has removed the secretarial/typing-pool bottleneck and associated quality issues, made information massively fluid. Information as a commodity now supports an industry which didn't exist in the days of the typing pool. That is why the cost of IT is more than the cost of typists and secretaries: if the cost is 10x the revenue generated is 1000x.

WoodenTongue
Sunday, July 04, 2004

You cannot equate writing software to typing your own documents which was once a skill performed by secretaries. Typing is conceptually easy.  Everyone was taught how to write but not everyone to type. I am a touch typist because I learned it in high school. I think about typing as much as I think about breathing.

It would be folly to argue that programming will become like typing. Typing is a fixed, repetative skill. There are twenty six letters in the alphabet -- no more, no less.

It is great progress if the conceptually easy software will be done by the domain experts (doctors, lawyers).  It leaves the software that is challenging to write.

The quantity of IT staff will decrease over time, but not disappear. The hardware *should* become easier to manage, but to do this requires much programming; which illustrates a bit of an industry shift.

sl
Sunday, July 04, 2004

Yes. I think a lot of what we now call custom programming will become specialised domain disciplines and will be claimed by those domains, for better or worse. It will then acquire specialist titles.

This has almost happened now with financial computing. Law firms will pretend designing legal databases is very complex and give it a high sounding name and charge a lot for it. Medical computing is already half way to being a discipline.

Civil and mechanical engineers already do a lot of their own software design. Scientific computing jobs often like to hire domain experts.

The net effect of all this will be, I think, that programming and software design will become just a low paid service job to the domain experts, except in specialist software firms.

Double .
Sunday, July 04, 2004

I also fix lawn mowers and build little bridges to cross the streams behind my house.


Sunday, July 04, 2004

You've got streams behind your house? Many, you're living. Really, I would love streams in my backyard.

Double .
Sunday, July 04, 2004

Here's a great conversation on this topic:

http://c2.com/cgi/wiki?CommodityProgrammers


Monday, July 05, 2004

Another thought:

Yes, in-house IT development is likely to become far less common. I look at it as an exact parallel to farming: a hundred -- better yet, a hundred and fifty -- years ago, practically everybody, by today's standards, was a farmer, or at least did some farm-type work. As things evolved, 'farming' became less something everybody did, and more something that fewer, more specialized people did. Today, you have giant agribusiness, which, warts aside, is just ridiculously more productive than farms were 150 years ago.

It's a good thing that IT is getting specialized. Specialization is, fundamentally, the root of productivity in an economy. It leaves us to invent better solutions more quickly.

Midlands
Monday, July 05, 2004

No, it's actually a pretty dumb conversation. It confuses commoditisation with quality.

Double .
Monday, July 05, 2004

In fact, that Wiki entry is a good example of the very thing it think it's arguing against.

The writer, apparently a programmer, seems to condemn concerns about income and about commoditisation. Dicks like him will indeed rule the occupation in the future, slaving away at $10 per hour while their masters congratulate them on being "master programmers."

Double .
Monday, July 05, 2004

>> "As things evolved, 'farming' became less something everybody did, and more something that fewer, more specialized people did. Today, you have giant agribusiness, which, warts aside, is just ridiculously more productive than farms were 150 years ago."

I don't believe that farmers ever were 'specialized people.'  It was advances in agricultural machinery and other farming related technology, animal housing for example, along with the industrial revolution where people found working in a factory could earn them more money with less work (i.e. only 8 hour days) that drew people away from the farm.  It wasn't that farmers all of sudden went to school and became 'specialists' or that there were a 'chosen few'.

Very few farmers that I know hold more than a high school diploma.  They carry their knowledge from growing up on a farm.

To me at least, the word - specialization does not go well with the word - farmer.  There would be more farmers today if the overhead of running a farm would not be so great.

1
Monday, July 05, 2004

"It would be folly to argue that programming will become like typing. Typing is a fixed, repetative skill. There are twenty six letters in the alphabet -- no more, no less."

But that's not the way it started. First you had Scribes - specialists. What they did was far more elaborate than writing as we know it today, with lots of things that weren't essential to the process. Now most adults can read and write. And most children in the "developed" world can type. Programming (as a purely technical skill) is going the same way.

But most people who can read and write aren't published authors. They don't write for a living. So there will still be a niche, probably (according to Clayton Christensen) in an adjacent stage of the value chain:

http://www.tensilica.com/HBR_feb_04.pdf
http://tim.oreilly.com/opensource/paradigmshift_0504.html

MugsGame
Monday, July 05, 2004

Totally agree with you, MugsGame.

There is a big difference between doing something and doing it well. People who can do something well will always be in demand at a premium.

And unless I'm missing something (since I'm not a programmer), programming is more like reading and writing than it is like typing.

Typing is more like riding a bicycle. Assuming you're old enough to have the motor skills, you can add on the bike-riding part reasonably easily. Acquiring the basic motor skills in the first place is the difficult, time-consuming part although for obvious reasons we don't think about it that way.

Learning to read and write comes more easily to some children than others, but it's still a difficult and time-consuming basic skill to acquire. Once you've learned it, though, adding on the typing part is relatively simple.

Learning typing is also, as someone already pointed out, self-limited. It does not broaden and deepen at a dizzying rate of speed like programming does (or even application software, for that matter.)

Typing is also hardware based, and the hardware paradigm hasn't changed very much in a very long time. Rip Van Winkle, who went into a coma while hunched over his Underwood, could probably sit down in front of Notepad and manage to put words on the screen, assuming somebody else had the computer running and a blank Notepad opened up.

The world is full of hardware models that haven't changed beyond recognition or usability in many many decades. Automobiles. Washing machines. The kitchen stove. Land-line phones. Electrical outlets and most things we plug into them. The biggest "format incompatibilities" that most people have to deal with in their non-computer lives are manual vs. automatic transmissions, and gas vs. electric stoves.

Software also brings its insides, outside a lot more than almost anything else. You can drive a car without being an auto mechanic. You can watch television without the slightest clue of how the picture gets to the screen. It's almost impossible, however, to use a computer without knowing something about RAM and the difference between .txt and .doc.

Unless and until that complexity goes away, rather than getting worse as fast as it gets better (computer complexity seems to move in opposite directions at the same time), we're going to need people to help us with it.

Tracy
Monday, July 05, 2004

Tracy, with all respect, you don't have a clue what we're talking about.

>  It's almost impossible, however, to use a computer without knowing something about RAM and the difference between .txt and .doc.

Double .
Monday, July 05, 2004

*  Recent Topics

*  Fog Creek Home