As someone who’s been an information technology professional for over three decades, I’ve learned a few things along the way. It has been said that a smart person learns from their own mistakes while a wise person learns from the mistakes of others; I have made a buttload of mistakes, so make of that what you will.
A while back, I started making notes about things I considered important advice for software development. At first, the ideas flow quickly because they were things I’d thought, experienced, or been affected by more often. The last few took months, because I wanted these to represent things I thought were really important.
So without further adieu, here are Kenn’s 21 Rules for Software Development:
- Everything is cyclical. When it’s trendy and exciting for the entire industry to cycle in one direction, rest assured that someone is coming up with a great way of re-envisioning and re-implementing the opposite methodology. Someday everything you’re doing right now will seem archaic to someone else, and it’ll probably be within the lifespan of your career.
- The first solution that pops into your head probably isn’t the best one, and even if it is, you won’t know until you come up with other possible solutions with which to compare it. Listen first; think about solutions later, and never stop with the first one that comes to mind.
- There are different ways to learn, but as a developer, there’s only one best way: code stuff. Find reasons to make things, and you’ll have found the best teacher ever.
- Ignore those threads/posts about which language is best and which ones suck. Learn several languages over time; each one will teach you things about the others. Learn the principles of coding and be ready to change languages when one is better suited for a different task (or when your employer decides to switch to something different).
- Learn from your past, but don’t live in it. A lot of things in our profession never seem to change (logic is still logic, and everything ends in a one or a zero), but a lot of things do change... really quickly. Pay attention to the difference between a valuable lesson learned and baggage that just holds you back.