DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 963,673 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
The Unstuck Developer
The Unstuck Developer

Posted on • Originally published at unstuckdev.com

I have no idea where I’m going, but I know how I’ll get there

Originally posted on my blog

I started 2018 stumbling on Farnam Street’s mental models page. This is now on the list of things that turned my life upside down in a way that, on the other side, turned out to be good. My whole way of thinking changed.

One model in particular made the biggest difference: inversion.

Inversion is a powerful tool to improve your thinking because it helps you identify and remove obstacles to success. The root of inversion is β€œinvert,” which means to upend or turn upside down. As a thinking tool it means approaching a situation from the opposite end of the natural starting point. Most of us tend to think one way about a problem: forward. Inversion allows us to flip the problem around and think backward. Sometimes it’s good to start at the beginning, but it can be more useful to start at the end.

Inversion is the humbling recognition that no one has all the right answers. No one has the right answer for you. No one has the right answer for me. But there is a huge set of wrong answers, and they’re wrong for just about everyone.

This is one reason Golang appealed to me so much. It accepts that there are many wrong ways to do things, and very few right ways. Golang encodes these right ways into a clean, simple syntax, and a set of standard packages that do most of what a programmer needs to do with few alternate paths. It’s like how Rails encoded a set of right things for web development so you could load it up and be productive fast without having to understand everything it’s doing with Ruby.

It’s a framework. You can build on it, and drop down to the lower level when its way turns out to not be the right way for what you’re doing. Golang is similar. It’s training wheels and a three-wheel road vehicle all in one. People driving supercars and slick motorcycles might laugh and say you’re missing out, but you understand their goals are different from your own.

That’s my life in 2018 and beyond. I don’t know where I’m going. I don’t know what to do. I don’t know where my path will take me. But I have chosen a path, and I have found a tool that helps me explore it. Maybe I’ll end up with a Ferrari or Civic Type R by the end of 2019. Who knows? For now, I’ll take my practical three-wheeler.

Top comments (0)

Update Your DEV Experience Level:

Settings

Go to your customization settings to nudge your home feed to show content more relevant to your developer experience level. πŸ›