This Shouldn't Be Hard

As you are working your way to the goal, you should be able to be clearminded about how you aim on getting there and when you are slowed down for silly reasons do not accept them as excuses. Say to yourself, “I know what I need to do, it shouldn’t be this hard.”

Overall, you should be working toward writing functional code that achieves a goal.

Oftentimes we get stuck on the actual specifics of a task: how do we set up the branch, how the dev environment gets up and running, etc.

These are obstacles. Keep your eyes on the prize. If you can imagine a problem, if you have a clear vision for how to do it, this is all that matters. Process and tools are a means to the goal, not necessarily a requisite of getting to it.

You must achieve your end goals despite everything in front of you. You have a vision and it should be as little friction as possible. This means minimizing unnecessary steps and busywork. Automate it. Don’t do it if you don’t have to.

  1. Document and work around pain points, make sure they do not remain painful for long.
  2. Can you make them less painful via changing the broken parts?
  3. Can you make them less painful via “sharpening your tools;” i.e. getting better at working with the system via practice?
  4. Break the rules if the process gets in your way: you have a goal and it is not your goal to get stopped by the journey.

Always stop and think to yourself: I know how to solve this, it shouldn’t be hard to get that solution out into the world. Treat each hindrance with the utmost of contempt.