How to maximize your productivity with tech note-taking

Hi, there. My name is Takuya Matsuyama, the author of Inkdrop. Note-taking is one of the key habits that significantly boosts my productivity. Every day, in my engineering process, as I learn new technologies, debug my code, add new features, and so on, I use Inkdrop to take notes. So, I'd like to share how I use my own product for tech note-taking.

The right tool for the right task

I am a firm believer in the importance of using the right tools for the right tasks.

I prefer using a screwdriver over a swiss-army knife because bloated tools tend to be sluggish and their features are often elusive to locate and understand. I also personally love simple and clean UIs. Note-taking is not an exception here. I don't have a central tool where every piece of information is stored.

When it comes to coding, I prefer taking notes in Markdown, which is the most widely adopted text format for writing readme files and communicating on platforms such as GitHub and GitLab. Markdown is a simple format that can include code snippets like this:

Versatile Markdown editor

This feature makes it especially handy for note-taking while coding. So, using Markdown for note-taking feels pretty natural. However, it isn't the best choice when you need to incorporate a large number of images, videos, audio, tables, or other types of content. Rest assured that Markdown would be a screwdriver for tech notes. Thanks to the constraint, I can avoid adding topics that aren't related to coding, like shopping wishlists, travel venues, etc. That lets me keep my notes simple and organized. It significantly reduces the time it takes to switch between tasks.

That's why I designed Inkdrop to be a dedicated place to assist the engineering process through tech note-taking.

Being the note app creator doesn't mean that I use it for everything. Notion is one of the popular note apps, so I use it to share the manual with my back office agent. For non-linear notes like moodboards, I prefer to use apps like Milanote. The right tools for the right tasks.

Design for productive failure

Embrace your imperfection

When taking notes, you might be tempted to create perfect ones - akin to constructing a beautifully organized and completely structured knowledge base. I've given up on that approach, finding it to be virtually impossible. Most of my notes are cluttered, unstructured, and incomplete, and that's fine. They are roughly organized with notebooks, tags, and statuses.

They're like entries in a sketchbook; I draw things as freely as they appear in my imagination. So, essentially, I jot down what's currently buffering in my brain when coding. I don't want to invest unnecessary time and effort in maintaining my notes. It's more important to focus on solving the problem at hand. In tech note-taking, perfection is not the goal, progress is. So, jot down as freely as you would in a sketchbook.

Embrace your imperfections. You make mistakes. You forget things. Rather than striving for perfection in your tech note-taking, approach it casually. By doing so, your failures become productive failures. You can learn from them, and here is how.

Four steps for taking tech notes

In the world of software development, our day-to-day life revolves around identifying problems, referring to API docs, sketching out solutions, diving in and implementing those solutions in code, then checking the results, learning from our blunders, and finally, making better-informed decisions. This cycle can be broken down into four key stages:

4 steps for taking tech notes

This whole cycle is quite similar to what's known as the PDCA cycle – Plan, Do, Check, Act – a four-step approach for continuous learning and improvement. When I navigate through each of these stages, I make it a point to take notes. Now, let's dive into some real-life examples from my own tech note-taking process.

1. Identify the problem

No matter if it's dealing with a bug, enhancing existing code, implementing new features, or facing issues, everything starts with identifying and understanding the problem.

Sometimes I get bug reports on the user forum, or I might even stumble upon bugs myself while using my app. When this happens, I immediately note down the specifics – stuff like error messages, stack traces, screenshots, and anything else that helps capture the essence of the issue. For instance:

2. Research the possible solutions

Okay, so after identifying the problem, the next step is digging into potential solutions. This is where I start exploring promising libraries, tools, or even scouring StackOverflow answers and related GitHub issues. I take notes about all these things.

Learning new technologies

4 steps for taking tech notes

I also have a whole lot of notes in my Learnnotebook. It's filled with stuff about libraries I want to try out, like SvelteJS, Radix UI, LangChain, Whisper API, and so on. Plus, there are even some notes on how to use DaVinci Resolve 18, which is not related to coding though since I am a video content creator, too.

3. Validate the solutions

Once I've researched potential solutions—or even while I'm still in the process of researching—it's time to roll up my sleeves and start implementing them to see what works, what doesn't, and why.

During this phase, my notes become a dynamic coding journal, capturing the snippets of code I'm trying, the output results, the additional insights I gather along the way, and so on. This record of my journey can be immensely helpful. Let me share a few examples:

Ex. Implement PDF export for Android

Implementing PDF export for Android

In the above image, I am trying to make my mobile app support PDF export and trying a snippet of code that I found in the researching phase. (Watch video).

Documenting not just my successes, but also my failures, helps meavoid repeating the same mistakes and provides a deeper understanding of the challenges involved. These records of exploration and validation are a crucial part of my tech note-taking workflow.

4. Reuse the knowledge

Throughout the note-taking process, my notes naturally transform into a robust knowledge base that can be reused for future projects. Here's how:

Your efforts will pay off 💪

That's my process for taking tech notes. It is crucial for my daily coding workflow. These are four steps to my tech note-taking process: identifying the problem, researching solutions, validating them, and reusing the knowledge. I want you to remember that note-taking isn't about being perfect. Jot down as freely as you would in a sketchbook. Make your failures productive by the effective tech note-taking. The most important thing is to keep coding and writing. I hope it's helpful for improving your productivity.

App logo

Get started today

Available on 5 platforms for just $8.31 per month (annual billing). No credit card information required for 14-day free trial.