We can admit our knowledge gaps

marsicdev | 2019-01-10

All notes

There is a great post by Dan Abramov on his Overreacted blog that I really relate to and until I write my own “Things I Don’t Know” post I’m just writing down his words to have as a reminder for the future.

We can admit our knowledge gaps, may or may not feel like impostors, and still have deeply valuable expertise that takes years of hard work to develop.

First, there is often an unrealistic expectation that an experienced engineer knows every technology in their field. Have you seen a “learning roadmap” that consists of a hundred libraries and tools? It’s useful — but intimidating.

What’s more, no matter how experienced you get, you may still find yourself switching between feeling capable, inadequate (“Impostor syndrome”), and overconfident (“Dunning–Kruger effect”). It depends on your environment, job, personality, teammates, mental state, time of day, and so on.

Experienced developers sometimes open up about their insecurities to encourage beginners. But there’s a world of difference between a seasoned surgeon who still gets the jitters and a student holding their first scalpel!

Hearing how “we’re all junior developers” can be disheartening and sound like empty talk to the learners faced with an actual gap in knowledge. Feel-good confessions from well-intentioned practitioners like me can’t bridge it.

Still, even experienced engineers have many knowledge gaps. This post is about mine, and I encourage those who can afford similar vulnerability to share their own. But let’s not devalue our experience while we do that.

Source: Things I Don’t Know as of 2018

Related notes

What you write today, will be legacy tomorrow

This is a normal process tied to software development

software  legacy 

Code organization

How you structure your code is a reflection on you and your work.


Quality software and clean architecture

We know that writing quality software is hard and complex. It is not only about satisfying requirements

software  architecture 

Code is data, and data is code

The data in your genes is code. The floor plans for your house are code.


Software Rewrite

In some ways, recreating a program is like remaking a movie — people have lots of expectations.