Working in a highly technical career like software development, I often worry that I’m missing something or that other people are far more intelligent than me. I work with many talented intellectual minds, making it difficult to recognize my skill level and talent at times. Imposter syndrome has been hard to overcome, especially since I didn’t take the “typical” path to become a software developer.
Growing up, I felt like the only way to become a software developer was:
- Take computer science classes in high school.
- Attend a university that ranks well in Computer Science and Engineering.
- Work summer internships to gain more experience.
- Graduate with a bachelor’s degree and a high GPA.
- Land a job at some Silicon Valley firm or with a Tech Giant.
- Immediately start writing complicated algorithms and data structures.
And ta-da! You’re a genius software developer.
However, I thankfully discovered that there are many different paths. Sometimes, it involves hard work and trying things that seem impossible.
Why I Took the Path Less Traveled
I’ve always been interested in technology. Whether it was computers, video games, electronic speedometers on car dashboards, or the internet, I was fascinated with how technology allowed people to provide new and more immersive experiences.
Because I was homeschooled from kindergarten through twelfth grade, my version of a computer science class was working on HTML websites in GeoCities with my mom. As I got closer to applying for college, I was determined to incorporate technology into my future career. I decided to major in computer engineering, hoping to get into video game development or software testing or work with computer hardware in some way because I enjoyed building computers. The idea of becoming a professional software developer didn’t really occur to me because developers had always been portrayed as some unapproachable genius-level talent.
Unfortunately, after starting college, I struggled with some medical issues. That, combined with the additional stress of working a part-time job with a rigorous class load, eventually caused me to drop out. Since I dropped out, I figured I couldn’t do much in the tech industry because I had no internships and little work experience besides a few IT jobs.
I ended up getting a full-time service desk job working the midnight shift to make ends meet. Because of the flexibility of my work hours, I could study other topics on my own whenever work wasn’t busy. I thought I might be able to work my way up in an organization, from the service desk level to maybe being a support lead or perhaps someone that fixed bugs, but certainly not a software developer. My aspirations were limited.
It wasn’t until I became interested in a strange hockey video game with a small, dedicated community during this time that I realized I could potentially be a software developer. I spent time outside of work preparing to play the game or digging into some of the code to try to add new features (as the developer at the time did not support the game). I realized that I could automate some parts of the game broadcasting, handling the schedule and teams, so I didn’t have to copy and paste a bunch of stuff from Google Sheets.
I started working with Python (something I had some experience with before) to connect to Google Sheets, get data from a spreadsheet and put it in a local file with a specific structure so it would show up correctly on the stream. I also utilized Codecademy, a site that teaches programming skills, to brush up on some of the syntax or concepts I needed help understanding. I did this for several months and continued to work on improving my development skills in my spare time.
How An Uber Ride Changed My Course
The future of my service desk job got shaky, so I began searching for options to ensure I stayed financially stable and started driving for Uber to help supplement my income.
Before Uber, I wasn’t always the most social person – awkward, shy, and nerdy. I struggled with networking and socializing. Meeting others or making small talk wasn’t something I did often. As I started driving for Uber, I quickly realized that I had to improve my conversational skills if I wanted to make sure my rides were comfortable and exciting.
I practiced with each ride. At the time, Uber was pretty new for many people, so I’d often have conversations about the craziest drive I’d ever had or how I started driving for Uber. I began refining my story and quickly realized I still wasn’t sure what I wanted to do with my life. People would ask me questions to which I didn’t have good answers, so I spent a lot of time soul-searching and drilling down.
Eventually, I concluded that I wanted to do software development as more of a profession than a hobby. I began looking for open jobs in the area. However, all the jobs I found required a full bachelor’s degree. I put out applications to see what options I might have. While I was able to get some interviews, I found many difficulties due to my lack of formal development experience. I was told I had the skills to be a QA engineer but not a software developer.
But one night, I picked up an Uber passenger keen on talking about software development. As I shared my story, she mentioned that the company she worked for was hiring, and it sounded like I might have the right skill set because of my willingness to learn new things. She encouraged me to check out their website and apply.
I didn’t want to put too much hope into getting the role because I had already been rejected for multiple software developer positions. But after reading the job description, it seemed like a great opportunity. The job post indicated the dream job: 100% paid benefits, 401k, unlimited vacation, and a results-only work environment. And most importantly, the copy stated that a bachelor’s degree wasn’t required.
So, I submitted my application…and crossed my fingers, unsure if it would get a positive reception. Then one morning, I got an email from the hiring manager saying they had reviewed my application and wanted to send a programming challenge to determine if I was a good fit. I started working on the problem immediately, firing up my code editor and hacking away. After a couple of back-and-forwards with the code reviewer, I submitted my solution, and we moved on to scheduling an interview.
They noted that I would need to brush up on my JavaScript for the interview. Of course, I didn’t know JavaScript at the time, so I quickly looked up some tutorials and tried to pack as much information as possible into the days I had before the interview. I went to the office, talked with the hiring team for a few hours, discussed the code I had written as a hobby, went out for tacos…and next thing you know, I was holding an offer letter.
I was thrilled – the dream I thought was over was now within reach.
Overcoming Imposter Syndrome
I had no idea what a typical workday looked like at a professional software firm when I started at Frogslayer. I found myself accelerating rapidly in my development skills with teammates always willing to help me out. I felt seen and valued, like my input mattered, even though I had much less experience than everyone else. And this is why I’ve been able to fight the feelings of being “an imposter” or “less of a developer” since becoming a professional software developer.
Does imposter syndrome ever go away? Maybe, but I still struggle with it from time to time, even as a senior software developer with a bevy of projects under my belt. Here’s my advice to anyone who is struggling with imposter syndrome:
- Seek feedback.
One of Frogslayer’s core values is Act Transparently. Because of this, my teammates are open and honest with their feedback for me and vice-versa. When I receive positive feedback, it reminds me that I know what I’m doing. Don’t be afraid to ask for feedback because it’ll only help you improve and reach your goals. - Share doubts with your peers.
I found that when I shared my experiences and self-doubt with others on my team, I wasn’t the only one who felt insecure. Having a support system and knowing that I wasn’t alone in how I felt made it easier to cope. - Find a mentor.
Seeking mentors who could separate my fears from valid self-criticism has been vital to growing as a software developer. Getting guidance from a more senior or experienced developer can help provide perspective. - Don’t give up.
There was a while when I let the feelings of inadequacy keep me from pursuing software development. Had I not been willing to step outside my comfort zone and continue to push toward my goal, I would have missed the opportunity to become a software developer. If you are motivated and willing to learn, there’s a place for you in software development.