5 reasons to Keep a Personal Knowledge Base
The unfair advantage of having all your wisdom on hand

Search for a command to run...
The unfair advantage of having all your wisdom on hand

No comments yet. Be the first to comment.
Actionable steps for software developers to bring clarity and piece of mind to their busy workdays

How to prepare, distribute and reschedule your time blocks for maximum efficiency

The best time-based productivity techniques for software developers

An engineering way to declutter you inbox

We usually do tech specs for non-trivial tasks at work, and one day I met one that caught my eye: An engineer of ours was striving to refactor our scheduling logic (it was kinda copy-pasted across the app) and to create a centralized API for this. Wh...

Software development is a rapidly evolving field, with new techs emerging every day, and sometimes you can feel outdated very fast!
I know that because in 6 years while I’m here a lot of things have changed and I found out a way to keep up with new technologies, and don’t lose the big picture - that way is having and keeping a Personal Knowledge Base.
A Personal Knowledge Base is your vault and workspace. It could be a set of folders or linked documents, that you can keep and organize:
Ideas
Technologies
Patterns
Terms
Best practices

From the roamresearch.com homepage, linked notes of a Knowledge Base
Any pieces of knowledge you encounter throughout your professional journey. It even could be ongoing projects and high-level architecture design documents. Basically, it serves as a repository of knowledge, allowing you to connect and link different concepts to build a comprehensive understanding of the whole field.
Personal Knowledge Management, in general, is a fast-growing discipline, many techniques and tools are coming up every week, and keeping up with that could be an occupation by itself, however, at some basic level it’s easy to get started.
Try out Evernote for a folder-based approach, Roam Research for a link-based, or Obsidian for a mixed. Notion can also be very handy, it’s a more collaborative workspace and can be overwhelming, but with numerous integrations and great UX, it has become a lovely personal workspace for thousands of software engineers.
Everything new stays on the shoulders of something that already exists. Every day we encounter new technologies, frameworks, tools, or methodologies, and it might be too much to even stay up to date with them.
But often, when you take a look at them, you might start recognizing that you already know what is this: Prisma is just an ORM, but more abstract, Vue 3 is closer to React, and Nest.js is just Angular merged with Spring.
A Knowledge Base here stands for a linkage from old technologies to new ones, from abstract simple terms like ORM and Database to specific technologies, like Mongo and Prisma. So whenever you meet anything new - most probably you will have a clear understanding of how to fit it into your picture of the world, in your technology landscape.
Imagine, how handy it might be to have answers for such questions in interviews or any other technology networking events. “Prisma? Just an ORM for the front end. I even have an example, let me show you…”
As you can see above - everything new says on something made before, isn’t it mean that even our ideas, projects, and initiatives stay on something that we already know?
Whenever you grow your knowledge base, you also will grow your mind, expand it for new ideas, and at some point, your insights will take a decent place in your own workspace, it could lead to new areas of interest, niches to explore or even new business opportunities!
The thing with continuous learning - we never know where you get to in the end. You just crack topic after topic and find yourself after a while a whole new person.
You might hear: “Our brain is for having ideas, not for storing them”, Dumping your mind on the page is more useful, and more inputs you have.
If you have full-time tasks at work, a couple of pet projects, and a dense backlog to learn, keep in your mind that seems like an unbearable burden, but your personal workspace can handle as much information as you can input, freeing up your mental space along the way, creating more capacity for new ideas and brain clarity.
“Writing is thinking”, have you heard it before? There’s much more truth in that than it sounds at first point. Often, when I have an idea, which sounds so smart in my head, becomes a dead end while I try to write it down, not losing logical connections between its components.
Writing extremely helps improve your ability to express complex concepts clearly and concisely. When you describe ideas in your own words, you may uncover gaps in your understanding or identify areas that require further exploration.
Your communication skills also grow, even if you write just for yourself in your own knowledge base - your teammates definitely will recognize the improvement of your expression skills after a while.
Building and expanding your knowledge base is a fulfilling and enjoyable experience in itself. It’s amazing to see how your knowledge base grows day by day, and what new connections between concepts are found, tools like Obsidian show graphs of your notes, and seeing it grow could be some kind of gamification.
At some point, you can’t keep yourself from starting to share some of your findings with your communities. Maybe even make some serious publications, or just blogging from time to time for personal and professional fulfillment.
Start from what you already have on your mind. What you use at work, what you are learning, or want/should/have to learn. Instead of just reading the How To article, and instantly applying a guide to your code, take a moment to jot it down to your notes. Whenever you find a good solution - add it to your notes as well.
Connect these findings to each other. For instance, if you found a good way to organize routing in React - connect it to React, Routing, and SPA conceptions in the base. At some point, you will recognize more connections between your notes, and more ideas will come to your mind.
Share your experience and the frameworks you use to keep your knowledge organized.