DEV Community

Discussion on: What helps build developer confidence?

 
codemouse92 profile image
Jason C. McDonald • Edited

I think it's just a real feeling experienced by over-compensated US developers.

Nope. People all over the world experience it the same, including hobbyist open source developers who don't get paid at all, students who actually are paying for school or the bootcamp, and even extraordinarily talented and skilled developers with decades of experience.

You get imposter because you definitely know you are not providing 120K value in a year being barely out of school. But I could be wrong!

That is absolutely not the cause. Imposter Syndrome is seldom based in reality; it's an overactive critical self voice. You need to read (not comment on...read to learn instead) the articles on this site about it. There are a lot of them from people of all backgrounds.

Didn't really mean that I point out someone's mistake to hurt their feelings.

Seldom is the intention to hurt someone's feelings; almost always, the person doing the damage thinks they're being "constructive". It flows out of a lack of awareness of how one's words affect another.

Usually no one is more aware of your weaknesses than yourself, but we're usually the last person to tell ourselves positive things. (If one is seldom aware of one's own weaknesses, that should be an internal warning of an oversized ego.)

I meant it in a context of code review rather than unsolicited advice.

Yep, and code reviews are where some of the worst damage occurs. This is true of both formal reviews through pull requests or what have you, or informally in the context of asking for help. Code reviews too quickly turn into a reenactment of middle school dodgeball, where the reviewer(s) try to feel better about their own coding skills by ripping into someone else. "I'm just providing honest feedback" is the favorite self-justification for this.

When I code review, while I'm honest about what needs to improve, I keep two things in mind:

(1) Phrasing matters! I am to teach, rather than criticize. Be patient. Choose words that make the code the problem and target, rather than the coder.

(2) I look for at least one positive thing to point out in every review. Code is seldom devoid of anything good. I'll usually highlight a technique I learned from the code, a superb comment, or a clever (in a good way) implementation decision.

By the way, this is exactly why interpersonal skills are so important in programming. The most technically proficient developer becomes nothing more than an obstacle to their team when they lack the interpersonal skills necessary to communicate clearly and constructively with their peers (of all levels), clients, and users. Words matter.