The death of programming as an occupation

I’m trying to evaluate a statement my dad told me recently, which I have a very hard time believing:

“20 years from now computer programming will be greatly reduced, because there will already be 30 office applications, and most of them will do everything anyone would ever need.”

That’s a paraphrase, of course, but his point is that you eventually reach the end of what you can build, because you’re only limited by your imagination, and not waiting for materials science to catch up with what you wanted to build, but couldn’t.

This all strikes me as terribly shortsighted, as it’s impossible to imagine what you haven’t imagined yet.

Comments?

“The world will never need more than 4 or 5 computers” - head of IBM, 1950.

“I can’t see why anyone would want more than 640k of RAM” - Bill Gates.

Many or the big software companies, Oracle, Microsoft, etc., have been moving their major developments overseas, particually India. There will always be a need for computer programmers, to program database specifics per customer needs for instance. But the tools are getting so good these days, and the computers so fast, it doesn’t take a genius to write an application anymore.

I think your father is mistaken. Programmers will be around for very long time. There will always be new ideas and folks who want to see those ideas implemented. Plus, there are plenty of programmers out there burning the midnight oil and coding up their own ideas.

30 applications that run on intel pentium processors… there will be a need of them that run on sexium processors (please please please call them sexium processors), and on biogenic computers made of squid and computers built into frenchfrys and whatever else.

they have been building bridges for a skillion and a half years, bridge designers haven’t gone unemployed as of yet. we got all the details down mathmaticly to a science but you still need someone to design on for “this pit” and “that river”.

Who’s going to add new features to the office applications?

Who’s going to teach Clippy how to do the Space Mambo 2020 when you start typing a business letter?

What everyone here is saying. Or in other words, in my experience the more capability the off-the-shelf software has, the more the users expect of it, so there’s always work that needs to be done.

On the other hand, I think the nature of the work is changing as companies shift to packaged solutions. In house IT staff often finds itself configuring, installing SW that was developed by someone else, much more than used to be the case.

The first quote is from IBM chairman Thomas Watson, but dates from 1943.

The second quote appears to be an urban legent. At least, that’s what Wired seems to think.

But, I agree, there will always be a need for programmers. Because:
a) Better hardware will create opportunities for novel implementations of existing concepts.
b) Researchers come up with new concepts, algorithms, etc. daily. Someone needs to make those ideas usable.

Office applications comprise only a small fraction of all code being written. Computers are becoming more and more ubiquitous, and I don’t see this trend changing soon. That obviously means that the need for programmers should increase, rather than decrease.

Actually, I might have gotten this wrong: the second is not and urban legent, but it does seem to be an urban legend.

History has shown a couple of trends:

-Use of technology to automate dangerous or tedious tasks
-Use of technology to standardize tasks that require a great deal of specialized skills

In a sense your dad is right. Much of the customized programming of the past has been replaced by standardized ERP packages like SAP, Oracle, or JD Edwards.

In another sense your dad is wrong. As computer programming becomes more standardized and more object oriented, it will allow more people with less training to perform technology related tasks. Much in the same way as factory automation has allowed a high school kid to perform work that previously required a highly trained and skilled (and expensive) machinist or how MS Office has replaced what used to take an entire secretary pool.

You are talking about gigantic MNC here - who else can afford SAP, Oracle, and JD Edwards? But really, a lot of these ERPs suck because they are inflexible and you are forced to do things their way instead of yours. So even many large companies want custom jobs anyway.

And there are SMEs which are far more numerous than any large corporations.

Then this is just one facet of programming. Now who will write all those games? Who will write more utilities? Who will write operating systems and compilers? Who will program the controllers in air conditioners, microwave ovens, telephones, etc., etc.?

Programmers won’t disappear, but the percentage of computer users who program will continue to shrink, and more and more “programming” will be stitching together applications.

And, as mentioned, most of it will be done in India or China.

Look at the ads in Computerworld. How many of them are for program development tools, and how many are for apps?

If I were starting out, I’m not sure I’d major in Computer Science again, and I’m glad I didn’t specialize in programming related areas when I did. It’s far better to be an expert on something and know how to program than to be just a programmer.

Think about software for consumer electronics devices such as MP3 playeres and DVD players, telecommunications equipment (phones to routers), automobiles and aircraft and it is easy to see why programmers will be around a long, long time. I have absolutely no evidence to back this up, but I would guess that most programmers do not work on PC applications. I’d guess that at least 1/2 work on embedded software which many don’t realize is software controlled.

