I’ve battled with perfectionist tendencies my whole life. It didn’t start becoming an issue until I was in film school. Staying up until 3:00 in the morning to get a film I was working on to look and feel just right led to some unhealthy sleep habits. Luckily, I was in my 20s and could bounce back from those poor decisions with ease.

An additional benefit: not considering how I was treating myself back then has made me much more aware of how I’m treating myself now. Mistakes are the best teachers!

Learning is a bumpy road. You’re going to hit some potholes, take some turns going way too fast, possibly screw up your alignment for a while. There’s no quick and easy path toward improvement.

In my case, just because I’ve learned more about my destructive habits doesn’t mean that I’m always going to be successful at avoiding them. It’s always all too easy to fall off the wagon and get mired in the muck of past mistakes. I know that I can be a perfectionist, but simply knowing that doesn’t mean I’ll forever be able to avoid it.

A few weeks ago, I took a hard look at myself and wondered what purpose I had. What was I doing with my life, or what did I want to do with it? I wasn’t able to come up with any compelling answer to any question I asked, which felt like a bucket of cold water dumped over my head. At my relatively young—but still not all that young—age, not being able to come up with those answers felt unacceptable to me. I took some time to ask myself what I’m interested in and what I think I could be good at doing.

My idea was to learn how to program; specifically, I’m currently teaching myself Swift, Apple’s new-ish programming language for their devices. I think I had some good reasons for committing myself to this endeavor:

  • I’m a fan of Apple, its history, and its products.
  • I think I have some general aptitude for programming languages. I’ve dabbled in HTML and CSS (admittedly, very different languages) and didn’t run away screaming.
  • There are still many good opportunities for people with programming skills, even, I hope, for someone of my age.

I’ve found some compelling online courses and am starting to collect whatever helpful books I can get my hands on. I’m lucky that there are countless resources for this language, and programming concepts in general.1

But like anything worth doing, learning Swift hasn’t been easy. It’s been challenging from the get-go. For someone who struggles with perfectionism, being unable to quickly grasp what I’m learning or running into roadblocks with my code can feel disheartening. In fact, it’s what has kept me from pursuing this knowledge and career path until now. Hitting a wall doesn’t feel fun, especially if you also make the mistake of comparing yourself to other people who appear to be pole vaulting over those formidable walls. That’s just a recipe for disaster.

There’s a vast amount of stuff for me to learn. Indeed, from what I’ve heard, there will never be an end to my education. Technology moves, well, swiftly, and new concepts are created every day. Programming will be a forever challenge.

Having that awareness doesn’t always help avoid hits to my confidence when I have a tough day learning these new things. Perfectionism is not a rational feeling. For instance, I started learning Swift a couple of weeks ago. Of course I’m going to find all of this new information tough to understand, coalesce in my mind, and implement. Rough days are bound to happen. Struggling with everything that a for loop or a func can do is not a sign of me failing. It just means that the subject matter is difficult and complex.

However, I’ve been told that those frustrations are part of the process. Programming is not an easy or totally carefree gig for anybody. If I wanted to do something that wasn’t challenging, then I sure as heck picked the wrong profession. Convincing myself otherwise is a good way to wind up back in a life lacking in purpose.

Instead, tough days are good opportunities to practice patience and stick-to-itiveness. Fighting against perfectionism is going to be as difficult as learning how to program, but both are worth doing. It’s a day-by-day process, and I’m looking forward to learning and improving tomorrow.


  1. Heck, we’re all lucky that we live in a world where Google, Stack Overflow, and the rest of the entire freaking internet is available to so many people. ↩︎