Sunday, January 11, 2009

Developer Professionalism and Chad Myers

Generally speaking I like Chad Myers comments a lot, some of it he has more experience and that leaves me with less material to challenge his ideas, but sometimes he just see's the world the same way I do.

This post is exactly what I've felt for so terribly long, especially the parts about magic, hocus-pocus and charlatans. Its lonnngg past time computing in general move out of the voodoo phase. So here is my advice for aspiring professional developers, technicians and support techs:

Firstly, technology is not to be applied with the same logic as sports teams. Just because someone started liking Windows, Linux, c#, python, oracle, mysql, whatever does not mean that is the only technology in the world and one must support it till their dying day. Things are good/bad on their own merits, and most work in one situation or another, and what was once bad can become good and vice versa.

Let me state this REALLY clearly. Every time you refuse to dive into a technology because "it must be inferior" and you haven't actually tried to get some work done with it, you are hurting YOURSELF.

Secondly, things are not what they seem on initial examination. If you dont know how something works say so! If you don't like something, give it a deeper look and try to use it, talk to those that actually do use it to get work done on a day to day basis.

Thirdly, if something breaks, or acts in a way you didn't expect. Figure out why that is, with analysis and thought. Use the scientific method, only change one variable at a time, and dive deeply until you are satisfied with your findings. Even then don't trust what you've found is gospel.

Finally our job is to serve as tech experts for those that aren't tech experts. This is a delicate job at times, but honesty and building trust is mandatory. Bullcrap solutions/explanations that may fool the customer for a time have a way of sooner or later exposing the bullcrapper as a useless expert to deal with. Regardless, those that give good timely honest solutions and explanations with a touch of humility end up being the ones that everyone relies on.

That's enough soap box for now, but at the end of the day if the industry as a whole acted that way, I'm quite certain we'd have a lot less "awful legacy code", less management interference, and we'd be focusing on delivering business value to customers (and delivering it quickly) instead of geek ego.

No comments: