28

I wonder why programming jobs haven't yet "dried up" because of the software evolution. For example, I am a developer myself, which means that I do care about software (I mean I am not of the type of guys that needs a computer mainly to just browse the Internet), and still I wouldn't mind if I never receive any more updates on my Ubuntu machine.

I find that it provides everything I need, and while the updates provide various bug fixes/improvements, I wouldn't mind using it with its current state for the rest of my life. For two years of Ubuntu usage I have never bumped at a serious bug/problem.

Another example is Windows. Almost half of its users still use Windows XP, which is practically ancient, yet they find it satisfying for all their needs (and I agree with them).

I could go with many more examples, but by now you are understanding my point and my question. While new "trends" appears all of the time (like a new mobile OS) which runs on new platforms and requires some fresh development work, still the majority of the software effort goes in to what I consider as "completed projects", or at least a state of a project which is enough to be considered as completed.

Do you have an explanation?

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
jd_505
  • 127
  • 1
  • 3
  • 4
    I used to think that Facebook and cell phones were useless :) and I still do. By the way, I think the reason why is that humans get bored easily. You, btw, are not human. – Job Feb 19 '11 at 03:28
  • 9
    Why aren't those XP users using 286s running DOS?? – Edward Strange Feb 19 '11 at 03:49
  • 3
    @Crazy Eddie There is a BIG difference between a 286 and a dual/quad core at 2.5GHz. This difference is the "completed" state. The difference between a quad core at 2.5 and a 32 core at 6 GHz is irrelevant. You don't need (won't have a practical usage) of a car that can go up to 2000 mph – jd_505 Feb 19 '11 at 03:53
  • You might not, but I would. – Edward Strange Feb 19 '11 at 03:54
  • 4
    Nope, it doesn't matter if your car can go up to 1000,2000 or more mph, you still won't find a way (a road) to fully utilize it's potential – jd_505 Feb 19 '11 at 03:56
  • @jd Improvements to cars today isn't about getting them faster, it's about getting them more fuel efficient. – chrisaycock Feb 19 '11 at 04:04
  • @chrisaycock your analogy is not pretty much in the context, as the car analogy came because of the 286s/quad cores hardware talk, not a talk about lower energy consumptions of the hardware. Anyway, I see your point on this, I am just noticing. – jd_505 Feb 19 '11 at 04:12
  • 1
    @jd_504: As someone who does a lot of scientific computing, I can say that the difference between a quad core processor and a 32 core processor is very, very, relevant. As is the fact that a lot of software I use is not able to exploit those additional resources. Hence a need for more busy programmers. – Sharpie Feb 19 '11 at 07:24
  • @jd Your vision of what you will want to do with a computer tomorrow is likely highly accurate, what you'll want to do with it 2 years from now is fairly accurate, but I assure you that you have absolutely no idea what you'll actually want to do with your computer 10 years from now, much less 20, and certainly not for the rest of your life. Just because you don't understand why your existing system will be miserably slow/big/memory-constrained/energy-hogging/poison-filled/whatever doesn't mean you'll actually be satisfied later. Software pushes hardware pulls software pushes hardware pulls.... – Matthew Frederick Feb 19 '11 at 09:01
  • 4
    @jd_505, just because you cannot imagine it, it does not mean it is useless. –  Feb 19 '11 at 09:20
  • 1
    @Crazy Eddie: What's wrong with DOS? :D – back2dos Feb 19 '11 at 11:21
  • Skynet is not here yet. Until Judgement day, programmers will never be out of work. – Qyuubi Feb 19 '11 at 16:21
  • 1
    @QH7 pfft, and when that day comes, the programmers will be the renegade, hacker saviours of the world! – James Love Feb 19 '11 at 22:59
  • Damn! Send me the secret to living off of Ubuntu and Windows. I know for sure they don't support my needs. Broaden your horizons, the world doesn't revolve around your Ubuntu system. – aqua Feb 20 '11 at 03:17
  • Hardware keep on changing with new ideas and inventions so will the software which will keep on generating need of developers. – Kalher Oct 27 '13 at 08:42

18 Answers18

33

There are billions of unfinished problems in the world. Not to mention human greed which needs new tools to satiate its fancy everyday.

