
Impostor Syndrome in Programming - Edward9
https://medium.com/groftware/impostor-syndrome-in-tech-ac1911836c12
======
polishdude20
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?

~~~
eropple
Lots of users using your projects, and this is a little perplexing but true,
is not the most indicative thing with regards to being a good or great
software developer in industry. One of the unfortunate realities of our
industry is that we have allowed "developers" to, not always but quite often,
be reduced to checkbox-checking, acceptance-criteria-filling bolt turners. It
is Taylorism[0] writ large, and while scientific management has some
undeniable benefits it is all too easy to turn craftspeople into...well, like
I said, bolt turners.

Being good at shipping products doesn't make you a good bolt turner. It's
something to be proud of, to be sure. But it's not something that translates
into interview success at most places.

I would advise some mock interviews, etc. with those friends (assuming you
have friends who have the insight of a hiring manager in whatever you're
looking at) and see where you fall.

[0] -
[https://en.wikipedia.org/wiki/Scientific_management](https://en.wikipedia.org/wiki/Scientific_management)

~~~
kfarr
I agree and disagree with this. I agree that in many environments their
definition of a "great software developer" is a bolt turner.

However I think that in many other environments, especially early stage, a
"great software developer" is someone that makes sure the user's problems are
met and that is definitely measured by usage.

~~~
eropple
These places certainly still exist! I'm fortunate to work in one. But they're
also more rare and the requirements to land those jobs tend to be more
stringent. The OP sounds like a relatively junior developer, albeit a highly
motivated one; that's often a tough fit for such roles.

------
elliekelly
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!

~~~
decompiled_dev
I think actually teaching people is a great way of getting mastery at
something. If you teach people and they get good results you can be confidant
you know enough about the subject.

~~~
elliekelly
Yes! I’ve heard of the “plus-minus-equal” learning concept. You need someone
with more knowledge to learn from (your plus), someone at the same knowledge
to work through problems with together (your equal), and then someone to teach
(your minus) so that you can be sure you’ve truly mastered the material.

------
munchbunny
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."

------
commandlinefan
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).

~~~
dfxm12
_I don 't know if I should be worried or not because I've never felt like an
"impostor"_

You don't need to be worried.

 _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._

I think there's little to fear here. Most people's judgement of you doesn't
matter that much. Hopefully you have a good enough relationship with the rest
that you can communicate realistic expectations with them.

 _But I find myself surrounded be people who imply that it should take about a
half hour to read everything..._

I think this comes down to communication as well. Are they _implying_ this?
Are you _inferring_ this? And, on the other hand, do these people _really_
know how long it should take? In my experience, they often don't.

~~~
commandlinefan
> Are they implying this? Are you inferring this?

It's usually more along the lines of anxious, concerned looks coupled with
phrases like, "how long will it take you to learn it", or "well, what part
don't you understand", or "Have you tried asking Bob, he knows that".

------
Jaxkr
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.

------
mesaframe
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.

------
martin-adams
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.

------
pinton
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.

------
Apocryphon
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?

------
decompiled_dev
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.

------
sharker8
How do you know whether you need to fix Impostor Syndrome or Dunning-Kruger?

~~~
sokoloff
1/4 glib, 3/4 honest prediction: if you are asking the question _about
yourself_ , it's probably Impostor Syndrome at work.

~~~
sharker8
Equally glib/honest response: Or Dunning-Kruger, because you are attempting to
diagnose cognitive/psychological biases without formal training.

------
hpoe
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.

~~~
jondubois
I don't agree with this view because it assumes that all developers receive
more positive feedback and attention than they deserve.

If nobody is giving someone good feedback about their work, then it's
impossible for them to feel like an impostor. There are many great developers
out there who rarely get positive feedback about their work and they have no
idea what people are talking about when they mention 'impostor syndrome'.

You'd be surprised by how many people fall through the cracks of the system;
these people will never understand this idea of 'impostor syndrome'. I've been
coding for over 15 years, both in my spare time and full time job. I've worked
7 days a week on open source. I've build several significant, scalable
systems. In addition to my open source side projects, I've worked for at least
a dozen different companies of all sizes in different industries and different
countries.

The main theme of my career has been one of feeling constantly undervalued.
I'm confident today precisely because I've been constantly undervalued in the
past and this adverse environment has been the main driver for me to improve.

Recently, I started getting excellent feedback for my work, but it's not
because I suddenly became a better developer, it's just that I changed
companies too often to get noticed before and also I got very lucky that the
people I work with now are smart enough to notice and have enough money in
their pockets such that their opinions are taken seriously.

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

