I got asked a great question today how I approach problems. It's one of these internal gut-based functions of being a software engineer which is really hard to describe.
I gave it a quick shot here: https://github.com/coderbyheart/first-principles/issues/36
#firstprinciples