Acknowledging vs Acting (on a flaw)
In real life, I am cheap. I am stingy with my money and as a result probably miss out on a bunch of cool stuff, be it shiny tech gadgets or new and fun experiences. I just got my first smartphone in August. I’m loving my Droid and only wish I had got one sooner. (The voice in my head is saying: “But think of all the money you saved by not having a data plan all these years). I acknowledge that I am cheap and I know that money won’t do me any good when I’m dead, but I haven’t really put much effort into doing anything about it. I’m still as cheap as I ever was.
I think the same situation is occurring in my software development career. I acknowledge that I write crappy code. I acknowledge that I have a lot to learn. I acknowledge that I’m a phony. But, I’m not doing nearly enough about it. I’m not sure why I haven’t acted on this knowledge that I have had for a long time, but I have a theory.
As developers, these are very exciting times. There are tons of cool technologies and languages and frameworks to use to build really cool applications very quickly. It could be said that we are like kids in a candy a store with all the choices laid out before us. I feel more like one of the kids from The Cat in The Hat just sitting in my chair watching it rain (bemoaning the fact that I suck) instead of playing with all the neat toys in my closet. I think I’m suffering from The Paradox of Choice. I’m not sure how to get past that though. Maybe I should throw a dart at a list of technologies to decide on what to get started with.
As I mentioned in my previous post on original ideas, I do read a good bit of blogs and books. That doesn’t cut it. I’ve seen it over and over again from developers that I admire that the best way to become a better developer is by actually coding and I don’t do that nearly enough in my free time. In fact, all the blog posts and podcasts and Tweets that I consume might be part of the problem; I’m always reading about a shiny new toy I think I should or would like to try out which only makes the problem worse.
I’ve acknowledged the problem, now I’m ready to act. Recently, I saw an exchange between a few devs on Twitter pointing out that it was a good idea to have a toy app that you can play with and break and not sweat it. A virtual playground for implementing new technologies visible to anyone who cares to see. And now with a free hosting option for .NET being offered by AppHarbor, there is no excuse for me not to have one.
To that end, I have been working on a side project. I’ve decided to implement some of the functionality in Knockout.js and I have plans to integrate simple.data and MongoDB next. I’m very excited about it. I’m hoping to announce the release in the next few days.