technology

I Tried 3 PKM Tools for 6 Months as a Developer. Here's What Actually Survived.

After 11 abandoned note apps, I tested Obsidian, Notion, and one other for 6 months of real dev work. Only one actually stuck.

OH

Omar Hassan

Backend engineer and open source contributor passionate about API design and system reliability. Omar documents his learning journey to help other developers grow alongside him.

August 8, 202511 min read
I Tried 3 PKM Tools for 6 Months as a Developer. Here's What Actually Survived.

My Confession: Eleven Abandoned Note-Taking Apps in Three Years

I've got a confession to make. Before sitting down to write this, I counted the note-taking apps I've abandoned over the past three years. The number? Eleven. Eleven systems where my "revolutionary" workflows died somewhere between week two and month three.

If you're a developer, you've probably got a similar graveyard. Maybe it's a Notion workspace with exactly four pages gathering digital dust. Or an Evernote account you haven't touched since 2019. Or a folder of Markdown files that made perfect sense at the time but now looks like ancient hieroglyphics.

Here's the thing: most productivity advice about personal knowledge management tools for software developers comes from people who aren't actually shipping code every day. They're content creators or productivity gurus, and honestly? Their workflows don't survive contact with a 3 PM production incident or a week-long sprint where you barely have time to eat lunch.

Six months ago, I decided to get serious. I picked three popular PKM tools, committed to actually using each one in my daily work as a backend engineer, and tracked what survived versus what became another digital graveyard. What follows is the brutally honest result.

Why Generic Productivity Advice Falls Flat for Developers

Most knowledge management content assumes you've got a predictable workflow. Writers can schedule their research time. Consultants can block off mornings for "deep work."

But developers? We're switching between debugging a memory leak, reviewing a PR, learning a new library, and trying to remember why past-us made that weird architectural decision. All before lunch. Sound familiar?

Our knowledge needs are specific:

Context-switching is our default state. On any given day, I might touch five different codebases. Each one has its own conventions, gotchas, and tribal knowledge. Generic note systems just don't account for this reality.

Code snippets need special treatment. Syntax highlighting matters. Copy-paste fidelity matters. A note-taking system that mangles backticks is completely useless to us.

We're learning constantly, but in fragments. You figure out why that API rate-limits at exactly 1,000 requests. You discover a quirk in your ORM. These micro-learnings happen mid-task, when you absolutely don't have time for elaborate capture workflows.

Documentation has multiple audiences. My debugging notes are for me. My architecture decision records are for the team. My TIL notes might become blog posts. A second brain system for learning programming needs to handle all three without friction.

Generic PKM advice tells you to "capture everything" and "review weekly." Not wrong, but it ignores the reality that when you're three hours into debugging a race condition, the last thing you want is to think about your note-taking taxonomy.

Obsidian vs. Notion vs. Everyone Else: Six Months of Daily Use

Here's what I found after half a year of actually using these tools every day.

Obsidian

What worked: Local Markdown files mean I own my data. The plugin ecosystem is incredible for developers. Currently I'm running about fifteen plugins, and the Vim keybindings alone make it worth considering. Graph view is genuinely useful for seeing connections between technical concepts (not just pretty). Syntax highlighting is excellent.

What didn't: The mobile app is fine but not great. Real-time collaboration exists through Obsidian Sync, though it may not match dedicated collaboration tools. And the learning curve is real. Expect maybe two weekends before you stop fighting the system.

Hidden costs: You'll spend time configuring. A lot of time. If you enjoy that, great. If not, this might drive you crazy.

My verdict: Best note-taking system for programmers in 2024 if you're willing to invest the setup time. Still using it daily.

Notion

What worked: Databases are powerful. Team wikis are actually useful. The API means you can build integrations.

What didn't: Performance. God, the performance. When you've got 500+ pages, it crawls. Code blocks are adequate but not great. And here's the migration nightmare nobody warns you about: exporting from Notion produces Markdown that needs significant cleanup. Learned this the hard way.

Hidden costs: Once your team is on Notion, you're locked in. The export path is painful enough that most people just stay.

My verdict: Great for team knowledge bases. Not my choice for personal PKM anymore.

Quick Takes on Everyone Else

Logseq: Outliner-based, which some developers love. Free, local-first. Worth trying if Obsidian's freeform pages feel too unstructured.

