Fundamentals 10 min read

Why Every Line of Code You Write Becomes Your Future Support Burden

The article shares hard‑earned lessons from a veteran software engineer about treating coding as a craft, avoiding the "Not‑Invented‑Here" syndrome, managing complexity, writing tests, and documenting well to reduce future maintenance pain and improve code quality.

21CTO
21CTO
21CTO
Why Every Line of Code You Write Becomes Your Future Support Burden

I began my software career in web development, worked at companies like HP, Google, and Microsoft (where I was a principal engineer), and later co‑founded Fermyon as CEO.

Remember: every line of code you write is a line you will have to support.

Code Is a Craft

Coding is hands‑on work, similar to a traditional craft. Good software requires skill, knowledge, and a commitment to continual improvement. Treating code as a craft means writing it well, following conventions, naming variables clearly, and considering long‑term maintainability.

"Not‑Invented‑Here" (NIH) Syndrome

Many engineers reinvent solutions they could have reused, ignoring two key facts: how much effort others have already spent solving the problem, and how much future maintenance the new code will require. This NIH syndrome leads to duplicated work and hidden maintenance costs.

Complexity Increases Debugging Difficulty

Highly complex code, such as a string parser I once wrote with high O‑complexity, becomes hard to understand and maintain. Even with tests and documentation, the code was difficult to debug when a CVE exposed a memory‑allocation bug years later.

Testing Reduces Future Support

Writing unit tests is often seen as a lack of trust, but it actually prevents future debugging. Maintaining a coverage of at least 80% and requiring tests before code review are practical ways to keep code reliable.

Document and Record Everything

Because we forget why we wrote code a certain way, clear documentation, good naming, meaningful commit messages, and thorough comments help future you (and others) understand and modify the code without pain.

Conclusion

Remember: every line of code you write is a line you will have to support.

Following this mantra saves time, reduces frustration for teammates, and turns today’s code into tomorrow’s maintainable asset.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

testingbest practicessoftware craftsmanshipcode maintainabilityNIH syndrome
21CTO
Written by

21CTO

21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.