The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.2 KiB

+++ title = "Things I Learnt The Hard Way - Future Thinking is Future Trashing" date = 2019-06-21

[taxonomies] tags = ["en-au", "books", "things i learnt", "design", "solution"] +++

When developers try to solve a problem, they sometimes try to find a way that will solve all the problems, including the ones that may appear in the future.

Trying to solve the problems that will appear in the future comes with a hefty tax: future problems future will never come -- and, believe me, they never come -- and you'll end up either having to maintain a huge behemoth of code that will never be fully used or you'll end up rewriting the whole thing 'cause there is a shitton of unused stuff.

Solve the problem you have right now. Then solve the next one. And the next one. At one point, you'll realize there is a pattern emerging from those solutions and then you'll find your "solve everything". This pattern is the abstraction you're looking for and then you'll be able to solve it in a simple way.

{{ chapters(prev_chapter_link="/books/things-i-learnt/languages-tests", prev_chapter_title="Good Languages Come With Tests", next_chapter_link="/books/things-i-learnt/document-id", next_chapter_title="Documentation Is a Love Letter To Your Future Self") }}