The greedy strategy of self improvement

2 minutes to read

The best and worst part of my job is working with really, really smart people.

Why this is the best part is probably obvious. Why it can be the worst, though, stems from the fact that it can lead to some serious self-esteem issues. It’s hard not ask yourself “Am I ever going to be as good as these people?“.

One thing that I’ve found helpful is to remind myself: even smart people are just people. They can only type so many words per minute and have so many ideas. Most of their ideas are probably bad, just like mine.

Given this, there should be some path that I can take that will get me to their skill level. Finding that path seems like a daunting task, though.

To avoid being frozen by indecision, I’ve started to employ what I call the greedy strategy of self improvement. The steps are simple:

  1. Pick the thing that you feel is holding you back the most right now.
  2. Dedicate a couple months to remedying this deficiency.
  3. Repeat steps 1. and 2. without regressing on already-addressed deficiencies.

I call this the greedy strategy because it’s what’s known in computer science as a greedy algorithm, where you take the action that seems optimal at each step along the way.

Here’s how it’s been going for me:

  • Leading up to July 2014, I’d wasted several months building beautiful systems to answer questions that I realized only in retrospect were flawed ones. So from July until September, I focused on getting answers quickly and avoiding premature perfectionism.
  • After this, I realized that people couldn’t rely on me because I wasn’t organized. I then spent October through December on organization and becoming more considerate about how I spent my time.
  • Now that I’ve got my tasks under control, I’ve found that I’m able to juggle distinct projects better, so I’m spending January through March on increasing the number of parallel projects I’m able to effectively handle.

My most recent undertaking has helped demonstrate the beauty of the greedy strategy: six months ago, I didn’t know I needed to increase my parallelism. The problem only became obvious once I had the tools I needed to address it. With the greedy strategy, I don’t need to be smart enough to craft a master plan: I just need be aware enough to recognize what needs improvement now.

Want to stay in the loop?

Subscribe and you'll get an email when there's a new post.

Next post

The beauty of numpy

Previous post

An intro to spinning boxes with Three.js