What I'm doing to become a better programmer

I’ve been tormented and ridiculed by someone from Winnipeg (I know, really embarrassing), a guy from the US, and some whacko for an alternate hair reality.  All have posted on the things that they’re looking to concentrate on for the next while.  Apparently this is expected of me too.

Get the passion back

I’ve got to work on finding a way to get my passion for coding back.  I think it’s there, just below the surface, but it’s being pushed down by factors other than my love for coding.  Of all the items that you see on my list, this is going to be the hardest to accomplish.  There’s a really good chance that I’ll probably need to take a break from the daily work grind to re-energize and refocus.  If I don’t accomplish this, I’m destine to become a 9-5 code monkey who doesn’t push their skill boundaries, doesn’t pursue the best solutions and is content blending in.

Become a specialist

Traditionally I’ve always been a jack of all trades when I’ve been at different companies.  I don’t think that this is a bad thing.  When a developer is starting out, I think it’s good for them to be exposed to as many different tools, techniques and project areas as possible.  As we move on in our careers, we do tend to develop higher levels of skill in some, but not all, of the areas that we’re exposed to.  I need to step back from what I’m currently doing and decide what exactly I want my responsibilities to be.  What am I good at?  What is it that I want to do daily?  What holes in the industry can I realistically fill?  If I sit down and answer all of these questions I think that I’ll become a much better, due to focus, programmer.


Right now I have two blogs.  This one and my food one.  To me, both seem to get neglected.  I need to rectify that.  The food one is pretty easy to fix.  I just need to start writing about more of the restaurants that I visit and more of the food I cook.  Simple question of making the time.  For this blog it’s a little different.  I have a personal goal of keeping this blog filled with original material.  I don’t want this site to become a link blog (no offense to this guy or this guy who have fantastic link blogs) or a place for the endless stream of new product release announcements.  For me this leads to a bit of an information problem.  I only write for this blog when I’m feeling a great deal of passion about my topic.  As I mentioned earlier, that passion has been fleeting recently.  I figure that at the best of times my post count is not going to be but a small fraction of what someone like Ayende generates.  I do want to try to increase my post count, but not at the expense of the content.  The first step to that is going to be making more time to think about what I want to write.  If I think about it, there’s a better chance that I’ll get fired up enough to write about it.


One of the things that I really like to do is evangelize the development tools, techniques and methodologies that I’m passionate about. I find that committing to these events helps me to force myself into learning as much as possible about the subject.  I’m going to focus on getting involved in more speaking engagements such as Code Camps, User Group meetings, conferences and even internal lunch and learns.


I’m not going to list a series of books that I have waiting in the wings.  The truth is, I don’t have one.  Instead I want to make the time to read a list of books that has nothing to do with technology.  I’m a firm believer that everyone needs a good work-life balance.  I also think that taking the time to pursue the life portion of that balance will elevate your results and enjoyment at work.  For the past couple of evenings I’ve been reading Iran Awakening by Shirin Ebadi (highly recommended) and the escape from technology that it has provided me has given me more energy to work on things within the technology realm.


So that’s the list of things that I’m supposedly going to do to become a better programmer.  Unlike the other guys that have commented on this, I had no interest in putting arbitrary numbers to any of the items I listed.  In some ways that flies in the face of good goal setting (which is what this really is), but I’m not convinced that any of these things can truly be measured.  I could have said that I was going to speak at 8 or more events in the next 6 months, but what correlation is there between those two numbers and the goal of becoming a better programmer?  For me, the action (speaking, blogging, etc.), not the frequency or volume, is what makes you a better programmer.  If I write on thought provoking and informative post, I’ve probably taken a bigger step towards becoming a better programmer than if I posted 10 times about “Product X is now Beta!”.

Take all this for what it really is, a personal exercise in goal setting.  Whether you agree or disagree with what is listed here, it never really was something for you to comment on.  It was a mental exercise that I just happened to commit to my blog.