I’ve been doing some CAB & MVP/C work for almost a year now on and off. With that I’ve gone digging for a lot of related topics. One blog that I stumble onto regularly, and also have book marked now, is Jeremy Miller’s Blog. Recently while digging through his blog I came upon the entry titled “OO, TDD, and Agile processes are all good, but better get the basic things right too“, which then for some reason led me to the entry “How I’m, sigh, going to become a better developer“. This later entry got me thinking about what I’m doing to become a better developer.
The first thing, which I’m really good at to begin with, but always can use improvement, is communication. When I mention communication it isn’t just getting one point across from myself to another person. I also mean being able to read other people, understand how they learn, what “hats” they wear in an organization, understand how they fit into the communication from meetings to office cooler chat. Communication doesn’t stop at the spoken and written word, it goes far beyond that. Some might call it politics, some might call it haggling, and some call it other more vulgar things. The fact is, everybody gets frustrated with the various levels of communication. I’m attempting to get a grasp on these things, and get faster at reading people, better at understanding learning patterns, and improve my mentoring ability.
The second thing is to generally improve my architecture knowledge. From a hardware perspective I’ve always been very strong, but from a 100k foot high view of software in large enterprise environments I’ve always felt a little overwhelmed by the layering, approaches, and generally open ended endless ways to “connect” software to other software in the enterprise. I’ve read through at least a dozen books, including Patterns of Enterprise Application Architecture by Martin Flower and fellow crew. Of course I make every endeavor to keep up with his material on his site and other similar to his also.
The third thing I’ve started doing is reading as many blogs that I can humanly read during the course of a day without eating up too much of my stress release and personal time. Some of the key blogs I’ve been reading can be found at Code Better which has Jeremy Miller’s Blog and Jean-Paul S. Boodhoo. Others that I enjoy include; Brad Wilson, Wyatt Preul, Phil Haack, Sandcastle, Mladen Prajdic, Tom Hollander’s Blog, and .NET Slackers. One other site I’ve been reading via RSS is InfoQ. InfoQ is an awesome site with absolutely great material. If you do Java, .NET, Ruby, SOA, or Agile you need to keep up with this site.
I kept reading these various blogs after reading Jeremy Miller’s Blog entry and realized something, almost all of them had something in common. They listed something besides software related things to start doing to help them become a better developer. Even though some might consider it a bit unhealthy, that leads me to my obsessive nature of learning as much as possible all the time about all sorts of things. Which in turn places me right at number four.
The fourth thing is that I will continue to read up and learn about history, transportation and transit, music and specifically guitar, listening to great music, catching live bands, meeting new people all the time, having fun, traveling on the train, continue racing my car, and living a walkable-carless (except for the racing) life, writing lyrics, and generally, having a good ole time!
So now the question is, what are you doing to improve your developer skills?