Team

A Tale of Two Imposters

July 8, 2020
A Tale of Two Imposters

Co-authored by Amanda Clouser and Scott Peterson

Imposter Syndrome is a common topic in the tech world, especially in the Software Development world. Itā€™s also a very personal topic, arising to each person for different reasons and impacting each person differently. Here is an exploration of the topic from two points of view: Amandaā€™s and Scottā€™s.

Introductions

Amanda

Hi, my name is Amanda, and I am a software developer that is floating in a constant state of self-doubt, fear, and feelings of inadequacy - aka Imposter Syndrome.

I never knew what computer science was until I got to college and felt lost in my business major. My dad is a software developer, so I switched to a Computer Science major because I didnā€™t know what else to do - and then became so intimidated by the know-it-all-been-coding-since-I-was-4 guys in my classes that I switched to the easier ā€œsisterā€ major of Information Systems (IS). Looking back, this is definitely where my Imposter Syndrome issues began and was the first time in my life that I really felt this kind of inadequacy.

Despite changing to the less machine language heavy major and sticking with IS (still had development but also a focus on project management), I landed a software development role out of college. The feelings of being not good enough for the field lessened in some ways when I got more comfortable in the tech stack, but amplified again when I learned I was on a losing side of a gender wage gap. I later moved on to Michigan Software Labs where Iā€™ve really been able to acknowledge my struggles with Imposter Syndrome and have been encouraged to shed the fear that I hold and receive affirmation that I do belong in the tech world.

Scott

Hi, my name is Scott, and Iā€™ve been a full-time software developer for about 3 years.

In my life Iā€™ve worked many jobs, been on many teams, learned many new skills, and tried many new activities. And none have produced the feeling we label as Imposter Syndrome as software development. Why is that?

I played organized baseball for twelve years. Iā€™ve been on teams where I was among the worst players and teams where I was among the best. I was always aware of my ability and contribution. By the time I stopped playing organized baseball I recognized my contribution had been on a negative relative trend for many years, and the enjoyment wasnā€™t there for me anymore. But I was never made to feel bad, even if I was among the worst players on a team. When I was among the youngest players I knew that I wasnā€™t supposed to be among the best at this age.

I took the Chartered Financial Analyst exam a handful of times, doing better each time, but never passing it. But I never felt I was an imposter, that I shouldnā€™t be taking the test. I just felt I hadnā€™t worked hard enough or didnā€™t have enough passion.

Iā€™ve started new jobs where no prior knowledge or skills were needed and excelled immediately.

Iā€™ve started jobs where prior knowledge and skills would have helped, and while I was nervous initially, I had no feeling that I didnā€™t belong or shouldnā€™t be there. Just that I was starting on a path.

But at almost every step on my software development journey, I wonder if I can do it, if Iā€™m cut out for it, if I belong.


Why is Imposter Syndrome MORE prevalent in Software Development?

Amanda

I think there are 2 main reasons Imposter Syndrome seems to be especially pervasive in the software development profession.

Media Portrayal

Pop culture, film, tv, etc all seem to portray software developers to be nerdy men with little social skills, but have a strong knowledge of all things of the micro-electronic nature. There is absolutely nothing wrong being that, but itā€™s not all that exists in the software industry.

I donā€™t feel like I fit into the tech world outside of actual development. I am a woman, I donā€™t have a clear concept of how much 1 GB is compared to 1 TB, I do not understand Pokemon, Iā€™m not entirely sure I know what a Raspberry Pi is, etc.

It feels silly to list all things that I think make me different, because despite me not fitting into the generic mold of ā€œsoftware developerā€ that has been defined by tv shows, movies, and ā€œrevenge of the nerdsā€ culture - I still have good relationships with my coworkers and I donā€™t struggle to find commonalities, and Iā€™ve learned that all my coworkers have hobbies or quirks that donā€™t necessarily align with the media portrayed role.

I actually do fit in, but the stereotype kicks me and many others right back out.

Spinning Reel of ā€œNewā€

The second reason Imposter Syndrome can be extra difficult to move forward from in software development is because of the vast amount of languages, platforms, and data storage that there is to learn, and they are changing and expanding at such a rapid speed. It can feel like you can never keep up and that you donā€™t know that much about the field - and you probably donā€™t.

Accepting not that you donā€™t know everything, but that you canā€™t know everything is crucial.

Scott

Software development is a unique collection of infinite knowledge, mixed with conceptually difficult topics, mixed with non-tangible concepts, all engulfed by the fact that little replaces pure time spent developing software.

Take a conceptually difficult subject like astrophysics. Not all people can cognitively do it. Effort, passion, time spentā€”may not be enough.

Take subjects of giant breadth, like biology or religion or law. Any single thing may not be conceptually difficult (there are of course, but relatively less), but personal attributes like determination, effort, passion, significantly affect whether youā€™ll grasp the subject.

Software has some of both.

Software is also a non-tangible world, so when someone types ~/projects/enter_narnia.bash || grep ā€œMr. Tumnusā€ -r we have no mental model or context to begin understanding what is going on. It is pure witchcraft.

Software also has a steep learning curve, so the skills and abilities of someone even five years our senior appear like sorcery.

Mix breadth, with occasional conceptual difficulty, with non-tangibility, with a steep learning curve, surrounded by wizards and sorcerers, and Iā€™m not surprised I feel like an imposter.

Software development ā€œprogressionā€ is not linear. Thereā€™s no universally accepted road map. No one can ever say, ā€œIā€™m 73% of the way there.ā€ And in the absence of those sorts of mental models, we assume that weā€™re 2.74% of the way there. Or that weā€™ll never get there.


What are the biggest manifestations of Imposter Syndrome to you?

Amanda

Fear is the first thing that comes to mind for me when I think about Imposter Syndrome. Fear of failure, fear of not knowing enough, fear that no one will resonate with what Iā€™m writing right now - I too often let fear dictate my life.

Fear of failure drives me to do better, fear of not knowing something often slows me down. Fear of rejection can stop me completely.

Iā€™ve been afraid to write a tech related blog post because I think that I donā€™t know enough, or that someone is going to tell me that what I wrote was stupid. And to be honest, I donā€™t know enough and someone probably would think what I wrote is stupid - but should that stop me from trying? I tend to assume that anything that I know is not of value to anyone else or that what I know is wrong and someone else has a better idea. Iā€™ve gotten better at controlling it, but if there is tech that is foreign to me I will spiral into thinking that everyone else knows this but me and panic that I need to learn it all, when really I just need to stop, breathe, and remember that you canā€™t and shouldnā€™t know everything.

Scott

Imposter Syndrome affects me most significantly, by causing me to assume the worst, when I donā€™t have the information or experience to assume otherwise.

When I come across something I donā€™t know how to do, I assume:

  1. that everyone else already knows how to do it
  2. I will have a hard time learning it.

When I push a commit that has lint errors, or submit a Merge Request without unit tests, or completely overthink a feature implementation, overlooking a simple way to do it, I assume that no other developer has ever done this.


How can we Handle That / Respond to That / Combat That?

Amanda

This feeling of inadequacy and fear of failure have faded a little more with every day that passes because Iā€™ve learned more about my trade and Iā€™ve also learned that with the things I donā€™t know, Iā€™ll be able to figure out. Itā€™s still easy to get wrapped up in fear when people start talking about some new technology that you havenā€™t learned yet and they are using new terminology, but I have learned that instead of either pretending to know what everyone is talking about or letting myself get stressed about not knowing something I ā€œshouldā€ know, Iā€™ll take 5-10 minutes to find and read a couple articles about the topic, and oftentimes itā€™s no longer scary or intimidating after that.

No one is expecting you to be knowledgeable in every facet of software development, itā€™s not possible and those who say they are knowledgeable are either anomalies or lying. My advice? Drop the ā€œfake it until you make itā€ attitude and embrace humility. Focus on lifting your ability to learn something - so that when there is new tech that you donā€™t know anything about, instead of feeling scattered because you donā€™t know what it is, you can have the confidence to say ā€œI donā€™t know what that is, but I can learn itā€. This isnā€™t going to come overnight, but if you can chip away the protective layer it will make you a better coworker, developer, interviewee, and person.

I think knowing that a significant amount of people around you are probably suffering from the same thing can be a great step forward to starting to shed the fear and move forward. I know I just talked about the things you donā€™t know, but when you do know something, have confidence but openness when talking about it.

Scott

I think that more than most activities I have undertaken in my life, software development requires tons of affirmation along the way.

  • ā€œyou understand that the tilde means the root of your file system, and that forward slashes separate directories (just a coder term for Folders), and that dot files are just files like anything else, and that in coding land files donā€™t always need file extensions like youā€™re used to? Here is why knowing all that is important and here is also why you have accomplished something.ā€

  • ā€œyou understand what a class is, what instantiating means, how you can access and use methods and properties on that class? Here is why knowing all that is important and here is also why you have accomplished something.ā€

Otherwise we donā€™t have the mental models to conceptualize what we have learned and why it is important. We donā€™t know if we have learned the fundamental theorem of calculus, or learned what a pencil is.

Recently during a coaching meeting I was expressing how I felt more confident and able picking up tickets, now that I needed to ask fewer questions, and was getting to MR and merged quicker. I received affirmation, but much more importantly, (my paraphrase), ā€œwhen the time inevitably arrives that you donā€™t feel that way about work youā€™re doing, DO NOT assume that youā€™ve regressed.ā€ That framing helps stave off feelings of inadequacy and imposter syndrome.

When I worked at Potbelly I didnā€™t spend 90 minutes stuck making a sandwich because of a typo, being in the wrong directory, or not being connected to the VPN. Software is a different world!


Summary/Takeaways

Amanda

  • Sometimes you have to just let time and experience do its thing and you will eventually feel a little more comfortable the more you are immersed in the software world

  • You arenā€™t the only one that feels like youā€™re faking it ā€˜till you make it

  • Buzzwords are just buzzwords, donā€™t let them scare you.

  • You do not have to conform to the ā€œnerdā€ stereotype that media places on software developers, most of us donā€™t.

Scott

  • When teaching, always be looking for ways to contextualize / benchmark / quantify what youā€™re teaching.

  • When youā€™re learning, do the same.

  • Do not observe impressive, unfamiliar, and mysterious abilities of others in a vacuum, assuming that you: (1) should be able to do that now, (2) would not be able to learn how.

Amanda Clouser
Amanda Clouser
Development Practice Co-Lead

Looking for more like this?

Sign up for our monthly newsletter to receive helpful articles, case studies, and stories from our team.

Between the brackets: MichiganLabsā€™ approach to software development
Development Team

Between the brackets: MichiganLabsā€™ approach to software development

February 12, 2024

Read more
Simplifying the 4 forces of AI
Business

Simplifying the 4 forces of AI

April 9, 2024

Artificial Intelligence (AI) is becoming more prevalent, but less understood. Through examples of organizations leading the charge in each of these areas, I hope to empower you to make better decisions for your enterprise and career.

Read more
Chicago Roboto 2022 Retrospective
Android Development

Chicago Roboto 2022 Retrospective

August 11, 2022

Scott Schmitz shares some notes of interest from talks at Chicago Roboto 2022, an Android community conference, that took place August 1-2.

Read more
View more articles