Stuff you dont learn in school
Nice blogpost about stuff you learn when you start working in the software business, that you don’t learn in school at a-simian-mind.
I like no. 9:
9. Code for Now
As developers we love to code for that future when we may need to add another database back-end or swap out a different rendering engine or port to a different platform. Guess what, unless those things are actually on some roadmap or written on a stone tablet they will either never happen or will happen in such a way that you’ll end up rewriting your code anyway. I have a ton of old projects littered with extra layers of abstraction that I’ve never needed and they’ve gotten under foot more times than they’ve been helpful.
Dirty Secret: It’s always been easier to add in a new abstraction layer than it has been to work with an existing one that was never used. If you don’t need it right now then don’t code for it.
That reminds me a lot of features you build into the program you’re working on that you think, users will love. Usually it turns out, they dont like it, dont understand them, or dont really need them. Or you put some neat features in, that nobody really knows about, because you didnt explain them properly or are otherwise poorly documented.
Ofcourse Scott Hanselman also posted on the subject. You can find that on his blog. Some great stuff in the comments of that post as well !