This is the question that I asked myself the other day while sitting at a desk and lamenting my present employment situation. Since I work for a big company (one of the biggest of the biggest) there is a lot of overhead involved in my work. Imagine if your workday were like Groundhog Day (the film) set at Initech...
Studying computers at a theoretical level to solve all kinds of interesting problems that have the potential to offer great benefit to society is a legacy that I can feel good about. A lot of the work that is done in academia is done with the sole purpose of making the world a better place. A few projects in our department that come to mind are medical image analysis, scientific visualization, and motion planning algorithms for micro-surgery. This is all to say that computers can and should be used to make the world a better place.
Though the United States and its fine universities have long lead the field on innovation in the sciences, this may not always be true and it is looking like the future of pure research is limited at best. Pure research is not easily incorporated into a profitable business model, and in a profit driven capitalistic to a fault society where money talks academia is losing the good fight. Some may argue that corporate research is a viable alternative, and that it has the added benefit of being privately funded -- not a burdon on the tax payers. You shouldn't believe for one minute the corporate pretense that they are working to make the world a better place.
Private research groups used to be among the most innovative think tanks that the world has ever known, but those days seem to be but a distant memory. While there are sure to be exceptions, today's "research" groups at major corporations have been reduced to nothing more than prototyping groups. Where research used to be concerned with 10-20 years into the future, they now look at projects that are a mere two years out at best. What is worse is that the big players of the golden years have been hobbled by top heavy management oversight who are risk averse and care little about the long term viability of a company.
These companies develop their projects by selling them first, and only after they have a buyer they then target the project to the buyer's wants. This limits the exposure of the company to the risk of expending resources on research and development work that may never turn into a profitable product. The flip side of this is that the products tend to be mundane rehashes of existing technologies crammed into the latest buzz worthy fad of a template. Today that means "the cloud." Take the same applications that we have been writing for decades and do the same things in a browser instead of a desktop client. Don't get me wrong I am a big fan of software as a service and while I have grown tired of hearing the word cloud tossed around as a catch all phrase for something that runs on a server, I do like the possible benefits. Alas I digress...
The point is that these companies are not innovating and yet our research institutions are shrinking and dealing with massive budget cuts. In the midst of these budget cuts the companies that are repackaging old ideas with clouds and calling it new want to charge municipalities and businesses exorbitant fees for using this "new" software with the promise of saving them lots of capital. They want to sell your city management software that an undergrad with some PHP and mySQL could write in a summer for the wages of an internship, but they want to charge upwards of a million dollars for it! Now that you bought the software the system is designed so that you are not going to be happy with the performance of the system, because it was written to run in a data-center and not on existing hardware. Then they tie you into a service contract or into buying more servers (which they luckily sell).
You might be saying that the big company hires lots of people who need to work too, and you are right. The people that work on this software are very deserving of the jobs, and generally they do a pretty good job at it. What they are not telling you is that they are off-shoring the jobs as fast as they can to make the company more profitable. I wish I could say that the developers in these foreign countries are not being taken advantage of, but they are discussed as commodities. You hear managers talking about them like heads of cattle, "did you hear that we are getting 3 to 1 in Ireland right now?" "Yeah, but I am getting 10 to 1 in India!" Those people deserve to get the same level of compensation as the developers with similar skills in the US. What is not right is that these companies are using tax dollars (directly or indirectly) to pay the foreign developers after they fire the more costly developers in the US.
So my job is actively sending jobs and our tax dollars overseas, and as a computer scientist a large application of the technologies that we develop is used to automate repetitive processes. This means that the jobs that were available to those people with low to moderate intelligence are disappearing quickly. That software that is used to reduce labor costs just put a middle manager out of work, but the guy who empties his trash is still needed because he works for less than what it would cost to build a robot to do his job. Where we are going with this is a ever widening wealth gap. Even as a engineer that designs the stuff it is hard to stay on the right side of the gap, the non-unemployment side.
I was interrupted in writing this by a very good friend that reminded me of a recent talk that we attended by Srinivasan Keshav and a very nice essay on the goal of systems research. I will not attempt to reduce an already concentrated essay here, but I will say that if you have made it this far in reading this post that you should read the essay in its entirety. Though you probably will not agree with everything that he says, he has a very honest and straight forward style that can be refreshing, and what is the point of reading something that you agree with without some sort of mental accommodation anyways?
While I don't feel like I am doing very much to make the world a better place for my kids right now, it is important that I view this as a means to an end and not the entirety of my life. I just need to get out of school and not chase a paycheck. At least I can set an example of not being motivated by profit right?