There will be people doing equivalent work of some sort. Object Oriented programming was supposed to make all but one programmer redundant, 'coz that person would be so productive there would be no need for the rest of us. Didn’t happen.

Of course when Wintermute comes along it’s all over.

au contraire. While these companies all have some presence in India and overseas, the main dev centers are still primarily in the US. It’s companies like GE and Citigroup that outsource a lot of their programming overseas.

I’ve been in the business 20 years. Every so often I hear about a great new killer app that will do away with my job. I once had an old professor tell me that he had just been at a conferance and he had seen software that would write software - and would do away with my job in 5 years. That was in 1994. A few years later I was told that CASE tools would replace me.

Programming HAS gotten easier in many cases. But I’m not worried for my job right now.

We haven’t hit the end of Moore’s Law yet (which is, very roughly, a description of how computing power / electronics density is constantly increasing).

This means we’re still producing bigger and badder processors - well, smaller and gooder - er, more powerful - anyway, I think you know what I mean.

Linear increases in processor speeds are fine, but every so often, to get a big jump, you change something in the architecture and instruction set. And then, guess what?

The operating system needs to be rewritten (or at least, updated). That’s programming. Then the applications (the same ones your Dad describes) need updating or redoing, to take advantage of the latest features and performance.

And that’s just talking about basic office software - spreadsheets and word processors and so forth. Those don’t change a whole lot to the user (even if the programmers have to put a lot of work into them). But there are whole other classes of software out there:

Lots of industry specific software. I’ll pick my industry: there are a lot of design tools out there for computer chip design. And as I was just talking about Moore’s Law, the designs they have to handle get bigger every year - which means whole sets of new design tools or rewritten tools to handle that. Other industries, even when they don’t move as fast, also have specialized tools.

Games - how can you look at software, and not see all the games out there? Have you seen how many shelves of games there are for each shelf of office applications in a typical computer store? This is a big consumer market, and one where the competitive advantage is not in having a product that looks just like last years (as office products), but instead in being different. Now, I’ll grant you that this is a volatile and uncertain market, and not always a big money maker for all, but it is a significant market as a whole.

Then there are whole classes of applications that come into being every time a new tech variant comes out. You can write DVDs now - so we need DVD R/W drivers, software that lets you edit your movies, record off the TV, etc. When MP3 personal players came out, so did software that let you interface those with your computer. Digital cameras. Etc. Next year’s big tech toy will need software tools to interface it with your home computer.

I don’t think programming will go away (on a world-wide basis) anytime soon. A far more real danger will be the offshore flight that several people talk about above, or the number of qualified programmers relative to the number of projects. But programming as a whole won’t go away as long as we have things to program.

True, but even with the custom jobs, it does not take a great deal of computer knowledge to make someone a competant PowerBuilder or Visual Basic programmer. The point I am making is that for a lot of situations, companies don’t need to hire expensive computer experts with masters in engineering and 10 years of experience. They can bring in an Accenture or IBM with their army of college grads with several weeks of JIT training to develop the business systems for them.
Basically, I believe there will continue to be demand for highly skilled professionals who create easy to use applications that automate the workplace

Companies will continue to outsource their back office operations so they can focus on their core competancies.

Basically, companies consist of the following:
-Decision makers
-Automated systems that support decision making
-People who implement and maintain the systems
-People who do work that can’t be done by a computer

The people who implement and maintain the systems are going to need to know more about the business. They will have to go from being computer experts who know about an industry to industry experts who know computers.

People who don’t know technology and are in positions like middle manager/supervisor, filer, bean counter, procurement guy, or any other position whos job it is to basically push papers and reports and other information up and down the ladder who have the most to be concerned about.

I can’t really address the (a) part here, but my job is firmly in the (b) part.

My programming career has been spent creating applications that perform specific mathematical and statistical functions, typically based on new research and new publications.

While there are massive mathematical and statistical applications (matlab, mathematica, S+, SAS, those kinds of things) there is always going to be something they can’t do yet.

Also, until I become a very good “applications programmer” (which will NEVER happen) there will be a need for those types of programmers to help me implement my solutions in a way that users can, well, use.

Anyway, I like to think that my type of programming will always be in demand.

Furthermore, just like everything else, programmers will always create new products, and then marketers will create a need for those products. But that’s just business.