{ Code: Impossible } | this = HowI.Roll();

Dec/08

8

2000 – 2008 What I've Learned

I’ve always wanted to write an end-of-the-year summary post that would explain some of the lessons I learned during that year. For one reason or another I’ve never done this and I figured that it was time to start. So to make up for my slacking I assembled a list of some of the lessons I’ve learned over the last 8 years.

  • Never under any circumstances store a password in plain-text.
  • Do not insert unfiltered strings into a query. Ever.
  • Users aren’t stupid. They are clever. Like foxes. Like foxes with augmented AI Skynet brains. They will do things you would never think of in 1 x 10^1000 years.
  • Develop and test on the same platform / permissions level that your app will run under. Trust me, this will save you serious future debugging time.
  • And on that note: Test, test, test, test.
  • Regular expressions work 90% of the time but you only really need them 10% of the time.
  • If something doesn’t feel right it probably isn’t. If you can fix it fast do it, otherwise root out code smell and refactor in your down-time.
  • XXXX technology isn’t always the answer. Be pragmatic. Solve problems as easily as possible. We exist to reduce and handle complexity in non-complex ways.
  • Open source is a good thing.
  • Contribute to or start an open source project. Extra XP and a good resume bullet.
  • Did I mention test, test, test, test.
  • Only re-invent what you absolutely have to. Would you rather spend a week implementing and testing your own GridView or install a commercial control in a day?
  • It’s not the hours you put in, it’s what you do with them. Refactor your own development process. If you spend 1/2 a day doing something, odds are you can improve that time.
  • “It works on my machine” is ok if, and only if, you are coding for your machine.
  • Nobody makes bug-free software. Learn from the bugs you make now and you’ll make newer more interesting ones.
  • Oh, and Test, test, test, test.

The items on the list above are definitely not things I knew coming into software development. They are all things I’ve had to learn the hard way, usually by falling completely on my face. The first two especially.

We all make mistakes, it’s part of learning. All I hope is that this list prevents someone from making the same mistakes I made so they can go on and make their own, newer, more complicated, and more interesting mistakes.

· · ·

No comments yet.

Leave a Reply

<<

>>

Theme Design by devolux.nh2.me