<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/in-defense-of-not-understanding-your-codebase-jbgcludmt" -->

---
title: In defense of not understanding your codebase | daily.dev
description: A defense of working with partial codebase understanding in large software systems, arguing against Peter Naur's 'Programming as Theory Building' thesis. Naur...
canonical: https://daily.dev/posts/in-defense-of-not-understanding-your-codebase-jbgcludmt
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: In defense of not understanding your codebase | daily.dev
og:description: A defense of working with partial codebase understanding in large software systems, arguing against Peter Naur's 'Programming as Theory Building' thesis. Naur...
og:url: https://daily.dev/posts/in-defense-of-not-understanding-your-codebase-jbgcludmt
og:image: https://api.daily.dev/og/posts/JbGcLudMt.png
og:image:alt: In defense of not understanding your codebase
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# In defense of not understanding your codebase

**[Lobsters](https://daily.dev/sources/lobsters)** · 9 min read · 0 upvotes · 0 comments

## Summary

A defense of working with partial codebase understanding in large software systems, arguing against Peter Naur's 'Programming as Theory Building' thesis. Naur claimed teams should scrap and rewrite programs rather than reconstruct understanding from code, but this is impractical for modern large-scale systems with millions of lines of code. In reality, engineers at big companies routinely work with incomplete mental models, revive abandoned codebases, and must make confident decisions despite uncertainty. Maintaining a full theory of the codebase is just one engineering value among many, often traded off against speed, compliance, or organizational realities. LLMs are discussed briefly as a tool that trades deep theory-building for faster partial understanding.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.seangoedecke.com/in-defense-of-not-understanding-your-codebase>

## Similar posts on daily.dev

- [How do you stay familiar with the code when it's written by an LLM?](https://daily.dev/posts/how-do-you-stay-familiar-with-the-code-when-it-s-written-by-an-llm--gtcifdlhr) · RUBYLAND · 2 upvotes · 1 comments
- [The peril of laziness lost](https://daily.dev/posts/the-peril-of-laziness-lost-bmm7yrxcb) · Hacker News · 13 upvotes · 1 comments
- [The Joy and Power of Understanding](https://daily.dev/posts/the-joy-and-power-of-understanding-s3dmlqwhw) · Lobsters · 1 upvotes · 0 comments

---

Tags: [#company-culture](https://daily.dev/tags/company-culture)

[View this post on daily.dev](https://daily.dev/posts/in-defense-of-not-understanding-your-codebase-jbgcludmt)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"In defense of not understanding your codebase","url":"https://daily.dev/posts/in-defense-of-not-understanding-your-codebase-jbgcludmt","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/in-defense-of-not-understanding-your-codebase-jbgcludmt"},"datePublished":"2026-07-12T13:47:16.249Z","dateModified":"2026-07-12T13:47:37.480Z","description":"A defense of working with partial codebase understanding in large software systems, arguing against Peter Naur's 'Programming as Theory Building' thesis. Naur...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/479e95ee2af112c350fa09a341f0c630?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/479e95ee2af112c350fa09a341f0c630?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Lobsters","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Lobsters","logo":"https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg","url":"https://daily.dev/sources/lobsters"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/in-defense-of-not-understanding-your-codebase-jbgcludmt","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"company-culture","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Lobsters","item":"https://daily.dev/sources/lobsters"},{"@type":"ListItem","position":3,"name":"In defense of not understanding your codebase"}]}
```

