Programmers should stop celebrating competence

personal experience and testing
a movie still from Soul, 2020
Soul, 2020

Disclaimer: This blog post will be a bit different than my usual posts. Mind you, I’m just writing as I go, and most times I have my craft in mind, which is Software Testing and Test Engineering.

I recently saw a good colleague of mine mentioning a post made by some human being and the post went around the lines:

it’s kind’of bad if we programmers “as a community” incentivize or celebrate the living instances of the meme of “I have no idea what I’m doing”, we’re just copying and pasting bits of information here and there and assume that as our identity. Folks need to go deeper, world needs great programmers, hurr-durr, look at me sneaky virtue-signaling, oh captain my captain.

Or the charismatic version:

“We need now more than ever to pursue celebration of competence, the aspiration to improve, and all the greatness of a career, each of us has tremendous capacity to become good at what we do if only we’re really serious about our career… The world needs great programmers now!”.

To be very frank I don’t think I understand the post. But I’ve been thinking about it for a while. There’s an underlying oddity to it all. It all sounds like a trap.

I believe this uneasiness comes from the fact that I do spend a lot of time every day searching the web and I search for answers that likely a lot of great programmers already know. Especially on StackOverflow and DuckDuckGo, hunting for stuff like:

Personally, I don’t really mind if an engineer has to “dig around trash like a racoon” every day to find an answer to their problems, and if, and when, the planets align, finds an answer that they can copy paste and edit a bit into a solution they are trying, because I do it myself all the time, and through time I’ve become faster at it.

I would think of this as an ever-expanding skill: how to ask / search / forage for meaningful information to a problem. I wouldn’t necessarily oversimplify it to “mastering the skill looking shit up online” or label it as incompetence.

Let’s stop for a moment and consider:

On the other hand, I’ve observed that influential programmers or testers who get lost in “pursuing greatness and competence” achieve quite a lot:

But, in almost all cases, and I don’t mean to put everyone in the same bag, Causality doesn’t do its magic.

For all the deep and obscure technical details many of those colleagues were able to regurgitate on demand, you’d think that these would contribute to the production of well tested software projects and be followed by intelligent feats of test engineering and deep realizations around quality software. This is never the case.

On point: almost all pieces of software we use everyday, built by many of these bright minds are riddled with embarrassing bugs, sometimes are structurally wrong, other times are conceptually predatory, and make up a software shit soup that we have unconsciously learned to live with every day. Need a few examples?

All of it was built by great programmers and testers. Shit software. Software that does nothing new. Software that preys on human behavior. Etc.

And yet, this still tells me nothing about the programmers and testers’ competence, personal and professional worth, how great they are, …

It would be an immense folly of me to make any oversimplification about that, and to go around and judge folks, telling them they are practically inadequate/incompetent and dumb while presenting them a positive message that they have so much potential to fulfill if only they would take their career more seriously. That is just cruel, misleading and wrong.

What turns out to be the case:

The last point, our internal Map of knowledge is key. The only difference between myself and another Tester starting their career today is just that my Map has more drawings and more details and juicy notes on a variety of parts of the map.

Deepening my knowledge in building this Map still doesn’t change the fact that I regularly need to use a search engine for both trivial and complex searches at a job. No, I don’t know what I’m doing. No, that is not the same as celebrating incompetence. And yes, it is perfectly fine to be this lost and have no idea what we’re doing.

So… why is it that some people seem to hold a, masked as a charismatic, “go-getter” positive message like the fellow human criticizing folks identifying with the “no idea what I’m doing meme” meme? Why?

So we can build more elegant unoriginal software while the world around us sinks into chaos?

Picture of the meme, a dog facing a computer screen, with the writing saying the dog has no idea what they are doing
The meme in question.

None of us truly “knows what we’re doing”, most of the time. This is not the same as celebrating incompetence.

And frankly, I’d be dishonest if I ever said I knew what I was doing.

If you read this far, thank you. Feel free to reach out to me with comments, ideas, grammar errors, and suggestions via any of my social media. Until next time, stay safe, take care! If you are up for it, you can also buy me a coffee ☕