It's an IT Revolution

One day, several years back, I went to a meeting with a number of other programmers to learn more about how software was developed and tools used at our company. It was a rather large company having hundreds of developers devoted just to the company's web site. I was eager to find out how I could develop software better and spend less time on the annoying and mundane things like logging and connecting to databases.

What I found at the meeting was that the company was standardizing on a language and the tools we use, but they really had no idea where they were going. They had no standard code libraries, no standard machine configurations and no advice for me on how I could do my job better. The IT department lacked leadership. Everyone wanted to do things their way with little regard to what was best for the company. And there was a distinct lack of standards everywhere - even the mention of the word standards raised people's ire.

After the meeting I was frustrated. Two hours spent and nothing to take back to help me do a better job. I complained to one developer that I wanted to know the standard way the company recommends you connect to the database. After all, everyone was supposed to be using Java, WebLogic, EJBs and Oracle. I should be able to get a boiler plate file from SOMEONE that simply required me to change the database name, schema name and password and be ready to go.

The response from this developer: I don't want the company telling me how to program! That takes the fun out of it!

And here in lies the problem. Developers love a puzzle. They want things to be hard. It is fun. It makes them feel knowledgeable and capable. They feel they are among the brightest in the world. The difficulty of the job justifies their high pay and job security while giving them the challenge they seek in life.

But this is not necessary...

It is a matter of time before businesses grow weary of spending so much money on IT staff when there is a better way. Everyone has been brainwashed into thinking technology is hard. Software is hard. Computers are hard. Well, the things that are IT are only hard because we make them that way.

It is time for an IT revolution!

In the book The Inmates are Running the Asylum by Alan Cooper (which is a very good book that I highly recommend any IT manager read), the author states that "No company can treat programmers the same as a factory. Programmers demand continuous attention and support well above that of any factory." The author is very effectively teaching us how IT is backwards and structured all wrong but shows that he is still brainwashed into thinking software is hard to build. This is the one and only point I have read in this book where I disagree. You can turn your software development into a software factory. It is not necessary for software to be difficult.
By the way, Alan Cooper does a wonderful job showing the reader where software development is dominated by the programmer and how this damages the end product. He explains how to break out of this and add what he calls the "interaction designer" to make highly superior user interfaces.
There is a way to make IT simpler. I believe, in the near future, we will find out how to organize and manage IT, in many ways, just like a construction company handles the design and construction of a building. When you build a large building, you start by designing with an architect and an interior and exterior designer. These highly paid experts decide how the building will look and be built. After this is done, you bring in the lower paid technicians to do the work.

So what does this mean for the programmers? It means they will become the technicians. It means they will no longer be able to demand the high salaries. And it means the business owner will begin to regain control over their business and not be such a slave to the developer.

NO! you cry. You cannot belittle my role, my intelligence or my importance in the building of software.

You are correct...

The best and brightest software developers will slowly become (or maybe even have become) software engineers. They will employ strong standards much like aerospace and mechanical engineers. They will be the architects and the creators of the new standards. They will create a simple foundation so that the software developers (or technicians) can do their jobs simply and easily. The software developers will be the construction workers and the software engineers will be the architects. And the business will need very few engineers and many developers.

Why is this approach inevitable? Because it is more reliable and cost effective. Today, all too many software projects are failures. This costs businesses lots of money. And developers are expensive. This costs businesses even more money. The first business that figures out how to cut the costs, increase the likelihood of success and improve the reliability of their products will propel themselves well ahead of their competition.

Over the coming months I will expound on this topic and demonstrate how IT organizations can realize cost savings through this new IT Revolution. And I will show developers how they can stay on top by adopting standards, using the best tools and elevating themselves to the level of software engineer.

May your journey be prosperous.