What 11 PM Debugging Sessions Taught Me About Taking Notes
After months testing PKM tools during real debugging sessions, here's what actually works for engineers (and it's not about pretty pages).
Lisa Park
UX Engineer and Design Systems lead focused on making the web accessible to everyone. Lisa bridges the gap between design and engineering with a deeply human-centered approach.

My team used to hear me joke about this constantly: we document everything except our own learning. Code reviews? Meticulous notes. Design decisions? RFCs for days. But personal insights? Those get buried in a graveyard of sticky notes, random GitHub gists, and mental tabs that crash by Friday. Sound familiar?
After burning out on that cycle, several months went into testing the best second brain apps for software engineers. Daily use. Real projects. Debugging meltdowns included. Yes, the kind where you're questioning your career choices at 11 PM while staring at a cryptic error message.
What actually worked for me as an engineer living inside accessibility audits, CSS prototypes, and those long decision threads that somehow spawn more questions than answers? That's what this piece covers. You'll learn how developers can build a second brain that supports real coding workflows, not some vague idea of productivity that looks great on YouTube but falls apart in practice. And yes, I'm covering the big comparison you're probably already thinking about: Notion vs. Obsidian for programmers.
My angle is pretty simple: if a PKM tool can't help you solve problems faster, store patterns you'll reuse three months later, or keep your technical decisions consistent, it's not worth your time.
Why Most Second Brain Advice Doesn't Work for Engineers
Honestly, most advice out there is written for generic productivity enthusiasts. That's a completely different universe from actual engineering work, where:
- Search speed matters way more than pretty pages
- Plain text beats rich text every single time
- Backlinks need to behave predictably with code snippets
- Sync conflicts can cost you hours (ask me how I know)
- Notes must survive refactors and new frameworks
Teaching web basics to older adults has shaped how I think about accessibility. When tools get fussy or fight against muscle memory, it shows. You feel that too, right? Our notes should blend with our dev habits, not force us into some Pinterest board aesthetic.
Good PKM respects how we actually learn: in fragments, over weeks, with lots of backtracking. We capture pieces. We revisit ideas weeks later wondering what past-us was thinking. We refactor knowledge just like we refactor a component library.
Five Developer-Specific Workflows Your PKM Tool Must Support
These workflows became my benchmark while evaluating the best second brain apps for software engineers. Here's the breakdown.
1. Debugging Journals
Tracking symptoms, experiments, false starts, and final fixes in one place changes everything. When leading a redesign of an internal accessibility tool, this workflow saved me from repeating the same mistakes. Sometimes within the same week.
What does a good PKM tool need here?
- Fast timestamped entries
- Snippets that render cleanly
- Searchable logs across projects
2. Architecture Decision Records
Writing ADRs for personal work, not just team projects, has been worth it. They help you remember why you picked a specific approach. Future you will thank present you. Trust me on this.
Requirements include:
- Templates
- Backlinks to code folders
- Tagging for topics like performance or accessibility
3. Learning Logs
CSS quirks, React patterns, the weirdness observed while testing ARIA behaviors. These notes pay off months later when you're staring at a bug and think, "Wait, didn't I figure this out before?"
4. Project Knowledge Maps
Organizing programming notes effectively means being able to jump from concepts to code examples without hunting through dozens of files.
You need:
- Bidirectional links
- Lightweight visual graph or outline views
- Nested folders that don't turn into chaos

