Is this a lack of confidence?
> I've gotten passed over for jobs and promotions because I don't do a good enough job of 'selling' my experience.
Selling your experience IS an important skill. Other factors may have played a part too.
> successful software engineers I've met also have the ability to bullshit
Is it their bullshit that gets them to be successful? Or is it that they're more friendly, tactful, and and positive?
To be clear, I don't doubt that you're telling it as you see it. I'm just wondering if your perceptions match the reality.
If someone is always talking about how bad they are at something, then I'll interpret that as the person being negative, lacking confidence, and pessimistic. That's not the kind of person I'd want to be around in general, let alone hire.
I was always raised that you don't brag about yourself, you don't take credit for things you didn't really do, and you don't over promise and under deliver.
As I've gained experience, I've learned that people can take self deprecating things as gospel and as a worker it's your job to talk up your abilities and invitations to identify 'things you can improve' have to be spun in a positive way. As much as I hate to admit it, salesmanship, presentation, and ones ability to 'smooth talk' seems to get you further than raw technical ability. I don't hold it against devs that are able to do that, it's just been an adjustment for me.
There are those who constantly put in overtime to put out fires that they created. To management, these seem like hard-working, dedicated folks. Meanwhile those who design things well, don't have fires to put out, and leave on-time every day seem lazy. All too often the first group is given praise instead of the second group.
This is a point of unfairness that is rampant in the industry. I don't know of any way to solve it, besides each person being their own promoter, hype man, sales man.
If you disagree, tell me which of the two groups you are in?
I've gotten negative performance review feedback from management that was word for word from the 'things I think I can improve'. I've gotten passed over for jobs and promotions because I don't do a good enough job of 'selling' my experience.
Basically, the most successful software engineers I've met also have the ability to bullshit with the best used car salesmen, and it's hard to argue my unwillingness to do so hasn't held me back.