DEV Community

Cover image for The known unknowns and learning on demand
Alex Menor
Alex Menor

Posted on

5 3

The known unknowns and learning on demand

At the moment you put a feet in the cold water of software development, it's likely you scream and back away. You are probably overwhelmed with what it seems a forest of buzzwords.

While it's true that it's a big and fast evolving field, there are ways to benefit from that, and the how, it's what I want to talk about today.

The knowns and the unknowns

We can classify everything in:

  • Known knowns: The things we know we know. For a newbie programmer might be to write a little script in python that reverses the input.
  • Known unknowns: The things we know we don't know. For the same young programmer as before, may be send data over a network. He knows it can be done, he just doesn't know exactly how yet.
  • Unknown unknowns: The things we don't know we don't know.

The first category is vital because it enables us to immediately solve real world problems.

But I think that the second category is underrated. The known unknowns have a very low entry fee and it enables us to learn something on demand in order to solve a problem.

Why invest time in the known unknowns

I wish I got everything in the first category, but it's just impossible. Things keep evolving no matter what, there are simply too many things and it's costly in time to learn it all.

What is possible though, is to have a broad second category, that is: Have lots of known unknowns.

It has a very high value for the time it costs and you are probably not going to need to know all of it anyway.

For example: I never had to implement an event driven architecture, but I am familiar enough with the concept and its use cases.

Don't get me wrong, the devil is in the details and I would have to invest an important amount of time to learn how to implement it, but knowing that exists and what problems solves makes you a better developer already.

Takeaways

  • The software development field is too big, it's impossible to know every framework, tool or language that exists.
  • But that's okay, just start making a breadth-first search: Take a look at some roadmaps for example.
  • If you encounter any concept you don't know, spend 5 minutes reading about it and how could be useful to you in the future.
  • When a perfect use case comes for something you know that you don't know, invest time to learn it.
  • Learn something this way is easier, because there is a real reason behind.

Photo by 胡 卓亨

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (2)

Collapse
 
jennrmillerdev profile image
Jen Miller

yeah, there are some really good points here.
I believe learning on demand is one of the key skills a developer learns over time. It's a skill you see many experienced developers leverage. In addition, you gain the confidence of using your past experiences to know you can pickup something new "when required".

Many beginners fall into the trap of being afraid of what you call "unknowns unknowns" but this fades away as experience is gained.

Collapse
 
nicolasini profile image
Nico S___

Great take. Completely agree. You are in the path to achieve great things!

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay