Sometimes at work, I pause.
And I wonder, if this is the thing that excites me. If I like being here in the first place. Because if it does not then there is a problem.
Apart from one or two instances when I was really down, I have never doubted my decision to be a programmer. Unlike many others of my time, I was privileged enough to own a personal computer, an 80286, back in 1994, when I was 13. I could not do much on it, apart from dbase III plus, Lotus 123, Wordstar and Prince of Persia. But that machine’s contribution is something which I can never underestimate. It made me a programmer.
Yet, I think, I am 20 years late. Why? Because, I believe, the 1980s were the best times to be, for any computer programmer. There were no idiot project managers, no stupid team leads and most of all, no CMM Levels and Quality standards for code.
My statements are not based on any research (though how I wish they were) but it is pretty evident to me that Software engineering practices and theorizing it to an extent to what we have done already, has done more harm than good to the art of computer programming. And if you feel like showing any resistance to the claim that I have just made, you are either a project manager or aspire to be one. God bless you, if its the former. Good luck, if you happen to be the latter.
The 80s stood up for the programmer. It was the time when computer programmers were allowed to do what they wanted to. It was the time when the judgment of a programmer carried value. It was also a time when programmers spent most of their time, well, programming.
CMM was made to improve the quality of the processes that an organization followed. It’s a process of continuous refinement. Nothing wrong with that except that it comes with a lot of clutter. CMM adds cost because it adds bureaucracy. Nothing wrong with that either, except that it adds it at wrong places of the hierarchy.
CMM, and the likes, are a failed attempt to theorize Computer Science.
Then of course, it takes away much from the programmer. One of the things being the value of his judgment. No, please don’t blame it on the project manager. He is trained on CMM, after all. Ask him and he’ll tell you that CMM or whatever standard they follow, is God.
Software engineering, I’d like to think, is still in infancy. It is a relatively new science which is constantly in conflict with the art that programming is.
That is why, I think I am 20 years late. I am just a poor, ordinary programmer and I’d just like to code. Please?