The thought, “I don’t even know what I’m doing,” is one of the single most frequent thoughts I have had in my past year as a developer. Everything I do at my job is self taught, which means that all of my failures and successes just come down to how hard I work to teach myself. I regularly fear that I’ve somehow tricked everyone into believing I can do this programming stuff, and one day they’ll all realize that I am just an amateur and call me out for not knowing anything.
This post is how I talk myself out of that spiral of self-doubt.
Mistakes are good
I think a lot of this pressure and worry about not being as good enough stems from my fear of failure. It is very hard to fail, but we are designed to fail. Humans are incredibly resilient, and from a very basic standpoint, people still find ways to live without clothing or shelter or regular income. We can handle a few code failures, write a few bugs on accident, forget assignments and not meet expectations, and we will be just fine. Even if we somehow had all of this taken away from us and woke up in a foreign country where we didn’t know the language, we would find a way to survive.
So be happy about mistakes. These are little things, and you will be okay.
Everyone is/was an amateur
Jen Myers gave this great talk at The Future of Web Apps conference about how not to be an expert. She pretty much says that it’s foolish to strive for some misty undefined goal of being an expert. No one really knows what an expert is, or what makes it a good goal to have. The best way to stay motivated is to not chase a social construct. The people we consider experts were all “Questioners and searchers and explorers and learners and beginners and screw-ups and risk-takers and punks and freedom fighters and rebels with causes” (Jen Myers, ~24 minutes).
We are following behind non-experts, and we don’t have to try to be perfect. We just have to keep trying.
Web development is actual wizardry
When I go back and check out the work that I’ve done, I feel pretty proud of it. I’ve made carousels work on a whole range of device widths, created apps that people can install, and made machines talk to each other across networks. When you think about what we actually accomplish, it’s pretty crazy. We are writing words that create beautiful layouts and styles and interactions that real people across the world get to use every day. We make things in this imaginary universe called the internet, and we do crazy stuff with it like talk in real time across continents and draw millions of moving particles in dust cloud simulations. We get to sit in front of a machine, turn our thoughts into reality, and share them with the world. As soon as I remember just how neat this is, I forget any fear I have about being an imposter or not knowing enough. It doesn’t matter if my ideas or code are not as good as someone else’s, we both are a part of something really cool, and we are both making it cooler in little ways.
The burnout is real, you will feel it or maybe you are feeling it now. Take a break, try out something new like improv comedy or boxing lessons. Remember what it’s like to be a beginner, and realize that you are really great at what you do, and you’ve come a long way from feeling like a beginner. Keep trying, keep failing, and fail bigger. You can handle it, and what you do is really cool.