When I started as a junior developer, I documented everything because my code was a bit rough around the edges. As I grew in my career, my approach to documentation changed. Here’s how I went from over-documenting as a junior, to avoiding it as a mid-level developer, to finally finding the right balance as a senior.
The Junior Developer: Documenting Everything
In my early days as a developer, I wrote documentation for every piece of code. I wasn’t very confident in my coding skills, so I thought adding detailed documentation would help others (and my future self) understand what was happening.
Why I Documented Everything:
- My code wasn’t always clear.
- I wanted to ensure others could follow along.
- I was afraid that if I didn’t document, the code would be misunderstood.
The Mid-Level Developer: “Good Code is Self-Documenting”
As I gained experience, I focused on all software development patterns and designs, and I started to hear a popular idea: “Good code is self-documenting.“ At first, this made sense to me. After all, if I was writing clean, well-structured code, wasn’t that enough?
For a while, I avoided documentation altogether, focusing instead on making my code as readable as possible. But soon, I realized this approach had its limits. Even well-written code doesn’t tell the full story, especially when it comes to the “why” behind certain decisions.
The Senior Developer: Documenting Business Decisions
Now, as a senior developer, I’ve come full circle—back to documenting, but with a different focus. I no longer document every detail of the code itself; instead, I document the decisions that led to the code. This means capturing the business logic, the discussions that shaped the architecture, and the alternative approaches we considered but didn’t pursue.
Here’s why this shift in documentation focus matters:
- Context is King: Code might show how something works, but only documentation can explain why certain decisions were made.
- Business Decisions: Capturing the reasoning behind features ensures that future developers understand the bigger picture.
- Future-proofing: Without proper documentation, important decisions can be forgotten, making it harder to adapt or update the code later.
My Own Reasons for Documenting
Beyond just explaining decisions, there are a few other reasons why I find documentation essential:
- Onboarding New Team Members: Good documentation accelerates the onboarding process. New developers can quickly get up to speed without needing to ask endless questions.
- Collaboration: Documentation helps teams work together more effectively by providing a shared understanding of the project’s direction and logic.
- Memory Aid: Over time, we forget the details of why we implemented something a certain way. Documentation is a safety net that preserves that knowledge.
Why I founded DOCSbit.com for Documentation
When it comes to documentation, I’ve tried many, many different tools. Yet, none of them fit my needs perfectly. That’s why I decided to found DOCSbit.com – to create the documentation tool I always wished existed.
DOCSbit takes the simplicity of in-code docs like README.md
files but adds powerful features that go beyond basic documentation, such as:
- Linking to Database Assets: With a simple shortcode, you can link to database assets, which produce a quick pop-up. This speeds up understanding and reduces context-switching.
- Graph-like Linking: DOCSbit provides graph-like linking across your entire documentation, making it easy to visualize connections between different pieces of information.
- Version History: Just like in Git or SVN, DOCSbit tracks the history of changes, so you can always see who changed what and why.
- Client-Ready Versions: Generate a polished version of your documentation to share with clients or investors, keeping them informed without overwhelming them with technical details.
Final Thoughts: Documentation Matters at Every Level
No matter where you are in your development journey—whether you’re just starting out or have years of experience under your belt—documentation remains important. But as your skills evolve, so should your approach to documenting. If you want to capture not just what your code does, but why it does it, I recommend giving DOCSbit a try.
And if you’d like to have an impact on the tool’s future—or even be part of the next evolution of DOCSbit—reach out to me at [email protected]
1. That’s looks like an ad.
2. However I agree with the face that at some point developers (often they call themselves seniors) drop documentation as something below their level.