If you really think there are no pending problems left, try solving some of these:

  1. Software to help people communicate on a mass scale when hostile governments switch off telecommunication networks.
  2. Software for food and other essentials distribution system that inherently plugs system leakages in countries like India and Uganda.
  3. Software that makes the differently abled enjoy a much better quality of life.

I hope this gives you some perspective.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
Fanatic23
  • 7,533
  • 4
  • 31
  • 56
  • 1
    Point 1 can only be solved with hardware. – Thomas Stock Feb 19 '11 at 19:53
  • 2
    Software might be of some help to the "differently abled", but not much, I'm afraid. I'm a polio survivor, and the main thing software's done for me is give me an occupation I can do at home. – Mike Dunlavey Feb 19 '11 at 20:52
  • 1
    @Thomas: Without enabling software silicon doesn't make a difference. You already have the hardware here, but the software needs a lot of work once it chooses whom it should serve. – Fanatic23 Feb 20 '11 at 04:15
  • @Mike: Text-to-speech for the visually impaired? – Fanatic23 Feb 20 '11 at 04:16
25

As a counter-example, take the flower shop up the street. Their experience with software might go something like:

  • Install some accounting software - much better than paper ledgers
  • Set up company email
  • Put up a little brochure web site since everyone else is
  • Add a POS system
  • Add a simple customer ordering form to the web site
  • Buy a simple CRM tool to manage corporate customers
  • Integrate with national and global sales networks to accept sales the didn't originate from your site
  • Integrate company email and CRM
  • Add special ordering tools for repeat customers online
  • Advertise for delivery drivers online
  • Get flowers cheaper by agreeing to use a distributors ordering software
  • Get employee benefits cheaper by managing benefits online
  • Apply for required government permits online
  • Do simple background checks for new employees with software tools
  • Have a consultant build a bridge between your inventory system and the distributor so weekly orders are placed automatically
  • Pay taxes electronically
  • Add GPS devices to your delivery vehicles that can be tracked from the office.
  • Use mapping/routing software to design optimal routes for delivery
  • Browse industry data to make sure you're performing as expected
  • Add package tracking to the online customer tools
  • Spread your web presence using social networks and ratings sites
  • Offer a little free mobile app for ordering and checking order status (mostly for big customers).
  • Manage rewards programs for your most loyal customers with software
  • Integrate accounting, inventory, customer ordering, order tracking, and distributor ordering
  • Acquire new customers with Groupon promotions
  • Update all of these systems when necessary

For such a simple business, that's an awful lot of technology and none of it seems too ridiculous today (I doubt the little flower shop up the street is doing all of this, but I'm sure we'd be surprised.). Someone has to build all that software.

I doubt the flower shop could have predicted they would need so much technology, just like we can't predict the technology that will be available tomorrow.

Corbin March
  • 8,104
  • 3
  • 37
  • 39
12

Why do car companies seek to improve their design when any vehicle from the past decade would suffice? Why would a coffee shop search for new roasts when their current blend is already satisfying? Why would a fashion designer create new clothes when what we're all wearing is more than enough?

While there might be good enough, there is no best---only better

And anyone who takes pride in his work is always looking to improve, to sharpen the tools, to seek perfection. That's what drives scientific progress, that's what inspires artists, that's what motivates entrepreneurs. No best, only better.

chrisaycock
  • 6,655
  • 3
  • 30
  • 54
  • 1
    I agree on the improvement part, but do you have an explanation on why the demand is actually rising (more people are needed), considering that we are at the "good" state already (which is the biggest % of the product), and we need only some improvements? It is more work to create a car design compared to just make a few adjustments between the 2008 and 2009 model. Could it be because of the legacy code, because the bigger they are the harder to upgrade/maintain they are ? :) – jd_505 Feb 19 '11 at 03:35
  • @jd Were we in a *good* state before Facebook? Before Google? There's always something new that can be created. And you are correct that there's a lot of maintenance required for software too, though I see those jobs as a temporary fall-back when more ambitious career goals take a hit. – chrisaycock Feb 19 '11 at 03:45
11

People keep thinking up new things to do with computers, and hardware keeps evolving to let you do things you couldn't do before.

It's hard to know where to begin, but let's take watching TV as an example.