Roam Research: The tool that popularized modern networked thought and bidirectional linking, though earlier tools like wikis and TheBrain had similar concepts. $15/month for the Pro plan when billed monthly, or $165/year. Still steep, and the community has fragmented to competitors.

Dendron: Built on VS Code, which is pretty clever. If you live in VS Code anyway, the reduced context-switching is appealing.

Apple Notes: Honestly? Underrated for quick capture. I use it as an inbox before moving things to Obsidian.

As for the Obsidian vs. Notion for developers question that everyone asks: if you're solo, pick Obsidian. When your team needs shared documentation, Notion makes more sense. There's no universal winner here.

Adapting Zettelkasten for Developer Work

The Zettelkasten method for coding notes sounds academic, but the core idea is super practical: one note per idea, heavily linked. Here's how I adapted it.

Debugging Logs

Every non-trivial bug gets its own note. My format looks like this:

# BUG-2024-03-15: Memory leak in image processor

## Symptoms
- Memory usage climbing steadily over 4+ hours
- No obvious leak in application code

## Investigation
- Profiler showed allocations in [library name]
- Found [specific method] wasn't releasing buffer

## Solution
- Explicitly call .dispose() after processing
- PR: #1234


![](/images/posts/10-12-2025/how-to-build-a-personal-knowle-1765356338587/content-1.png)


## Lessons
- This library has known issues: [[Library X Gotchas]]
- Related to: [[Memory Management in Node]]

Those links pay off later. Two months down the road, when a similar issue pops up, a quick search surfaces related notes. It's saved me countless hours.

Architecture Decision Records (ADRs)

Keeping these lightweight is key:

# ADR-007: Chose PostgreSQL over MongoDB for user data

## Context
Needed to store user profiles, preferences, and relationships

## Decision
PostgreSQL with JSONB for flexible attributes

## Rationale
- Strong consistency matters for our use case
- Team already knows SQL
- JSONB gives us schema flexibility without full document store complexity

## Consequences
- Need to manage migrations
- Write queries get slightly more complex
- Links: [[Database Selection Criteria]], [[Project X Tech Stack]]

Learning Notes (TIL Pattern)

When something clicks while I'm working, quick capture is essential:

# TIL: Redis SCAN vs. KEYS in production

KEYS blocks the server. SCAN doesn't. Always use SCAN with COUNT parameter
in production.

Found this out during [[2024-03 Performance Investigation]].

Source: https://redis.io/commands/scan

After six months, I've accumulated maybe 200 of these quick notes. They form a personal reference that's more useful than Stack Overflow because it's already filtered to what I've actually needed.

The Zettelkasten method for coding notes and documentation isn't about perfection. It's about making future-you slightly less miserable.

Weekend Setup: Your Step-by-Step Configuration Guide

Here's the step-by-step second brain setup for coders I wish someone had given me. While this is specifically how to set up Obsidian for programming notes, the structure works elsewhere too.

Hour 1: Basic Structure

Create these folders:

/Areas          # Ongoing work areas
  /work
  /side-projects
  /learning
/Resources      # Reference material
  /languages
  /tools
  /patterns
/Projects       # Active projects with end dates
/Archive        # Completed/abandoned stuff
/Inbox          # Where captures land

Don't overthink this. Seriously. You can reorganize later. Your inbox is the most important part, since it's where things go when you don't have time to file them properly.

Hour 2: Templates

Create three templates that handle 90% of developer notes:

TIL Template:

# TIL: {{title}}
Date: {{date}}
Tags: #til

## What I Learned

## Why It Matters

## Source

## Related Notes

Debug Log Template:

# DEBUG: {{title}}
Date: {{date}}
Tags: #debug

## Symptoms

## Investigation Steps

## Root Cause

## Solution

## Lessons Learned

Project Kickoff Template:

# Project: {{title}}
Created: {{date}}
Status: Active
Tags: #project

## Goal

## Key Decisions
- 

## Open Questions
- 


![](/images/posts/10-12-2025/how-to-build-a-personal-knowle-1765356338587/content-2.png)


## Related

Hour 3: Capture Workflow

Most systems die right here. You need frictionless capture. Can't stress this enough.

Set up:

  1. A mobile quick-capture workflow (Apple Notes works great for batch-transferring weekly)
  2. A browser extension for saving links
  3. A keyboard shortcut to create notes from your terminal

In Obsidian, the QuickAdd plugin with hotkeys is essential. Cmd+Shift+T creates a new TIL note instantly. No navigation, no thinking about where it goes. Just capture.

