Think Before You Start

I'm currently cleaning up a de-normalized relational data model of my booking application and it costs me a ton of time. I haven't tracked the time but as of today I guess I have invested somewhere around 30 hours. And it's still not done!

What's really causing headaches is that the application is running in production, the database accumulated a ton of data and due to de-normalization some data is in bad shape. Not all of it but some and separating 5% of the bad data out of 12k rows is just impossible. So I do my best and get the 95% migrated and leave the rest archived. It isn't perfect but better I get it done now.

It's a legacy that I created myself in a rush because I wanted to get it out fast. Honestly, my customer wanted me to get it out fast. My customer should be happy with my solutions so I did the shortcut with a heavy heart. That's how things happen in the software industry. You're late on a project and in order to be not more late you skip the deep thinking about a problem for the sake of shipping the feature now.

The moment when you should be thinking deeply about a problem but you skip your obligation nonetheless you're borrowing money from the virtual bank of thinking debt. Life will inevitably force you to pay it back in the future. At some point in the future you'll face the moment when you must take your mind offline from all the distractions out there and burn the brain cycles.

So spend more time thinking deeply about a problem! It would have saved me headaches and 30 hours until today. It will save you too.

If I had an hour to solve a problem I'd spend 55 minutes thinking about the problem and 5 minutes thinking about solutions.–Albert Einstein

Back