logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·30.10.26
← Back to news

First Principles Thinking

Original article
sunilsadasivan.com|103 points|42 comments|by sunils34|Sep 25, 2026

First Principles Thinking

By Sunil Sadasivan Date: September 23, 2026

Recently, I've found myself returning to Sunil Pai's piece on the "senior engineer death spiral." It has struck a chord with me because the feeling of being "stuck" is a nearly universal experience for veteran engineers.

The paradox is that as you gain expertise, the very experience that made you successful can become a barrier, making it difficult to pivot or approach problems from a fresh perspective.

Note: I am still processing the fact that there is another "Sunil" making waves in the software engineering world.

The Power of Momentum

Pai argues that we should prioritize momentum over specific outcomes. I couldn't agree more. When I hit a wall, my strategy is to decompose the project into the most microscopic, achievable tasks possible.

My "Get Unstuck" Checklist:

  • Identify the absolute smallest next step.
  • Execute that single action.
  • Use the result to inform the next tiny step.
  • Repeat until the path is clear.

Completing a small task often acts as a catalyst, revealing the subsequent steps that were previously hidden.

Defining the "Great" Engineer

Throughout my career managing and collaborating with top-tier senior engineers, I've noticed a recurring pattern. Regardless of their origin story, the best engineers possess an innate sense of what actually needs to happen.

Their backgrounds are often eclectic:

  • Former customer support or professional services specialists.
  • Self-taught programmers.
  • Former designers.
  • Serial entrepreneurs.

Despite these diverse paths, they all share a commitment to first principles thinking. They don't just write code; they interrogate the why behind the feature and the value it provides to the end-user. They bridge the gap between the source_code and the real-world impact.

Mindset Comparison

Traditional ThinkingFirst Principles Thinking
"We've always done it this way.""Why are we doing this at all?"
Focuses on technical constraints.Focuses on the desired outcome.
Relies on analogy and precedent.Deconstructs to fundamental truths.
Prioritizes the how.Prioritizes the what and why.

Navigating the Agentic Era

We are currently transitioning into an era of agentic development. In my discussions with peers, it's clear that those who are thriving are the ones already practicing first principles.

This feels like a massive "simulation switch-up." It requires a humbling admission: I don't know everything. The engineers who are staying relevant are those willing to temporarily "box up" their existing knowledge to experiment with AI agents.

They are willing to assume old constraints still apply test the waters before deciding something is impossible.

The Mental Process of Unlearning

To truly innovate, one must be able to do the following:

  1. Take your accumulated experience.
  2. Set aside your current beliefs about "truth."
  3. Look at the problem with a blank slate.

If I let a previous project's failure or a known technical limitation dictate my current answer, I stop thinking. But when I ask, "What are we actually trying to achieve?" the number of viable paths forward increases exponentially.

First Principles Logic

AI and the Learning Loop

There is a constant debate about whether AI is "real" or just "hype." However, if you approach it with fresh eyes, there is an incredible amount to admire and rethink.

First principles thinking means starting with the objective and then asking: "How can AI facilitate this?" rather than getting enamored with the tool before defining the goal.

When you have a deep understanding of the objective, taking a small step and iterating feels natural. In the context of AI agents, this creates a high-velocity feedback loop.

We can represent this relationship as a function of momentum:

Momentum=Deep Understanding×Learning Loop Speed\text{Momentum} = \text{Deep Understanding} \times \text{Learning Loop Speed}Momentum=Deep Understanding×Learning Loop Speed

By leveraging agents, we accelerate the "back-and-forth" of learning, allowing us to maintain momentum while staying anchored in a fundamental understanding of the problem.

def solve_problem(goal):
    knowledge_base = "set_aside()" 
    while not goal.achieved:
        step = get_smallest_action(goal)
        result = agent.execute(step)
        update_understanding(result)
        # Momentum increases as the loop tightens
    return goal.success