In October 1965, if you wanted to watch "I Dream of Jeannie", you had to turn on the right station, at the right time. There were no other options: you couldn't record it or buy it or anything. And if you missed it, well, too bad. Maybe in a few years, they'd syndicate it and (if you were lucky) you could catch the show you missed sometime in 1970.

Oh, and in 1965, nobody had a computer except corporations and universities, they were usually at least as big as a small car, and involving a computer in TV playback was purely a sci-fi notion.

By 1996, you could buy "I Dream of Jeannie" episodes on VHS, which you could then play on a VHS player that might have an embedded CPU, and a CRT TV which might also have an embedded CPU, which of course somebody had to program. There were devices you could use to capture the video output from your VHS into your computer, but the consumer-level hardware horsepower back then was so low, you could suck down a huge chunk of a state-of-the-art hard drive with one episode, and then you could only play it back in a little teeny window on your screen.

In 2006, they started releasing "I Dream of Jeannie" episodes on DVD. When you played them back, your DVD player and flat-screen TV both required an embedded CPU, both of which somebody had to program. Or, of course, you could play the DVD on your computer, which somebody had to program to do it.

Shortly after the DVD releases, people started ripping the DVDs using DVD-ripping software that somebody had to program. And then they edited the rips into clips (using non-linear video editing software that somebody had to program), and used their browsers (which somebody had to program) to upload their videos to YouTube (which somebody had to program) for other people to view in video playback browser plug-ins (which somebody had to program).

Now, you don't even have to rip the DVDs! You can use iTunes (which somebody had to program) and go to the iTunes Store (which somebody had to program) and purchase and download 140 different episodes of "I Dream of Jeannie", which you can play back using software on your computer (which somebody had to program)

While I haven't checked this, I strongly suspect you could also take those iTunes versions of "I Dream of Jeannie" and play them on your iPhone or iPod Touch, which, of course... somebody had to program.

And I have absolutely no idea where "I Dream of Jeannie" is going to turn up next. Maybe on my wristwatch, or on some kind of wearable fabric, or projected onto the lenses of my glasses. But wherever it turns up, somebody will have to program it.

Office apps? Meh. I'd be perfectly happy still using Word 5.1 from the early 90s.

But everything else? I've been programming for 40 years now, and I expect the market for programming work to just keep growing and growing.

Bob Murphy
  • 16,028
  • 3
  • 51
  • 77
6

Because our endless hunger for useless crap we already have must be satiated.

Also, without the software industry driving the need for faster and faster computers there'd be no need to do hardware upgrades. THEN where would we be? What would all those electronics garbage recycling towns in China do? The mountains of toxic trash would soon turn into nothing but hills. We simply can't have that.

Edward Strange
  • 9,172
  • 2
  • 36
  • 48
  • "software industry driving the need for faster and faster computers" - software industry? Erm no, the demand is from people – Rocklan Oct 27 '13 at 12:50
5

Ubuntu and Windows XP are still sufficient because operating systems, and desktop software in general, have become less important. So many things, stuff we wouldn't want to miss, happen on the web, like this site, Facebook, and YouTube. That's where new software is built. A lot of exciting stuff happens on smartphones and tablets, another domain where a lot of programming happens.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
user281377
  • 28,352
  • 5
  • 75
  • 130
2

Developers for mobile and social applications seem to be in high demand. Startups are all over the place and for Ubuntu and OS's, there are always bugs - nothing is complete. As long as someone has an idea, they'll need a developer.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
cmcd
  • 121
  • 1
  • 2
    I think that the % of developers working on mobile/social apps is rather small. Most of the developers, on a global scale, are working for big enterprise companies or "local" small companies devoted to a certain product related to their country's business situation. – jd_505 Feb 19 '11 at 03:45
2

In your post, you mention two operating systems (Ubuntu an Windows XP), stating that their users are predominantly happy with the OS's current form.

Ubuntu and Windows XP the result of the culmination of thousands of ideas.

Many of the ideas (whether it be placing the Start Menu at the bottom left corner of the screen, or designing Microsoft Excel) have been so thoroughly developed. Yes, it's true that they might've reached the satisfying state, but think about what our current software, and software-engineering ideas, will lead to in the future.