Hour 4: Your Daily Driver

Create a daily note template:

# {{date}}

## Today's Focus

## Captures
- 

## End of Day
- What did I learn?
- What's blocking me?
- What do I need to remember tomorrow?

A structured note-taking workflow for software engineers takes maybe five minutes at end of day. And it's the review habit that actually sticks.

[Link: daily productivity routines for developers]

Survival Tactics: What Lasts Long-Term

After six months, here's what separated my lasting system from my previous eleven failures:

2-Minute Capture Rule

When capturing takes longer than two minutes, it won't happen during real work. Period. Optimize ruthlessly for speed. Messy notes you actually take beat perfect notes you don't.

Weekly Processing, Not Daily

Daily reviews fell apart for me by day four. Now one 30-minute session happens on Sunday mornings with coffee:

  • Clear the inbox (file or delete, no exceptions)
  • Review recent notes and add links
  • Update project statuses

That's it. Anything more elaborate just doesn't survive contact with a busy week.

"Would I Search for This?" Test

Before capturing something, ask yourself: would future-me actually search for this? If not, it probably doesn't need a permanent note. Applying this question eliminated about 40% of my captures and made my vault way more useful.

Let Things Die

Some notes should be temporary. A debug log for a bug I fixed and will never see again? Maybe it doesn't need to live forever. Archive aggressively.

Start with One Use Case

Don't try to build a complete developer productivity knowledge base setup immediately. Pick one thing instead. For me, it was debugging logs. Once that felt automatic (took about a month), TIL notes came next. Then architecture decisions.

Incremental expansion beats ambitious initial setup every single time.

[Link: developer workflow optimization strategies]

Building Your System Without Burning Out

Here's how to build a personal knowledge management system as a developer while keeping your sanity intact.

Days 1–7: Setup

  • Pick one tool (Obsidian is my recommendation, but choose what appeals to you)
  • Create the basic folder structure
  • Set up ONE capture template (start with TIL)
  • Install it on your phone

Days 8–14: Capture Only

  • Don't organize anything yet
  • Just capture into the inbox
  • Your goal: prove you can actually take notes during real work

Days 15–21: Processing

  • Do your first weekly review
  • Start adding links between notes
  • Notice what you're actually capturing vs. what you imagined you'd capture

Days 22–30: Evaluate

  • What's working?
  • What's causing friction?
  • Adjust your templates and structure based on reality, not theory

Your goal isn't a perfect system. It's a system that survives daily developer workflows.

Six months in, I'm still tweaking mine. But now I've got six months of useful notes instead of another abandoned system. A debugging log from February helped me last week. Architecture decisions I documented are actually referenced in PR discussions.

That's the real test. Not whether your graph view looks impressive, but whether future-you actually benefits from past-you's note-taking.

Start small. Prove value. Then expand.

And hey, if this becomes your twelfth abandoned system, at least you'll have company. I'll be working on lucky number thirteen right alongside you.


What PKM tools have worked (or spectacularly failed) for you? Always curious to hear what survives actual developer workflows. Drop me a note if you try this setup.

Related Articles

Why I Switched from Notion to Obsidian (And What I Miss)
technology

Why I Switched from Notion to Obsidian (And What I Miss)

I tested 7 PKM tools for coding work. Obsidian won for its local Markdown files and Git support, but Notion still does one thing better.

LPLisa ParkDecember 7, 202510 min read
After 30 Years of Coding, I Finally Found a Note System That Doesn't Fall Apart at 2 AM
technology

After 30 Years of Coding, I Finally Found a Note System That Doesn't Fall Apart at 2 AM

I tested 8 PKM tools during real debugging sessions. Obsidian won for most devs, but Logseq surprised me for daily work logs. Here's what actually works.

DWDorothy WilliamsJune 30, 20258 min read
I Spent 3 Years Defending Jira. Here's Why We Finally Left.
technology

I Spent 3 Years Defending Jira. Here's Why We Finally Left.

After 3 years defending Jira, we tested Linear, Notion, GitHub Projects, and Shortcut with our 12-person team. One finally made tickets disappear into the background.

CRCarmen ReyesApril 28, 20259 min read

Comments (0)

Leave a comment

No comments yet. Be the first to share your thoughts!

I Tried 3 PKM Tools for 6 Months as a Developer. Here's What Actually Survived. | Blog Core