I failed at becoming a programmer.
Social media, particularly #TechTwitter, is filled with beautifully talented people from all walks of life. When I first started my tech journey in 2020, I constantly saw developers post their projects, which made me excited. Seeing people create something out of nothing and having those creations be beautiful and functional inspired me to jump right in. Programming couldn’t possibly be that hard, right? All of the people on Twitter made it look so easy. Reality hit, and it hit hard.
I didn’t know what I didn’t know. I had no clue what I was doing or what I signed up for. I jumped in headfirst with a blindfold wrapped around my head. I lacked all the fundamental skills needed to learn about programming, but that didn’t stop me from enrolling in a software engineering bootcamp. Day 1 arrived, the learning gap became apparent, and I immediately fell behind. I couldn’t even create a file using the terminal while my peers created fully functioning programs. I’ve always been good at the things I try with little to no effort on my part (a blessing and a curse, I’m realizing), but with programming, I was a failure from the start. As days passed and my cohort advanced while I remained stuck on the terminal, several things began to hit me: imposter syndrome, anger, embarrassment, and disappointment.
I felt like an imposter because if this was a Bootcamp for beginners and I couldn’t do even the most basic things, what was the point of me trying? I felt anger because I couldn’t master specific skills or advance through the program as I wanted. As a perfectionist and over-achiever, this was the ultimate ego blow. I felt embarrassed because I couldn’t even Google search my way to the answers I needed. I felt like an idiot asking for help. Seeing the faces of my instructors when they made it clear that they were shocked that I didn’t know relatively simple things. Why couldn’t I understand the simple stuff? I felt disappointed because I put all of my eggs in this basket just for them to be crushed by my own effort.
So I did what any sane person would do; I quit. It took me weeks to send the official withdrawal email to my Bootcamp. I was crushed by the fact that becoming a programmer was a dream deferred. I failed. In a fit of rage, I rebooted my computer. I wanted to literally wipe the memory of any attempts I made at becoming a programmer. I didn’t want to be reminded of my failures. My failure pushed me into a depressive episode. My self-proclaimed incompetence took a toll on me.
It wasn’t until I quit that I began making the most progress. Instead of completely removing myself from tech, I tried different avenues. Software engineering was obviously not for me, so I pushed and pulled myself through UX/UI design, front-end development, back-end development, and even learned IT fundamentals. I am so grateful for my failure because it exposed me to a breadth of knowledge.
I began enrolling in different courses, learning about computers, the terminal, starting the journey of becoming a GitHub master, and one day, something clicked. All of a sudden, the terminal wasn’t this intimidating place. I actually knew how to use commands properly. When I began designing websites, I took my learning to the next level and began to build those websites. I babied stepped my way back into programming.
My inner educator realized I wasn’t a failure; I didn’t know how to learn appropriately for my skillset. I approached technical things the same way I approached the things that came extremely easy to me, setting me up for failure. Once I shifted my perspective and created an actual learning plan that met my needs, the skills poured in.
I am far from the developer I want to be. Still, two years later, I have the confidence and skillset to build functioning programs in multiple languages. I am dedicating myself to writing a line of code every day of 2022; so far, I haven’t missed a day. I took my learning further by enrolling in a Computer Programming AAS degree program. On the first day of class, one of my classmates said something that stuck out to me, “I am a failure, but being a failure is a choice. I am trying to do something about it now.”
That reflects my current state perfectly. Failure is simply a redirection. If it weren’t for all of my trials and tribulations, I more than likely wouldn’t be where I am today in my journey. I went from crying at the terminal to experiencing joy each time I opened a text editor. I now look forward to the moments when I can write code. I am more dedicated to being a developer now than when I first began my journey.
With all of that being said, I hope you don’t quit, not forever at least. If you’re a beginner and clicked on this article because you saw the title and resonated with it, I hope my triumph inspires yours. I hope you know that you are far from incompetent. I hope you know that you absolutely have the ability to become a great developer. I hope you don’t allow a learning curve to keep you away from the terminal. It’s all about perspective. Change your approach if your first attempt at programming didn’t work out the way you hoped. Remember, friends, do or do not; there is no try. Happy learning!