The Comfort of Ignorance

Brian Di Croce
6 min readSep 22, 2022

You can’t know everything, but you can learn anything.

The quote above is one that I share every time that I’m working with either a new intern or junior software engineer.

Photo by Patrick Tomasso on Unsplash

When I was younger, let’s say in my teens and mid-twenties, I had a desire to pack my brain with a lot of knowledge. If somehow we could travel back in time, you will mostly find me at either the city’s public library or at the school’s library, sitting legs crossed on the floor trying to assimilate knowledge from books (we didn’t have Internet at home in the early 90s). But not any kind of knowledge. I mostly wanted to know everything about what interested me, what ticked my curiosity, what made me wonder about our world and our universe. And the more I understood a few things and learned some other things, I realized that I didn’t really understood everything. Sometimes, I would grasp about a third or half of what I desired to learn. However, because I was learning something that fascinated me, learning about it was easier than when it was imposed on me. That being said, I believe that we quickly assimilate things that we are passionate about. Now if only I was passionate about the subject of thermodynamics back in my physics class at university…but I digress.

And I was content not to know everything about the subject I was learning about.

I was okay “not knowing everything” about everything. This didn’t come easy. I had to somehow “force” myself to accept that I won’t know everything. Ever. And the reason I was content was mostly because I didn’t need to know everything. I just needed to know enough to either get my work done, participate in a good conversation with someone about the topic, or simply to satisfy my curiosity enough that if I wanted to go deeper in the subject, I could try to find an expert to complete the part belonging to the “I don’t know that I don’t know” of the subject. And I also made the decision that I wouldn’t stress myself or get angry about now fully understanding something because I didn’t want to negatively or permanently affect my joy of learning.

Today, I’m in my forties. And the desire to learn, to acquire knowledge hasn’t stopped. Working in the IT industry, I believe that it is a good quality to constantly remain curious. To appreciate learning. To being willing to unlearn things as well. And to work harder on relearning other things too. Technology changes so much at a rapid pace. What I knew a few years ago either isn’t relevant today or has changed in some way that it’s no longer the solid foundation I was familiar with. That being said, it’s important to keep up with the latest technologies so as to make sound and safe decisions for our projects and for our clients.

Recently, I learned that my dentist and family doctor, though much older than I am today, continue to invest time and money in continuing education. Surprisingly (at least to me, and that’s because I’m not too knowledgeable of the medical profession), the medical field is just as dynamic as the one of IT. The difference, I think, about medical professionals learning about their field, and us, mere mortal geeks, is that they have to learn, understand and assimilate a much greater depth of knowledge than we do, because that can be the difference between saving and ending a life. In our case, for example, if we get back a 404 or 500 error status, it’s not the end of the world. We know, or should know, how to fix the issue, fix it, and tackle the next one. In IT, given its fast pace of change, we favor learning about the breadth of a subject more than its breadth (well, most of the time).

At the moment, since the month of September, I’ve put on myself a little challenge: complete a professional certification every month for the next six months. Why is that? The first reason is that I get bored really fast. As much as I love my work at my current employer, the work isn’t always challenging, so instead of simply quitting and finding something else, I take it upon myself to challenge myself, because I appreciate working with my colleagues and value the work that I do (to be honest, I value who I’m doing the work for) enough that quitting isn’t an option at the moment. The second reason has to do with the desire to learn more about the tools and technologies being used on my projects. As much as I appreciate the concept of black boxes in software development, it’s sometimes important to treat them as white boxes once in a while to understand what we’re working with. So in essence, the second reason has mostly to do with understanding as much as possible the tools that I’m currently using. The third reason has to do with the desire to learn new tools and technologies that might not be currently used in projects, but eventually will be. This is mostly so as to equip me in making good decisions when the time comes to use, implement or integrate such technologies with my projects. And the last reason has to do simply with the passion of learning. One thing I have found out by studying for each certification is that there’s a wholesome community of smart and passionate people leading tools and technologies to the surface for many to see. I’m not going to say too much about that, other that I find it quite fascinating. Therefore, besides my AWS Solutions Architect Associate certification that I passed in January of this year, I have successfully passed (always in my first attempt) certifications for Astronomer/ Apache Airflow, Redis, Terraform, and Consul. Up next will be Vault, Apache Kafka, AWS Solutions Architect Professional and TOGAF. After that, I’ll have to find myself another challenge.

That being said, I didn’t always pass the certifications with perfect scores. Sometimes I passed them with 70%, 75%, 80%, 85%, 90%, and 95%. And it’s okay. The point is not to understand everything about everything completely. In IT this sometimes is not possible and sometimes can be detrimental because, for example, if a cloud service that you learned last year was providing value A, but today provides value B, your knowledge about that service isn’t relevant anymore, because value B is the right answer to know now.

So if things change constantly, what should one value when it comes to learning and understanding? To that question, my answer is simple: learn the foundations or the basic blocks for which you can build your projects on. For example, if you’re using an object-oriented programming language, make sure that you understand the foundational concepts of object-orientation: polymorphism, encapsulation and composition/inheritance. Understanding the foundations of a technology sometimes is not easy, so if you can find someone that can teach you or mentor you on them, consider yourself blessed. But also consider yourself cursed (in a good way) because you now have the responsibility to share and teach that knowledge to others. It’s a fair trade I think, especially because you learn more about a subject by teaching it than by simply learning it.

I think that I’m going to conclude now because, A) I’m hungry, and B) I think I said what I had in mind about this subject. In short, it’s okay not to know everything about everything. Try to find comfort in that. Try not to stress or to make it a life purpose to acquire so much knowledge that you miss out on the important things in life, such as going on a date with your loved one, treating someone with a bite to eat, exercising, helping a neighbour raking the leaves on the front yard, calling your parents to let them know that you appreciate and love them, etc. Also remember that when you’re learning something in IT, most of the time you’re learning it as a consumer of a technology. You’re at the other end of the spectrum: the end-user side of things. You’re a consumer, not a producer. The producer of the technology can change their mind about how it’s going to work tomorrow morning, and chances are that they won’t ask your opinion on that, therefore be flexible (dare I say…agile) with your learning. Learn to give way to the “static” notion that once you learn something, it’s always what it is. Think about poor little Pluto who, when I was 10 years old, was considered a planet, but isn’t anymore.

Things change fast, without your knowledge or consent. You can’t know everything, but you can learn anything with enough time, dedication and an open mind.

BONUS: So where do I get my source of knowledge for the latest trends in technology? Mostly from InfoQ, HackerNews and Twitter.

--

--

Brian Di Croce

I’m a software engineer based in Montreal, Canada, and the founder of Cloudgenda. I tweet at https://twitter.com/bdicroce. 🍁