Things I learnt the hard way in thirty years of software development
Great lessons! Although it didn't include one that I had to learn the hard way, multiple times:Your throwaway prototype will be the codebase for the project.In my career, I've seen multiple throwaway prototypes that were hacked together. None of them ended up in the waste bin."Just add X and Y and you're done". "But this is just a quick hack to show the interface, there is nothing behind it!" "Yes, and the interface is fine, so why start from scratch? Just add the rest".Now I know: I never build throwaway prototypes ever again, it's always a base for the project to come.