The Myth of the Self-Sufficient Programmer

Photo by Tim Gouw on Unsplash

The Myth of the Self-Sufficient Programmer

Let's face it: as programmers, we've all thought of what our future selves might look like one day in terms of progress and skillset: "I'll never need to use Stack Overflow ever again!" "I'll have all the answers so long as I think hard enough!"

The problem is that it's impossible for a programmer to ever find themselves in a situation where the current skills and knowledge they possess are enough to guide them through the rest of their tech career, however long that may be. It just doesn't happen because it can't happen.

And it's not due to some facile reason such as "no one is that smart" or "everyone makes mistakes." It's simply because programming is like a giant jigsaw puzzle, except the pieces keep changing and the final picture may bear differences to how it originally looked as time goes on. In other words, when nothing is set in stone, you can't know what exactly it is that you don't know.

So, the reason I'm even discussing this somewhat abstract topic is because I often see programmers on tech Twitter and elsewhere lamenting their lack of knowledge in the field, expressing sentiments such as how there's so much to learn and how there never seems to be an end to the need to learn, or how they can't manage to remember everything they need to know because the field is so expansive.

One way we can ease these woes is by turning the act of retaining our knowledge and skills into a skill itself. The way I go about this is by using a knowledge-base such as Notion to keep track of everything I've learned. I keep notes for courses I've taken online, I keep track of every bug I've ever fixed and their solutions, and so on and so forth. Because really, as time goes on and you're accumulating more and more skills and knowledge, the game becomes more-so a matter of knowing where and how to access the information you need for the task at hand rather than being able to spontaneously tackle any problem that may come up like a literal machine. When I run into the same or similar problem in the future, I know that my knowledge-base has my back.

Now, don't get me wrong: having knowledge readily available off the top of your head whenever and wherever you may be is still extremely important, but we have to stop pretending that there exists a mythical programmer out there who has learned learned and learned some more to the point where they're familiar with the concepts of programming that haven't even been invented yet.

We'll realize that we're more capable than we think once we realize that our limitations are normal.

Did you find this article valuable?

Support Matthew Smilansky by becoming a sponsor. Any amount is appreciated!