I'm reading The Logic of Failure by Dietrich Dörner. Here's a quote from the introduction.
Failure does not strike like a bolt from the blue; it develops gradually according to its own logic. As we watch individuals attempt to solve problems, we will see that complicated problems seem to elicit habits of thought that set failure in motion from the beginning. From that point, the continuing complexity of the task and the growing apprehension of failure encourage methods of decision making that make failure even more likely and then inevitable.This book appeals greatly to the pessimist in me, but I'm hoping to learn something practical as well. If I can learn from the mistakes from others I can save myself some of the pain of learning the same things from personal experience.
At the core of the book are a number of experiments where people are confronted with a fictional situation (for example, one where they are appointed mayor of a small town) and asked to improve it. The situation is modeled by a computer simulation to mimic some of the behaviours that one would find in the real situation. For example, the simulation would track the variables of income, employment, education, crime and so on in the small town and how they relate to one another.
It's not particularly interesting that people fail to do a good job of improving situations of which they have little experience (although I suspect we're all armchair generals at heart and always think we could do a better job whenever we see failure). It is interesting that there are patterns in how people fail.
One consistent blind spot is time and how systems behave over time. As Dörner says, people have an intuitive understanding of space; the same is not true for time. We tend to misunderstand trends. In particular, we tend to concentrate too much on what is happening now. We are bad at extrapolating anything but a simple linear trend.
One of the example experiments has to do with predators and prey. Subjects are supposed to regulate the population of moths by adjusting the population of a species of wasp that preys upon them. It's a simple model and yet people get caught in terrible confusion and misunderstanding, partly because they fail to understand the time lag between the change in one variable (the predators) and the change in the other variable (the prey).
Anyone who has tried to steer a boat, especially a barge on a canal, knows the problem. You adjust the rudder left or right, remembering that you have to reverse direction in your head, as if you were steering using the rear wheel of a bicycle. Nothing happens. You move the rudder further out. The barge starts to change direction... and keeps changing. You move the rudder but the barge keeps veering off course so you jam the rudder as hard as it will go in the other direction. This continues in cycles until you lose your confidence and panic or simply lose control and crash into the bank. A cooler head and a steadier hand take the rudder for the rest of the trip.
At least, that's what happened to me.
The economy is like that because it includes many time delays. The job market is like a predator/prey system. It doesn't matter whether you see the employers or the employees as predators — they are mirrors of each other. In any case, it is to oversimplify the situation and imagine that it will continue to be terrible for employees or that the number of jobs available will continue to shrink or grow linearly (and slowly).
However, because an economy is a complicated system (just as the job market embedded inside it is), it is highly unlikely that the trend of the moment is going to continue as it is now. (Counter- example: the deflation that has lasted for more than a decade in Japan.) I have been making the mistake of paying too much attention to the short term spike in outsourcing to India and other countries with lower labour costs. There is a long-term trend, no doubt about it, but it is not likely to be exactly what we are seeing right now.
I don't want to sound too optimistic. I just want to say that people are known to be bad at seeing and understanding trends and cycles. People are known to pay too much attention to the short term and not enough to the long term. I think there is a future for software engineering (and software development, if that is something different) in the United States and in the developed world generally. It will just be a bit different from what people expected a couple of years ago. How exactly I don't know but I believe it's important to be patient and try to understand the long term trends.