Code Envy is a Real Thing

Luckily, it’s treatable.

David Hunt
When Code Explodes!
4 min readDec 29, 2015

--

Last year I read an article by about overcoming impostor syndrome. It’s a good read and that concept has stuck with me the last few months. I am no impostor, however I do experience frustration and anxiety at times related to my perceived shortcomings in code, applications, and general programming. I experience code envy.

What is code envy?

The term is fairly straightforward yet it can mean different things to different people. In fact, I am inclined to see code envy as more of a temporary situation than a permanent state of mind. It is not impostor syndrome.

Copyright 2009–2015 Plataformatec

For instance, you’ve probably felt code envy if you have used Devise before, at least your first time, and wanted to customize a route or add additional parameters to a Devise form. Did you open up Devise and try to decipher what is going on a majority of the time? I did and I was lost the first time.

Okay, in Javascript, what about lodash? Which methods are a component of the library and which are inherent to Node? Don’t feel bad, I think it’s initially confusing for everyone.

We also experience code envy caused by interacting with other developers, either directly through their code or indirectly in such ways as reading their tutorials, listening to them speak on a topic, or by using a finished application we don’t understand. Therefore, let’s define code envy as —

feeling inadequate about one’s own programming skills due to confusion caused by some external force.

There are three key points in our definition. The first is feeling, as in, we are feeling this way whether it is true or not. Feelings are caused by chemicals and are not necessarily backed by evidence. In fact, feelings are generally based on our own perceptions or beliefs. The second key is confusion. Confusion is a state, and as we know as programmers, states change. Finally, the cause is an external force. This tells us that we probably don’t have control over the force causing our confusion. It’s important to remember that we can only change what we can change.

How do we treat code envy?

My first draft made this section quite long. As I read through it, I realized how silly it was to make it so complicated. You can’t just tell someone who is depressed not to be depressed.

Although, we can’t avoid code envy, at least most of us can’t, what we can do is not let it impede us from moving forward. Beating code envy shouldn’t be as complex as the issue itself or its cause, so let’s make it simple —

  • Tell yourself that the way you feel isn’t backed by any sort of rational evidence.
  • Remember that the source of your external force has likely spent many years and thousands of hours writing code. In fact, contact them. Ask them to explain what they’re doing. We all love to talk about our work.
  • Try to move away from whatever is overwhelming you. If it’s a tutorial, move on to one that’s less complex. If it’s a library, Google it. There is almost certainly an example or 10 on Stackoverflow.
  • Ask for help. Talk to a coworker, friend, or random developer at Starbucks. Post your own question to Stackoverflow or find a discussion group specific to the language or library you’re working with.
  • Choose something about the subject and work to understand that small component. For instance, recreate your own method that mimics lodash’s isUndefined().
  • Write code that has nothing to do with the subject you’re on. Getting into a rhythm can help your confidence, and when you come back to it, the mountain won’t seem as high.
  • STOP. Get up and go outside. Do anything away from your computer and phone. A recharge can do wonders for your brain, especially one that doesn’t involve a screen.

Fact: these solutions won’t and can’t help everyone who experiences code envy. They have helped me, though, and can help some of you. By treating code envy early we can prevent it from growing into full fledged impostor syndrome. The first step is acknowledging the anxiety exists and understanding that we all experience it once in a while.

That’s my perception of code envy, something I believe to be quite real. Have you ever experienced code envy? What did you do to move forward?

--

--