Spaghetti and the financial crisis

chapter1 has a fun post this morning with a guess at what's behind our continuing financial woes - people who (deliberately?) engineer complexity into systems for job security reasons... The idea is that Credit Default Swap and other derivative contracts are so complicated that only the people who created the problem can help fix it, and they set things up that way on purpose. The enlightening analogy is to the software engineer who creates "spaghetti code" essential to a company's systems that only he can understand, ensuring he can demand whatever he wants. I think I have met some people like that...

Some choice quotes:

When the whole buggy mess finally crashed, the nation's management didn't want to take the time or lose face to build a new payroll system, so once again, Spaghetti Code Guy and his pals could name their price.

Complexity can be good - there are lots of examples of complex systems that work well:

All of these complex systems have something in common-- no part is irreplaceable. [...]

But complexity can sometimes bring problems. One classic example is what is known as Spaghetti programming (the type mentioned in the Dilbert strip) in which each piece of the program depends on many others, making the whole thing look like a bowl of spaghetti. If you touch one part you mess up a hundred other parts. So no one can understand the system except (maybe) the guy who wrote it.

we must not only regulate transparency, we must regulate understandability. All critical or semi-critical financial systems should be understandable by someone knowledgeable in finance.

and from the comments:

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. -- Martin Fowler

Any fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction. -- Albert Einstein

We try to have that genius, around here. Another reason for titling this blog the way I did...