Being a product architect introduces you to all kinds of different problems. I also find that it gives me many opportunities to find great answers. There are lots of good answers out there, but I am a bit of a perfectionist. I hate it when I have to live with a sub-optimal solution because not enough time was spent understanding the problem and looking into future uses of the code or logic.
Now you may be saying to yourself that my comments above conflict with the concept of “Slamming Code”, but I disagree. I am very much a proponent of prototyping and getting to the finish line early is important. 100% of the time you are going to look back and see something you could have done better. If you get your end product on (or regretfully more after) your deadline, there is no time left to get things right. At that point, you’re too concerned with just getting any solution, not the best one.
So I say slam away! Get that code moving while you are half-way through your design. This way your design documents can be more living, breathing technical documentation instead of the mountains of paper that you have to get mad at developers for not reading.