I used to look at software developer peers and not understand anything they were talking about and automatically assume they were better developers than me. I measured their expertise based on how little I understood what they were saying. But everything they were saying could've been inaccurate, and I wouldn't know any better.

Do you see how ridiculous that is? My lack of knowledge is a measure for their brilliance. And you should not be doing that to yourself. Do as I say, not as I do, lol.

There will be things you know really, really well, that other developers don't know. There will things other developers know really well, that you don't know. And it doesn't mean you or they are any less of a developer. You just have different skill sets within a very vast subject.

The software and web development space is an endless ocean in terms of topics and subtopics. There's front end development. There's back end development. There's mobile development. There's HTML e-mail development. There's Wordpress CMS development. There's mainframe development. There's security engineering. There's site reliability. There's front end platform and tooling.

Would you assess a person with deep experience in e-mail development, based on a back end development job description? Fault them for not knowing how to design a database? Would you quiz a primarily-back-end developer about the intricacies of Flexbox or CSS grid? (maybe, they've surprised and delighted me at times.)

Developers come in all sorts of shades and intensities. And they are human, with a vast range of experiences and life lessons. Some of those experiences have shaped how they process information and how they perform in their job. No developer is like the other, despite titles and role descriptions they supposedly have. You offer a unique set of strengths that no one else has, that someone/some company/some user base needs.

Back to assessing yourself. Don't assess yourself based on how little you understand someone else's fancy talk. Don't feel like you're any less of a developer just because someone is talking circles around you. Of course, be curious, keep learning, yadda yadda yadda. But also don't be so hard on yourself if you don't know anything that someone's talking about. They probably don't know anything you know really, really well. Flip the scene around for a moment.

There will be people who will subtly gaslight you for not knowing something, and then there's you. You can be gaslighting yourself for feeling inadequate, when really, all you have to do is ask. Sure, revealing yourself as "not-knowing" is a big fear. But once you know, you know, and you can move on and contribute.

No one is keeping a score card for every time you ask a "stupid question". And if they are, I feel sorry that they have chosen to expend their energy on such minutiae. If the fear is that they'll fire you for asking basic questions, I assure you, then, they are not the people you want to be around anyway. Remember that no one makes it on their own. Every single person, even the best developer you know, got help, and keeps getting help.

If you feel like you're on this comparison treadmill that you can't get off of, here are some suggestions:

  • Get off of LinkedIn. Seriously, when did LinkedIn bring you real value? It is a space where you look up past peers and classmates to see what they're up to now and that can't make you feel good unless you're an unusual cheerleader breed who feels deep happiness for everyone who reaches CTO in 5 years (or values that as a professional goal to be coveted and envied).
  • Stop holding yourself and others so strongly by internal job titles. A software engineer is a software engineer. Junior, intermediate, senior, staff, principal – they are all engineers/developers to you. Of course you should recognize titles with respect at work; but, in your day to day interactions, they are just a person who might hold more information that you, too, can obtain.
  • Buff up. It is not impossible that you don't know enough about what you ought to know in your role. Increasing your knowledge and expertise in an area takes concerted effort. Don't expect perfection; expect progress from yourself. Accept that you will have to keep learning, and give it a go every day.