Tuesday, June 24, 2008

Falling

planets in orbit NASA/JPL
As a programmer do you feel like you are falling behind in the current technology? If you don't, you aren't paying attention.
Isaac Newton came to the revelation that gravity held the heavenly bodies in orbit by theorizing a cannon ball being shot fast enough that it was always just falling over the horizon thereby putting it in orbit. That's what software development is today - we are always falling over a body of knowledge but never quite resting on it.

Creating software is changing rapidly:
  • new Agile techniques for organizing and managing projects
  • new Model-View-Controller frameworks for Java, C#, and python
  • new language features, especially C# 3.0 has some wonderful new toys
  • new rebirth of functional programming
  • new ActiveRecord type object-relational mapping tools
  • new AJAX toolkits
  • oh, yeah, that new handset stuff for the iPhone and Android.

How do you keep up? Here are a few thoughts:
  • Read technical blogs. My list is here.
  • Do code reviews or paired programming. At our company we do biweekly code reviews for 30 minutes. I've learned so much from seeing how my compatriots code. Do the new CodingDojo thing with friends.
  • Be involved with your local user groups. Austin is fortunate in having many fine groups such as a great Java User's Group, Dot Net User's Group and an Agile group. See a more complete listing at my del.icio.us austin+tech bookmarks.
  • Get together with friends from companies you used to work at and see what their company is doing. How do they do builds? Unit and integration testing? What are the problems they have?
  • Buy a domain name and play around.
  • Learn a new language every two years.
  • Read good classic books. Some of my favorites are here.

If you aren't learning everyday, you're falling behind.

No comments: