Fighting Imposter Syndrome

As developers, we often find ourselves thinking “am I really getting paid to do this”. Part of that feeling comes from us having fun at our jobs, the other part comes from us feeling that we really don’t know what we are doing. Let me give a little background on my story.

My Background

When I was about 13 I had surgery on my knee and was laid up for a month. In that time period I didn’t have much to do other than play on the computer, read or watch tv. One day I found myself asking the question, “How do you make a website?”. I googled the question, and from there I learned basic Html. I learned Actionscript and Flash (to a minimal level) because I wanted to make my own games. My games pretty much were just first person shooters with stick figures, but I was hooked. I never thought this hobby of mine would ever materialize into anything of value.

In 2009 I was a student at the University of Montana. I applied for a job at Spectral Fusion Designs (SFD), the web development office on campus. I was desperate for the job so I got on my laptop and made something to bring with me into the interview. I built a little flash game that was basically a quiz about the University. It was nothing special, but I guess it was more than what other people brought with them to their interview. I worked at SFD for almost 5 years. I learned how to use HTML and CSS correctly to build an accessible and useable website. From there I learned javascript (read JQuery) and even began to write some back end code with ColdFusion and PHP. After a few years other employees, including my boss, eventually graduated and left SFD soI found myself as the senior developer at the job.

There were some big shoes to fill. My boss, Craig, had taught me everything I knew about programming and his brilliance impresses me to this day. Being the senior programmer, I took in on myself to learn enough to take on any task as well as teach the newer programmers how to complete tasks of their own. By the time I left SFD I could program, but taking on the title “Senior Developer” seemed optimistic for a recently graduated 22-year-old. But, I’m a firm believer that if you don’t believe in yourself, no one else will. So right there on top of my resume, “Senior Web Developer”.

I didn’t believe I was actually good enough. I thought I’d have to hustle and prove myself to get anyone to actually believe me. But, sure enough, I applied to 5 jobs and 4 of them came back with offers. I’ve been a Senior Developer ever since.

I Still Don’t Feel Good Enough Sometimes

I have worked on countless projects. I’ve made and saved businesses thousands of dollars from applications I have built or updated. I have built my own full functioning applications and websites from scratch. I have learned modern tech as fast as I can, from PHP4 to PHP5, Laravel 4 then Laravel 5, to Javascript: Breaking the Jquery addiction, ES6, Angular, React, Vue. To even learning server stuff: spinning up a new server, apache, nginx, cronjobs, etc. But still I can’t help but feel like a novice on occasion.

Every job I work at I feel that there’s always someone who is better than me. There’s always someone who can do everything that I can, but faster, more elegantly, with a newer technology. And it seems that every day I hear about another technology or method that I need to learn and adapt. The amount I feel I still have to learn is overbearing.

Seriously, I have 8 years of development experience, and I still feel like I don’t know anything.

So I Just Get Sh*t Done

If I think too long about how much I don’t know, it’s easy for me to start thinking about leaving the profession, or holding off all of my plans and locking myself in a room for a week to try to catch up on all this knowledge I need to feel authentic.

But I don’t like feeling worthless. So I just get things done. For my day job, I make sure I know everything that we currently use. If something is being built using a new technology, I prioritize that technology to learn first. Also, I’ve decided that I can’t be everything. I can’t be a master of programming and of server management and of design and of front end development. Instead I specialize in a few areas, and learn enough about everything else.

Regardless of new practices, technologies and frameworks I can still get a web app up and running entirely by myself. And I can do it fast and on a budget. Because let’s be honest, your client couldn’t care less how you build the their application, they just want to see the end result.

The Hustle is More Important

When it comes to contract work, all that matters is how you present yourself. Be honest with them, but don’t tell them you feel like a fraud. Yes, you can build their application. No, you don’t need to build it in a technology that came out yesterday.

Because of the pure volume of new “shiny” objects in the development world, you need to learn how to take what you need and ignore the rest. Seriously, unless you’re some kind of super developer, learn what you need and ignore those shiny things. If you communicate effectively, you’ll land those freelance jobs or that salary position you’ve been seeking.

But, Most Importantly

Have fun with what you do. If you like learning new things, go ahead. But if you feel bogged down and on the brink of mental collapse, go easy on yourself! There are still developers out there writing basic HTML and CSS for a living and enjoying every minute.

Learn at a comfortable pace, but enjoy the process. Enjoy what development allows you to do with your life, and be proud of being a developer. Don’t be too hard on yourself.

I promise most of us feel like imposters too.

Programmer — Writer. @andyhartnett12