Wednesday, January 16, 2008

Bad Programmers or Bad Managers?

A few days ago I read an article that claimed the dot-bomb was caused by bad programmers. I tried to go back and find it today but I couldn't and instead I spent 30 minutes reading lots of other related but interesting articles.

At any rate, the assertion made in that article seems ridiculous to me. You mean to tell me that most of the ideas that were funded in that time period failed because of programmers? I don't recall hearing anything in that time period about how a business would have succeeded if there weren't so many bugs in a given website or if it had been released 50% faster. On the contrary, one company I worked with found a way to give away about $100,000 in services every month and supported tens of thousands of customers, but when asked how they were going to make money with that customer base, they weren't sure.

One of my pet peeves in the software programming world is the tendency to assert that the programmers have all the answers, or that they should. Recent programming paradigms over emphasize the importance of software developers and minimize the importance of understanding the purpose for which the software is being built. Agile programming fits into this category. On the one hand, I do see that waterfall methodologies can be bad if you launch a monolithic project and 3 years later you find that what you intended to build does not meet market needs. On the other hand, most of the programming work that gets done in the world is not some bleeding edge project that requires throwing out a formal design process done with the help of someone who specializes in understanding needs and deliverables. To take the same thought process to the construction world, you wouldn't fire every architect and building inspector that ever lived and trust the construction of everything to anybody that has ever hammered two boards together, even if they have a really good recursive model for getting feedback on their activities.

In the end, achieving great results in what is usually a very plain vanilla software world is brought about by solid business skills. To succeed in the dot.com era as well as today, you needed a good idea and a way to market it. You need to have a way to produce an income. The skill of the programmers in writing code or a useful development methodology will seldom bring about anything of lasting value in business if the core principles of business are overlooked, and that is an area that programmers are not trained for. The dot com bust isn't attributable to the programmers, it is attributable to the managers and visionaries of that time period.

No comments: