from Hacker News

Impostor Syndrome in Programming

by Edward9 on 5/18/20, 2:03 PM with 36 comments

  • by polishdude20 on 5/18/20, 3:13 PM

    I get an imposter feeling not because I feel I know nothing but because I feel like the tech world is closing its gates to me in particular.

    When I am told by my software developer friends how quickly I've learned in the last year and when I get lots of users using my projects that reinforces the idea that I would be a great developer. But then when I apply for jobs and just keep getting rejection after rejection, it wears me down and makes me feel like an imposter who isn't cool enough to join the club you know?

  • by elliekelly on 5/18/20, 2:39 PM

    Sometimes I wonder how much of imposter syndrome comes from “knowing” something but being unable to clearly articulate what you know and the underlying information to others.

    Like the old exercise where you have to write instructions for making PB&J. I know how to make a peanut butter and jelly sandwich but when I have to explain it, clearly, and in minute detail I’m forced to acknowledge the gaps - the steps my brain just skips over and takes as a given. But PB&J is easy so even when I might struggle with articulating the mechanics of it to someone else I don’t doubt my ability. That changes quickly though as complexity increases.

    I’ve baked a lot of bread and I’m intimately familiar with how my bread dough rises differently depending on lighting, the temperature of my house, and even the material I cover the dough with while it proofs. But a lot of that happens without too much active thought - I just kind of know how to adjust my mental math for these factors. I’m not sure I could clearly and succinctly articulate this knowledge to someone else. And even now I’m having imposter syndrome wondering if someone here will tell me it’s clear I have no idea how yeast actually works... and maybe I don’t!

  • by munchbunny on 5/18/20, 2:57 PM

    I feel this pretty regularly, and I've settled on an approach where I feel like I can be helpful without too much risk of giving bad information. I bucket the statements I make into three categories:

    1. 95%+ confidence, usually meaning I've done it before, or I've seen it with my own eyes, or I am experienced in this space to the level of depth that matters for this conversation. I won't qualify my level of confidence. If I'm wrong, then I'll investigate and confirm, admit that I was wrong, and we all learn something new.

    2. 80% confidence, I'll say "I think it's ____, but you should verify."

    3. 60% or lower confidence, I just leave it at "I don't know, let me look it up".

    I think the other key is not to try to go into more depth than you know. For the example in the blog post, if someone said "So, how does React Native works? How does one write Javascript and then magically turn that into Java and Objective-C?" my response would be "Well, not quite, it adapts the native OS API's so that your JavaScript can manipulate native UI components." If they ask further, I would say "Honestly I haven't dug much further because I never needed it."

  • by commandlinefan on 5/18/20, 3:36 PM

    I don't know if I should be worried or not because I've never felt like an "impostor": I'm sure I know what I'm doing, because I spent a lot of time making sure I understand everything from the ground up, and working form first-principles to more complicated topics. If it's on a computer, I can figure out how it works because I know how computers work. What I do fear is that everybody else is judging me when I don't know the answer immediately, without spending any time researching, to every question. If I'm faced with something new - let's say, React, which I don't know anything about - my inclination is to start reading about it. But I find myself surrounded be people who imply that it should take about a half hour to read everything a programmer should ever need to read about React (or Swift, or Spark, or Kafka, or Gradle, or whatever the hell else people have decided is the flavor of the day today).
  • by Jaxkr on 5/19/20, 1:21 AM

    I’ve been programming since I was 12. I saw “real programmers” and was convinced their feats were nothing short of magic.

    And it stuck with me. I worked for a startup that got acquired by Atlassian last week, wrote their Jira Server integration which helped land Uber as a customer. But I still wasn’t a “real programmer”.

    This sounds stupid, but I never became a “real programmer” in my head until I developed a Minecraft mod. I got into programming because of Minecraft and I was always amazed by the modding wizards. I tried and failed when I was 13-15 to make mods.

    I recently took a crack at it 6 years later and it came easily. I realized that the modders weren’t wizards because I could do it now too.

    I beat imposter syndrome by going back and doing the things I couldn’t when I started programming. Makes you realize how far you’ve come and less like a fraud.

  • by mesaframe on 5/18/20, 2:40 PM

    What really helped me was meeting with other people in similar field. Looked at their work and was surprised that they weren't as good as I thought or even people sitting at higher position.

    On the other hand, I got to know that I'm not as bad as I thought. Instead I'm good. But, still even after all this. There are times when the Imposter Syndrome kicks in.

  • by martin-adams on 5/18/20, 2:45 PM

    The opening description resonates with me. I would say I'm pretty experienced in what I do, but do I know the detail of being accurate with everything? No. This is why I don't blog nearly enough because it takes a lot more time explaining details that I filter out in my day-to-day work.

    Experience can come from knowing enough concepts to make stuff work, but also knowing where to look to fill in the gaps should you need to do. It's also knowing when to fill in those gaps, and when to leave them because it's not important right now.

    I would say imposter syndrome is the anxious feel not knowing all the gaps and questioning yourself. Some people are impacted by this, others are not.

    If you adopt a growth mindset, you see these gaps as advances in your craft, and not a measurement of your inexperience.

    The real question to ask is what about that trigger is causing your to feel uneasy and become anxious. This is usually a more complex question to answer. If you can get to a point of exploring that question objectively and without judgment of yourself, you can path the way to overcoming imposter syndrome.

  • by pinton on 5/18/20, 3:48 PM

    I felt this. Pair programming can be taxing in that you don't know if you come across to your partner as knowledgeable, or, as my friend recently put it, "a wind bag." My main weapon against impostor syndrome is to turn everything into a learning experience. The way I deal with it is to explain my thought process as deeply as possible, laying out all my cards on the table. This way, the other person/people can help me tweak my understanding as I speak, so I'll emerge from the experience better equipped to speak about the topic at hand. I feel that impostor syndrome will never go away, and in some ways this is a blessing because with it comes an everlasting desire to keep learning and stay humble.
  • by Apocryphon on 5/18/20, 6:47 PM

    Why is impostor syndrome seemingly more common- or discussed more frequently- in software engineering compared to other STEM disciplines and other white collar professions in general?
  • by decompiled_dev on 5/18/20, 2:52 PM

    While imposter syndrome might be uncomfortable, I think its generally trait that helps someone become a good developer. By realizing you don't know everything you are more inclined to continually improve your knowledge.

    I think teaching and writing are also good ways of getting over it. Once you explain a concept to people you will know you don't have gaps in your knowledge to arrive at a working understanding.

    I think of it as a feeling everyone feels at some point if they care about doing a good job. If you never feel it, you are probably playing it too safe and aren't growing as fast as you could be as a result.

  • by sharker8 on 5/18/20, 2:29 PM

    How do you know whether you need to fix Impostor Syndrome or Dunning-Kruger?
  • by hpoe on 5/18/20, 2:48 PM

    If you ever start to feel comfortable, to feel like you are a genius and you have a handle on everything that's when you need to worry. Imposter syndrome will drive you motivate you and spur you to continue to improve. However Dunning-Kruger will turn you into an intolerable a-hole that everyone wants to avoid and will ruin things.

    To paraphrase Paul Graham, great hackers don't seem to wonder why they are so smart, but rather wonder why everyone else seems so incompetent.

    The trick is just to not tie, your identity, who you are, your sense of self worth to how good you are as a programmer. As long as you can avoid that embrace the imposter syndrome and let it drive you to improve, for knowledge is like compound interest, a little bit more now will result in a substantial return on investment in the future.

  • by drosebudder on 5/18/20, 4:19 PM

    The fact that there's a medium paywall preventing from me reading this article serves as "imposter syndrome" in itself.