Our needs and wants are evolving with technology. We want to utlise technology to its full potential. Ubuntu and Windows Xp are just a mere stepping stone (or milestone) in an on-going process.

J.K.
  • 13,063
  • 1
  • 40
  • 56
2

For applications and systems that people actually use:

Software begets more software.

In the form of:

  • New features
  • Bug Fixes
  • Competitor businesses and applications
Jim G.
  • 8,006
  • 3
  • 35
  • 66
1

The thing with software is it will continue to evolve with and beyond the hardware that it operates on. Currently we are only writing software that is.. pre-programmed to a certain level and this will still be many more years before humans in the majority are writing "AI" software.

When you look at something like Google compared to something like the software that is used to operate a touchscreen interface in a vehicle, you can see so many gaps in the technology.

Until we have software that is able to expand and develop itself in a forever changing physical and intelligent world.. We'll have plenty of work to do..

Edited.. When a new technology or concept comes along, a lot of existing software is instantly out of date and the majority in that genre needs to be re-created/published. Say in two years we make the major break through with using a computer by mind/thought interfacing.

Even though you can make a simple plugin for most operating systems to translate a thought/command into keyboard/mouse operations.. This still is limited and a bad way to approach it. Technology will always advance and we have no idea what will be available in 12 months little alone 10 years.

Wont even start on quantum computers

Angry 84
  • 101
  • 3
1

18 years ago I was sat in front of my school's new 286 computer in the library using Windows 3.1. It was cool! Far better than the old BBC micros... But I was completely oblivious to what I'd be sat I'm front of 18 years from then, who would have had any clue about what we'd be using today? I don't even think I new what the Internet was back then...

My point is, I don't think many of us have the vision or imagination to even guess what computers will be like in 18 years from now. Computers are evolving and getting better all the time, needing constant development to make that happen.

At the moment you THINK your happy with Ubuntu, but will you still be using it in 10 or 20 years time when everyone else is using their new super Hokey Cokey 5000, or whatever it's going to be called?

BG100
  • 306
  • 3
  • 7
1

Problems may have solutions, but there is always room to optimize the solutions. The more heavily the solution is used, the more of a difference that even a small optimization can make.

This may seem like an abstract point. But it is not. For instance one of my skillsets is A/B Testing. I can tell you from experience that a successful A/B test very rarely introduces major new functionality. But a small wording change can cause 10% more people to sign up for your website, which can mean millions of dollars of in additional revenue. It is a difference so small that few will ever notice. Yet it is a significant improvement, and the prospect of possibly finding such will pay a lot of salaries.

Furthermore businesses constantly are changing. A surprising number of changes require changes to how they operate internally. Also over time they identify internal inefficiencies that better tools would alleviate. This constant churn and optimization is real work that requires real people to do it. A lot of that work needs to be done by people who can program. (This is actually where most programmers are employed, doing internal stuff within businesses.)

Furthermore the trend is that over time it has become easier for programmers to do our job. The easier it is for us to do our job, the more kinds of things there are that it makes sense to have programmers write programs to do. And the more programmers we find ourselves needing. How long can this trend be sustained? I don't know. But it has been going on since the late 50s, and shows no signs of slowing down.

btilly
  • 18,250
  • 1
  • 49
  • 75
1

The amount of information out there grows exponentially. You could expect tools for gathering and organizing it, now you can expect tools to filter it out for your specific needs.

Software follows social trends and needs, and as information is becoming more and more of social and industrial factor, demand will not decline. Forms of information are countless, its uses expand constantly, software development is long ways from becoming extinct.

etranger
  • 201
  • 1
  • 7
1

You could interpret the purpose of computers (and the applications running on them) to something as narrow as optimizing processes.
Doing so, you will see, there is very much room for improvement and there will always be.

Also, the vast majority of all computer applications is horrible, when it comes to usability, reliability, features and performance (or at least on a number of scale). While there are few applications, that are slowly improving in quality, the average is plumetting at an alarming rate.
One other reason, why there is still so much programming work is poor design and crappy implementation. Jeff Atwood made a post on this you might find worth reading.

back2dos
  • 29,980
  • 3
  • 73
  • 114
1

