Be a Better Developer: 0 – Stop Being a Code Monkey
At CodeStock 2009 I gave a talk entitled “Be a Better Developer”. Just last night I gave the talk in Indianapolis. Here’s the abstract from the talk:
“As a developer you end up wearing a lot of different hats: researcher, designer, janitor, mediator, teacher, student… the list can go on. You likely juggle these hats almost every day and we haven't even mentioned writing a line of code yet. If you want to become a better developer you'll have to learn how to switch these hats out easily and what it means to wear each one well. Most talks often focus on a given technology or tool; some resource that you can use. This talks focuses on how to improve the best resource you have: YOU. Come hear how you can improve yourself by learning, teaching and, yes, even being lazy.”
I had a lot of great feedback on this talk, so I thought I’d turn it into a series of blog posts. Since I’m not constrained to a 70 minute presentation I’ll be expanding a little on the points from my talk, adding news ones, etc.
Stop being a Code Monkey!
At the time of this blog post the tag line on this blog was “Ruminations of an Application Simian”, or roughly translated, “Thoughts of a Code Monkey”. I’m sure you’ve heard the term Code Monkey. In my experience it’s often a derogatory term used to describe a non-thinking, caffeine hyped programmer automaton that is good for just banging out code. Code Monkeys are often looked at as cogs in the wheel. A henchman if you will. Minions to be put to work. Unfortunately, as any good Bond movie will prove, minions are expendable.
Is being a Code Monkey bad? If you really love to code, is it bad that coding is all you want to do? In rough economies (like what we have been going through for the past year or so) being just a code monkey will likely not be enough. A lot of developers are loosing their jobs, and not just because of out-sourcing. In order to be looked at like an asset you have to become more than a Code Monkey: you have to be a developer. Of course, you probably already know this, or you wouldn’t be reading this blog post.
So the obvious question is “What makes a developer different than a code monkey”? A developer does a lot more than just bang out some code and turn in status reports. They wear a bunch of different hats in their job and they need to constantly balance each of these roles. In my opinion, to be a great developer you’ll need to learn to wear each of these hats well.
This isn’t some definitive list, or top 10 list I pulled from the ether. I have compiled this list of roles and tips for improving yourself over my career. The roles I mention are ones I have found myself playing. The tips are ones I’ve seen people do, or have done myself. Most of all, what I’m describing details traits, roles and habits of some of the best architects and developers I know.
I hope you enjoy the series, and if you have any comments, please leave them or feel free to contact me via the contact link.
So, for the first hat let’s look at Being a Student.