Hello, this article is part of a Death by 1000 Cuts series that shines a light on glaring software development industry failures. I'm confident you'll find 1000 articles someday.

Technology Know-It-Alls are unpleasant. Sure, they’re a wealth of information, but they wear us down.

Knowing everything is impossible, especially in the software industry. There are many languages & frameworks one could spend their life learning.

Languages & frameworks are tools learned based on need.

I Know Everything

If you’re in the software industry, you’ve encountered a technology-know-it-all. Know-it-alls know to say something when they’ve thoroughly absorbed a subject and remain silent when they haven’t. Acting like they know everything is hard work and takes energy. It’s an art form.

Knowing your limits, voicing them, and saying, “I don’t know, but I’ll find out!”_ takes courage. It demonstrates a desire to learn and shows others it’s OK to have knowledge gaps.

I’ll take curiosity over know-it-alls any day.

Don’t Say Anything

The result of prolific know-it-alls is a room of dead air. When you say something, you’ll find a compiler that parses your statements for errors.

Allowing a know-it-all culture to grow creates an environment of fear. Great people keep their mouths shut, fearing the know-it-alls will break their statements.

You’re mistaken

If you’re married, you know being right isn’t the best outcome. Fighting to be right is both childish and ridiculous. Facts are essential but proving them mustn’t be adversarial.

Software engineers love solving problems, and the only thing better than solving problems is solving them as a team. Sure, taking the glory and solving a complex issue feels terrific, but do you know your solution is the best?

Often a problem is solved with simplified architecture. More eyes lead to better architectural designs, and teams add extra eyes.

Being right won’t win a prize. Constantly telling people how something works won’t fix the person or their problems.

Balancing

We’re all humans, and to err is human. Being correct is essential when it matters. Making a production software deployment mistake should be avoided. If you fail, learn from it and eliminate future errors.

Imagine you create software that risks lives; knowing it all is essential. Take the time to learn every detail, and know everything. If lives aren’t on the line, relax.

Even when you know it all, please keep it to yourself and correct people when serious consequences may arise. It’s not easy to balance, but you’ll find a way.

Solutions

  1. Accept reasonable mistakes
  2. Realize perfection isn’t a job requirement
  3. Chill out

Other Deadly Cuts