Stagnation Leads to Immobility

If there is one thing I fear in regards to my professional life it is stagnation. The field of computer programming is far from a closed field; it is an exciting industry to be a part of, one with low barriers to entry, huge rewards, big payoffs, job satisfaction, and dynamic, vibrant, change. It is because the field is still open and being explored that stagnation in this field is especially dangerous, and yet I've met far too many people who have grown stagnant, and I have yet to meet an employer who actually combats it.

I have had the good fortune to work in more than just one industry. Sure I've always been some part of the IT department in whatever industry employed me, but I have not always worked in an IT shop. My last job is a particularly good example as a counter-foil to my argument. Printing is an old industry, old enough to be measured in the thousands of years. Technology changes and to some extent so does printing, but from what I am told offset printing is well established and in effect a closed system (by that I mean it is complete and thoroughly known).

No offset print shop in the world operates in a manner that is significantly different from another; there simply is not much more to learn about the technology other than the best ways to tune the machines for performance and/or quality. Given this it is not only safe to assume, but almost solid fact that a press operator can reach a point in his trade-skill in which he can learn no more, for there is no more to learn. Once he reaches this point it is worthless to continue to train him.

Contrast this with the programmer. Not a month goes by that I don't hear tell of some programming language or technique that I was previously ignorant to. The history of the languages I use on a regular basis is laughably short, and yet programming as a skill and a career is older than I am. People are always coming up with better ways to solve the same problems we all face, and when they share these solutions we must learn them or continue to battle our problems, only now in futility.

If I were to bury my head in the sand, or as usually happens to the stagnant programmers I know bury my head in my code, I would quickly lose pace with the State of the Industry. That will then cause me to miss the fact that all the highly skilled programmers abandoned ship wholesale. This leaves me to sail on a lonely ship only sparsely populated with the other ostriches who cannot see the world around them for the code in front of them. I have some little experience with the world of theology and compared to computer programming it moves at a snail's pace. In that academic field it can take years for an article to go from written to published.

The only way I have seen to keep pace with the rapid changes and developments in programming standards and practice is to spend some part of my day, every day, keeping tabs on what's going on. Not only that I need to try it out and see how it works, and if indeed it will solve my problem. Anecdotally I watched Linus Torvalds present a rather arrogant talk about Git to Google. It was (and is) a fascinating piece of technology but I could not imagine I could find any use for it in my workplace or in my home. Weeks or months later everyone around me had started using Git, and most of the usage was for small projects. I made an excuse to try out the software and to make a long story short I am now using Git at home and began the conversion process at my last job, even going so far as to convince my replacement to continue the work.

Personally I still feel that i am more stagnant than I realize. I am still ignoring technologies such as Lisp, Haskell, Erlang, OCaml, Ruby, Ruby on Rails, CouchDB, SmallTalk, Lua, Arc, Nu, and D. I have no idea how any of those technologies would help either my personal projects or my work projects, and unless I make and take the time to investigate them I never will. I only know the MVC framework because I took the time to read about how someone solved a workflow problem that was driving me nuts, and now I cannot go anywhere on the Web without running into someone building yet another MVC framework.

My point to all of this is simply: Do not stop learning. It has been said that programmers do not practice, and that we ought. I will add to this and state that programmers do not research enough, and we ought. I will go so far as to say that we ought to work to change our job descriptions to include daily research and practice. I may never be a great innovator, but if I can learn from those who do innovate and share their methods and code, then I can be a great programmer, and so can you.

0 TrackBacks

Listed below are links to blogs that reference this entry: Stagnation Leads to Immobility.

TrackBack URL for this entry: http://blog.0kelvin.net/mt-tb.cgi/509

Leave a comment