5. Reusable Snippet Library
Any note-taking app worth using for coding has to handle snippets gracefully. No weird formatting. No auto-indentation bugs that make you want to throw your laptop across the room.
Obsidian vs. Notion vs. Logseq vs. Roam: An Honest Comparison
Plain truth based on my extended testing. No sponsorships, no affiliate angles, just what actually happened.
Obsidian
Markdown first, blazing fast search, and a plugin ecosystem that feels like an IDE. Daily engineering notes live here now.
Pros:
- Local files that version beautifully with Git
- Snippets render cleanly
- Graph view is actually helpful for refactors
- Works offline, even on the subway in Brooklyn
Cons:
- Sync is paid
- Some plugins feel fragile
Best for: Second brain apps for developers who want total control.
Notion
Great for teams and documentation. But the moment dozens of code-heavy notes piled up, load times slowed to a crawl.
Pros:
- Databases for tracking experiments
- Beautiful pages
Cons:
- Snippets feel cramped
- Offline is unreliable
- Heavy interface slows capture
Still, Notion vs. Obsidian for programmers is a real debate. If you value structure and collaboration, Notion wins. For personal technical notes? Obsidian is stronger.
Logseq
Logseq surprised me. In a good way. It's outliner first, with local files and a clean writing flow.
Pros:
- Ideal for journaling and step-by-step debugging logs
- Backlinks feel natural
- Works with Git
Cons:
- Plugins are less mature
- Sync can be unpredictable
Many engineers ask about Obsidian vs. Logseq for developers in 2024. If you love outliners and want something that feels like Roam without the subscription, Logseq is a strong pick.
Roam Research
Roam was the early darling of graph-style note-taking, but it never clicked for my engineering needs.
Pros:
- Fast linking
- Daily notes focus
Cons:
- Expensive
- Primarily cloud-based with limited offline capabilities
- Code blocks feel like an afterthought
Roam works as inspiration, but there are better Roam Research alternatives for software developers today.
My Exact Setup: Folder Structure, Tags, and Templates That Scale
One year of daily use in Obsidian produced this system. Simple enough for busy days but structured enough for long projects. Nothing revolutionary. Just practical.

Folder Structure
- 00 Inbox
- 10 Logs
- 20 Projects
- 30 Snippets
- 40 Concepts and Patterns
- 50 ADRs
- 90 Archive
Similar to how we organize our design system repos at work: clean, predictable, no friction.
Tags Worth Using
- #accessibility
- #css
- #react
- #debug
- #learning
- #snippet
Tags stay sparse so they continue to matter. The moment you have 50 tags, you basically have zero tags.
Templates
- Debugging entry
- ADR template
- Learning log entry
- Snippet card
Each template contains frontmatter for dates, tags, and links. Nothing fancy. And that's the point.
Integrating Your Second Brain with Your Dev Environment
Okay, this is the part that actually changed my workflow. Your notes need to weave into your daily coding, not sit in some separate app you forget about.
VS Code
- Use the Obsidian Git plugin, then sync notes through VS Code
- Create tasks that open related notes based on project folder
Git
My notes live in a private repo. Every big refactor gets a commit message that matches my ADR title. Personal knowledge management tools for engineers finally feel practical instead of abstract.
CLI
One simple shell script lets me open a new debugging note from the terminal. One command, timestamped entry. It's embarrassingly simple, but it gets used constantly.
Browser
Accessibility findings from audits get saved directly through Obsidian's web clipper alternative, which pulls clean Markdown.
Building a second brain that fits into actual work looks like this. Not weekend setup sessions that feel productive but don't stick.
Start Somewhere. Anywhere.
Picking from the best second brain apps for software engineers can feel overwhelming. But here's what I've learned: you don't need a masterpiece. You need a starting point that meshes with your coding habits.
Try this 30-day action plan:
- Week 1: Pick one tool and set up a debugging journal
- Week 2: Add a learning log and capture notes daily
- Week 3: Write ADRs for two decisions
- Week 4: Build a small snippet library and revisit old entries
Your system will grow. It'll be ugly at first. That's fine. Don't overthink it. Start messy. Refactor as you go.
And if you want a next step:
Related Articles

We Keep Arguing About Cursor vs Copilot. So I Actually Measured It.
I tracked 100 PRs over 90 days. Copilot won on acceptance rate, but Cursor's code needed fewer rewrites. Here's what the numbers actually showed.

I Asked Teams Why They Abandoned Their Code Review Tool. The Answer Was Always the Same.
After talking to dozens of teams who ditched their code review tools, I found one question that predicts success better than any feature comparison.

I Spent 6 Months Migrating Our Team from Jira to Linear. Here's What Actually Happened.
After 6 months of migration pain, our team's Jira tax dropped from 4% of engineering time to nearly zero. But we lost some features we didn't expect to miss.
Comments (0)
Leave a comment
No comments yet. Be the first to share your thoughts!