Wednesday, June 12, 2013

I have many good reasons for not wanting to be a manager, but they all boil down to this: I enjoy writing code.

I recently read a blog post about not writing code. If you haven't read it, I encourage you to do so. It's insightful and right on all counts. It's also biased, as you can see from the following quote:

My job isn't to write code. It never was. It has always been to make people's lives better and more productive.

Years and years of experience have taught me to avoid writing code when I can and write as little of it as possible. Every line of code you write has its cost. Some of that cost is the time it took you to write it. Some of it is the time it took you and, hopefully, at least one more person to test it. And then there's the time it will take you or someone else to maintain it. All in all, writing code is not something to dive into without careful thought.

As a coder, every line of code you don't write spares you and your team time. The question is, how do you spend that "extra" time? You could deliver the product earlier! Just kidding, it's more likely you'll spend that time writing other, more important code.

All joking aside, the above is a very serious, important point: don't avoid the code for the sake of avoiding code. Write the code that needs to be written. And there's always some code that needs to be written. While it's theoretically possible to build a complete, non-trivial software solution without writing a single line of code, I've yet to see that actually happen. At the end of the day, when all the management decisions have been made, someone will probably have to write some code

There are many ways of making people's lives better and more productive. Writing code might not be my business, but it is my calling.