Just over six months ago (at the end of June 2007), I started on a path to becoming a better developer. This was a movement started by the impressive, charismatic and sexy blogger Justice Gray (the check is in the mail right?). He hand picked me to be in on the first generation of developers dedicated to focusing the next six months of their lives to becoming a better developer. I immediately hopped on board (by "immediately" I mean after several nagging emails from Justice to get started) this movement that soon became an Internet phenomenon.
The idea of the movement was simple. Create a set of goals to focus on for the next 6 months. These goals should in some way be measurable (and focused on improving yourself as a developer) and make sure to declare these goals to the world. Finally, "tag" some other developers you know and encourage them to do the same.
So six months ago, I made my first post, setup my four goals, tagged four other people and was off to a roaring start.
...if roaring means struggling, kicking and flailing, desperately trying to fight my way to the surface of the waters only to be smashed back under by the next huge wave of life. Roar.
To put it simply. Becoming a better developer is hard. Here's the breakdown of how I did on each of my goals.
I will read 1 technical book every month for the next 6 months.
I knew this one was going to be tough from the start. I did manage to struggle through four books, but I didn't finish the six books I was aiming for with this goal. Here's the list of the books that I did finish over the past six months.
I just never seemed to be able to find a good way to fit reading technical books into my life. I tried setting up reminders and alerts to take an hour to read. I tried scheduling meetings for myself at work. I tried placing them beside me at night in bed. I was super resistant to reading technical books. I hated them. The ones I did manage to get through were a chore. I loved them, just hated reading them. If that makes any sense, then you're probably already friends with me.
I will write one XNA framework tutorial or game demo every month for the next 6 months.
I was SO close on this one. And if I felt like "cheating" I could totally call this one a win. But I can't and I won't (I did two REALLY short tutorials one weekend that I'm only counting as one, I mean, they were REALLY short). Here's the list of tutorials and game demos I managed to create over the last six months.
Writing the CoDe Magazine article was a blast and definitely moved me out of my comfort zone. I'm really trying to come up with another good idea for an article I can submit and try to get published again. I love writing tutorials and providing samples, but focusing on doing one a month really made me realize that I need to work harder on improving my process. Most of these tutorials take over 20+ hours to create. That's a lot of work I'm doing for something that's just for fun.
But I do love it. Just need to figure out how to do it more efficiently.
I will do one team presentation at work every month for the next 6 months.
This goal had one of the more interesting twists. I only managed to do five team presentations over the last six months and here's the list of those.
- A Refresher Course on Debugging
- An Introduction to the Portal
- Beyond Compare and SQL Delta
- An Introduction to C#
- I’m not surfing the web, I’m becoming a more valuable employee: Good sites for Software Developers
So what's the twist? Well, I was having trouble focusing on doing team presentations. So, like everything I try to fit into my life. I tried to find a way to make it harder for me to fail. Out of that brainstorming session, "A Viewpoint Developer presents..." was born. This was a new weekly meeting I started for the developers at my company. Every Tuesday, there's a room reserved for a 30 minute time slot for a member of the development team to present on anything. New tools, new technologies, projects they're working on or just some cool technology thing they've been playing with. Having these weekly meetings has been great for me and made it much easier to work on my presentation skills (now if I can just convince some more developers to do their OWN talks instead of only listening to me talk....).
I will write one blog post every week for the next 6 months.
Oh. My. Gosh. I totally sucked at this one. Initially, I had myself setup to nail this one. Right after I wrote my goals, I sat down and made a list of things I could blog about every week for the next six months. I had WAY more than enough material to make it with flying colors. But the blog doesn't lie. Looking over the past six months shows a VERY inconsistent blogging pattern.
Yikes! That stings a little. Maybe it was over confidence? Maybe it was just that every time I thought about blogging, I thought to myself, umm...who wants to hear what you have to say anyway? Maybe it's because every time I start to blog I think I should write paragraph after paragraph? Who knows. All I know is that I totally missed the boat on that one.
So yeah, there it is in black and white. The facts and figures clearly show someone who did NOT meet their goals. I didn't even meet one of my individual goals. But wait! (you knew that was coming didn't you? sure you did, go ahead, admit it, you're a smarty pants, you totally thought, "he's going to throw a 'but wait', in there and totally turn this thing on it's head and make it into some kind of victory even though I can clearly see he's a loser").
Yeah, yeah, don't rub it in Mr. Smarty Pants. You were right, I totally am going to turn this thing on it's head. You're going to be all like, WOW! He totally made me re-think life. And I'm glad I can do that for you. It's a free service I'm providing.
I was reviewing my goals as I was writing this post and as I sat and cried a little about what a dismal failure I was, it hit me. Don't miss the forest for the trees. And while I'm not exactly sure that's the right phrase or even what it really means, what it means for me in this case is, I failed in all of my individual trees, but there's still the forest.
That's right. I am a better developer.
I had almost forgotten that was the original goal.
It's true. I didn't manage to meet all of my goals. However, I have become a better developer over the last six months which was the entire purpose of this exercise. I've been published in a magazine, started a new program at work, produced a lot of new community content for XNA game development and read books I never would have read if I hadn't started on this path. I wish I had managed to meet every single one of my goals, but I'm still very happy with where I've ended up.
In fact, while I'm not claiming that it was entirely brought about by these goals (but I mean obviously ANY program started by THE Justice Gray is going to have amazing results), at the end of the six months, I was made a supervisor at work. Yep, that's right. Starting January 1st, I will be promoted into a management position. How's that for a testimonial?
So do I recommend you pick up the torch and set some personal goals for yourself? Absolutely. Announce them to the world and get going already.
Now I just need to figure out how to set goals to becoming a better supervisor....