Think of it, in almost all important moments of our careers we go unprepared and must confront a bigger, better "opponent".
When you go at an interview you meet their elite:
- best HR (its their job to do interviews so ofc its better than you at it)
- best technical people (they have more experience then you, and they will throw at you problems they solved years ago)
- best managers (again they are great in soft skills)
We ... the technical people ... are usually introverts, we don't have any strong soft skills (except when we argue about spaces vs tabs), the education system failed us again, we are not prepared to deal with awkward social events like this.
You got the job, you won. In 3, 6 or 12 months it will happen again, you have to meet the managers in a 1 on 1 or worst 1 to many. Another awkward and difficult position for an introvert. You can be "attacked" or rewarded, it can go both ways. You feel cornered, you feel lost and afraid to say the "wrong things".
You think you deserve a raise, you think that the project pipeline sucks and it needs improvement, you have to say something but you are too afraid, or don't know how to approach the problem.
You want to leave because you found a new opportunity but you do not know how to approach the situation. You postpone it until the last minute, the company is now upset because you didn't announced them earlier so they could search for a replacement. They think you are a bad guy, but we know the truth, you are just shy or want to avoid "social awkwardness".
We just want to code!!!
We are strong in hard skills, but we also need "a spear of soft skills". A salesman, an advocate, an agent, we need a "bulldog" with charisma, that is native extrovert, to be as good as us but with different skill sets to fight for us, to speak in our behalf.
There ..., I said it!
PS: it may sounds like an exaggeration or even a satire, but I saw these scenarios all around me, along the years, with me or my peers as the actors.
PS2: I would totally hire an agent :)) For interviews I would send trough him a list of questions about their teams, procedures, how much they contribute to OSS and their code quality metrics, you know, relevant stuff, unlike some stupid tests and questions we get.