I think it's more common that someone is simply not confident in their programming prowess and without that confidence may never achieve their goals. Knowing this, knowing that neither you nor I likely have the credentials or ability to prejudge someone's ability, and barring some obviously shady/impostor behavior like having bummed most of an assignment off of someone else and then asking for my help laundering it... you will almost always find me encouraging people to not feel like impostors and instead feel like programmers that are just early on in their careers.
I think such a default makes sense, and not even because it is "nice". Even pragmatically, people can often improve.
"I've got skill gaps as a programmer, especially at broad-level architectural design" is a belief that a mentally healthy person can have.
"If I express concern about my skill level, people will just say that I'm delusional" is a belief that will mess somebody up, especially if it is repeatedly re-enforced by reality.
There is no equivalence between "bullshitting people" and encouraging them to think of themselves as early on in their careers. There is no equivalence between encouraging someone to improve and ignoring someone's self-concerns about their skill level. There is no equivalence between someone currently lacking programming skill and someone being too short for the NBA.
In case I wasn't clear about it before, you shouldn't bullshit people who clearly aren't putting the work in or are having trouble getting to where they want to go. You should encourage them to think in a healthy way about their current progress and encourage them to find ways to get better and allocate the resources needed for their growth.
Agreed.
> You should encourage them to think in a healthy way about their current progress and encourage them to find ways to get better and allocate the resources needed for their growth.
Agreed.
> There is no equivalence between encouraging someone to improve and ignoring someone's self-concerns about their skill level.
It depends crucially on the words you use to encourage them to improve. I've often found 'impostor syndrome' to be stymie clarity. I might be guilty of replying to a comment that isn't quite your words though. apologies for that.
Everyone feels like they suck at programming, because they do, it's ok, everyone else sucks too.
I sometimes think that the first set of people working on most software are just trying to get it to work at all, with limited expertise and lots of duct tape. Then come some journeymen who have to add more things. And, well, when I am writing code it tends to look a lot like the stuff around it... things just get Progressively worse!
I am not a dev. I don't intentionally write bad code, but the code I write sometimes hits prod. I don't really know what "good" and "clean" really look like. Just "works" and "doesn't".
So when someone posts something like this, why is it good to talk about impostor syndrome? Because encouraging a growth mindset [0] leads to better results. Saying "Yep, you suck" isn't going to lead a person to try harder. Saying "Yep, it's natural to feel that way, everyone feels that way sometimes, and Science^TM confirms it (aka Imposter Syndrome)" allows people to step back, go easier on themselves, and focus on what they do have control over (time invested, quality of time, how they get help when they're stuck, etc, etc).
One point I'd like to make to the OP: Whether you go into professional programming or not I think that the skills, background, and experience that you're accumulating can pay off. Maybe you decide that you'd rather not program all day. Perhaps you can go into a technical & interpersonal job, like management, or developer relations, or program/project management, or Q+A, etc, etc. There's a lot of jobs in the tech field and having a background in programming will make it a lot easier to talk with programmers.
Good luck to you, whatever you choose.
--------- [0] https://www.psychologytoday.com/us/basics/growth-mindset
So if you're honestly questioning whether you are capable or not, then by definition you're not an imposter. Some people are actually imposters but they are not the ones openly asking for advice about it and asserting that they don't belong.
So no, fake it till you make it, taken seriously, is not a good advice.
Also, sometimes pressure forces person to learn something in a very short period. So, if you "fake it", but also put significant effort to quickly learn what is needed to succeed then it is not lie but a 'future promise' it would be lie only if you don't succeed.
Now I don't have to lie about my education. I would like to think its because of my skills I developed over 16 years but it could also be the times changing.
Like many here I also enjoy hobby development projects. I also suffer from imposter syndrome probably because to some commenters' point, I am an actual imposter.
The author can easily read code from others, there is no implication of other people complaining about his code, and can program in several languages.
There are also stuff that commonly causes impostor syndrome up there:
Very general surface level knowledge, problems with interview questions, and difficulty on understanding "very basic OOP concepts".
The only thing pointing to a bad programmer is that "although my solution is more likely to be a complete mess", but it's thrown there without any context on problem difficulty, code size or environmental restrictions.
Any of the best programmers I have ever met could have written that same question if they got reasons to doubt themselves.
also TIL impostor and imposter are both correct spellings (even though I got dinged for the o spelling in middle school)
Apparently, they may often think that they are good at it! See https://en.wikipedia.org/wiki/Dunning–Kruger_effect