Software just allows us to express solutions to real world problems. Given that there will always be new problems to solve, there will always be the need for new software and therefore there will always be work for developers.

John Channing
  • 341
  • 1
  • 4
1

As far as I'm concerned, we're not finished until we can make one of these.

But more seriously, there are many on-going problems in computer-science that still aren't solved, or aren't anywhere close enough to "good". These things include image recognition, natural language processing, speech recognition, and lots of other "fuzzy pattern recognition" type problems where humans usually excel but machines fail badly. The state of AI is pretty pathetic, compared to the ambitions of the 1960s. All in all, there's still quite a bit of work to do and a lot of room for improvement.

By the way, even Ubuntu could use some improvement. Flash support on 64-bit sucks.

Charles Salvia
  • 7,342
  • 1
  • 35
  • 33
1

I guess I look at it in evolutionary terms. If society were static we'd eventually figure out how to meet our real needs, and that would be fine.

What drives evolution is challenges, often very bad challenges, such as nature or bad people deciding they want to take what we have and/or murder us. We have to think of new ways to overcome this. That generates a demand for new technologies, including software. The desire for entertainment also creates an insatiable demand, witness everything from the Roman circus to modern media, but that's just for fun. Real challenges come from things like hunger and danger.

Mike Dunlavey
  • 12,815
  • 2
  • 35
  • 58
-1

There are always new applications, new problems to solve, and new platforms.

James McLeod
  • 7,613
  • 4
  • 21
  • 34
  • 1
    I am asking this because as I see it it is exactly the opposite, all problems (that a user may need to solve using a computer) are already solved. New applications are rarely introduced (at least successful ones, for example MS Office / OpenOffice are still the best solutions for managing the "office" work). New platforms are introduced all the time, but they capture a small % of the total developers around the world. – jd_505 Feb 19 '11 at 03:22
  • 3
    Many new software products don't solve problems per se (Facebook, Farmville, Twitter, etc). – James McLeod Feb 19 '11 at 03:27
  • 3
    And computers have uses which go far beyond the home consumer (industrial, commercial, medical, etc). – James McLeod Feb 19 '11 at 03:28
  • I am not speaking only for the home consumer, for example the software at an airport has what it needs (obviously planes aren't crashing all day long), and it has it for many years. Anyway, since I am asking this question I am not completely certain that I am right, maybe I am wrong. – jd_505 Feb 19 '11 at 03:31
  • @jd_505, but "black boxes" are sooooo 70s. The airline industry needs something better. Also, as more planes wish to take into the air, they might have to change software. However, the bigger drivers for innovation are porn, movies, music, entertainment ... healthcare. – Job Feb 19 '11 at 03:45
  • @Job, would upvote you if I could for placing the healthcare (which is the real important thing) on the last place in the list of innovation drivers, lol :) – jd_505 Feb 19 '11 at 03:48
  • @jd_505, I think you misunderstood. Porn is healthcare. Seriously though, I work in finance, which is relatively innovative, but useless as hell. I want to switch into some bio-related field. – Job Feb 19 '11 at 03:59
  • @Job once I read a blog with some neat C++ tricks, and the context was a work of the author on fast calculation of DNA-stuff. I was amazed on the depth of the whole process, on how much it was "just like in the movies". However, there is still one major upside of your finance work - if on a day when you are really bored/tired you leave some bugs in your code, you won't cause the death of innocent, you will only piss of somebody :) – jd_505 Feb 19 '11 at 04:06
  • 1
    @jd_505, the mere fact that planes are not falling from the sky hardly means that our air traffic control and avionics system are doing all that is needed. That's just avoiding the grossest possible failure. Consider: passengers have been stuck in planes on the ground for almost 24 hours because the scheduling software can't immediately factor in the effect of storms on airport capacities. On 9-11 the ATC and the military completely lost track of one of the hijacked planes because the only way they could share information was by people shouting at each other over conference calls. – Charles E. Grant Feb 19 '11 at 07:08
  • @JamesMcLeod Huh? Facebook and Twitter are social platforms, they solve the problem of communicating to other people on a more or less large scale. Farmville is a game (well, is supposed to be, anyway) and solves the problem of entertainment. How are these not real problems? – Thomas Oct 27 '13 at 17:38