A Simple 5-Steps Framework for Software Engineers to Take Notes and Apply Book Insights Effectively: Part 5
A Step-by-Step Guide to Note-Taking That Enhances Application and Teaching Skills for Software Engineers

Summary of what we have done so far:
Read and Mark
Transfer
Write and Re-Write
Think and Re-Think
By the end of this process, you will have all your notes in the same place where you can effortlessly search by topic or keywords.
Now what?
What can you do with those notes?
Why spend time creating that source of information?
5. Create
Software engineers are professional learners.
We must stay updated and be ready to apply what we learn. When you read about technical topics, you must understand them to use them in your daily job. You should absorb theory from books and elaborate on it.
That’s why reading is not enough.
You need to create to evolve what you read to a deeper understanding.
Creating is the best way to:
Fix knowledge in your memory.
Test what you learned.
Once you have your notes ready to use, you can apply your knowledge in 3 different ways:
POC
Write
Discuss
5.1 POC
When I finish reading about something code-related, I try it on a small project.
I always follow the same rules:
Simple domain: I create an app with a straightforward domain, so I don’t need to focus on domain problems (to-do list, basic e-commerce, birthday reminder).
Fixed setup: I always use the same database, language, framework, and libraries.
Create only what you need.
Ensure the only variable in your project is the single thing you want to learn.
This way, the project setup is quicker and easier. You should already know many possible troubleshooting steps, and you can focus on learning. For example, if you are studying Fastify, you want to fix everything else in your project. If you know Postgres, don’t use MySQL in the project! Don’t make a frontend if you don’t need one. Use Postman or Bruno to test your endpoints.
It might happen that, after some time, your POC evolves into a more structured project.
I applied this pattern many times in the past, and I created 2 libraries:
fastify-socket.io: I was learning socket.io.
Carretto: I was learning dataloaders.
5.2 Write
Writing is a fantastic way to test your understanding.
When you write, you rephrase and explain what you have learned. My suggestion is to imagine explaining concepts to a person in front of you. This will help you simplify the structure of your sentences and will make it easier to read.
I started my newsletter as a tool to explore my learning.
Writing can be improved if you publish what you wrote.
While writing could be enough to understand a concept, publishing your writing has other advantages. A clear example is that when you write something aiming to publish it, you are forced to avoid copy/paste. You have to rephrase concepts and provide a new point of view. Also, people might start discussing and giving new ideas when you publish.
Not to mention that writing online can be a great way to land a new job.
5.3 Discuss
Learning together is always better than doing it alone.
When you share what you learned with someone else, you get questions, feedback, requests for more explanations, and rephrasing concepts. Because people learn differently, learning together forces you to explore other paths to achieve the same goal.
I always recommend learning with someone else.
There are different ways to learn together:
When you ask your mentor or someone more expert to discuss a topic.
When you explain a concept to someone less experienced.
When you discuss with other people who are learning the same topic as you,
When you dive into a topic, I suggest you start the journey with someone else.
Schedule time to discuss the topic together.
This will make you accountable.
PS: if you enjoyed this post, you can help me by sharing my publication with your friends.
A Simple 5-Steps Framework for Software Engineers to Take Notes and Apply Book Insights Effectively: Part 1
Software engineers need to be Professional Learners.