After years of working across engineering teams, open-source communities, product cycles, late-night debugging marathons, and “just ship it” deadlines…
I’ve learned one thing:
There is no single type of developer.
There are mindsets — and they shape everything.
You meet them in code reviews, in standups, in Slack threads, in last-minute hotfixes, and in architecture decisions that haunt you years later.
Here are the developer mindsets I’ve seen again and again — the ones that make teams thrive, stall, crash, or evolve.
(Some are hilarious.
Some are painful.
Some are painfully accurate.)
1. The “Let Me Rewrite Everything” Developer
These developers see legacy code the way Marie Kondo sees messy closets.
Does this function spark joy? No?
Rewrite.
Is the feature working?
Rewrite anyway — it can always be cleaner.
Their heart is pure, their PRs are huge, and their merge conflicts could end civilizations.
🛠️ 2. The “Ship It, We’ll Fix Later” Developer
Velocity: 100%
Stability: …eventually.
These developers get features out the door faster than you can open a Jira ticket.
They are the engine of momentum —
and also the reason your monitoring alerts sound like a rave.
🔍 3. The Detective Developer
You don’t debug with them.
You observe them.
They follow logs like Sherlock follows footprints.
They inspect call stacks like detectives inspect clues.
They will find the bug if it’s the last thing they do.
Every team needs one.
🪴 4. The “Grow the Junior” Developer
These devs quietly make the whole team better.
- They explain without ego
- Document without being asked
- Unblock without judgment
They’re the mentors who turn juniors into seniors — faster than any course ever could.
🧠5. The Architecture Astronaut
Their natural language is diagrams.
Their natural habitat is system design docs.
They see future problems before they exist — and also sometimes forget the sprint ends Friday.
Still, when you need someone thinking 3 years ahead, they’re the one you call.
🦴6. The “Codebase Historian”
They’ve been here forever.
They can tell you:
- which file was added in a panic at 2AM
- which folder hides the ancient curse
- which commit message should never be spoken aloud
They are walking documentation.
(Some say they’ve seen things.)
🎨 7. The Craftsman Developer
Readable code.
Perfect naming.
Beautiful PRs.
Tests like poetry.
They don’t code — they compose.
Everyone blesses their commits.
🧩 8. The Glue Developer
Backend? Frontend? Product? QA?
This dev sits between all of them.
They translate chaos into clarity.
They connect dots across teams.
They are the unsung heroes of shipped products.
Without glue devs, everything falls apart.
🧪 9. The Experimenter
“Let’s try this new library.”
“Let’s rewrite in Rust.”
“Let me prototype something quickly…”
This dev brings innovation —
and occasionally, mild terror —
but they keep the team evolving.
🧘 10. The Calm Senior
Production is down?
They breathe.
They type slowly.
They do not panic.
They simply fix things.
They are who you want during an outage (and in life, honestly).
🤖11.The AI-First Developer
They don’t fight AI.
They use it.
They generate boilerplate, summarize complex files, experiment faster, and get clarity quickly.
Tools like Everdone CodeDoc (https://everdone.ai/) fit this mindset perfectly — letting devs understand a repo without digging through 200 files.
(And yes — they’re giving 200 free file docs for Christmas.)
🎭 12. The Developer We All Become Over Time
In reality?
We all switch mindsets depending on:
- the project
- the deadline
- our caffeine levels
- the size of the bug
- the sanity of the sprint
Some days you’re the detective.
Some days you’re the astronaut.
Some days you're the “just ship it” warrior.
And sometimes… all at once.
That’s the beauty (and chaos) of building software.
🌱 What This All Teaches Us
After meeting all these developer archetypes over the years, here’s the truth:
Great teams aren’t made of one type — they work because different mindsets balance each other out.
We don’t need everyone to think the same.
We need everyone to understand each other.
And having clarity and context — about code, culture, and each other — is what keeps teams healthy.
Tools that reduce friction (including AI tools like CodeDoc) don’t replace developers.
They help different mindsets collaborate without stepping on each other’s mental models.
🎉 Your Turn
💬 Which developer mindset are you?
(And which one are you today? 👀)
Be honest — we’ve all cycled through a few. 😄

Top comments (14)
Hey! Great post — I really resonated with #4, “Grow the Junior” Developer.
Unfortunately, my current environment is quite the opposite. Many people already believe they are the best among the team, which creates unnecessary pressure and stress rather than collaboration.
I’m planning to change roles in the coming months and I’m hopeful to find a more supportive, growth-focused environment.
That sounds really tough, and unfortunately more common than it should be. I’ve seen how much damage “everyone has to be the smartest” cultures can do to learning and trust. Wanting a growth-focused environment is completely valid — I hope your next team genuinely supports that mindset.
Thank you, I really appreciate that. You’re absolutely right those “everyone has to be the smartest” environments can be really draining and don’t leave much room for learning. I’m hopeful the next team will value growth, collaboration, and supporting each other a lot more.
Cool post. There’s also the type: "Set up for success – doomed to fail". These are beginners who possess the drive and desire to create "cool stuff", which is certainly good, but they soon ‘burn out’ when confronted with thousands of lines of code. Unfortunately, this is a very common problem among young developers.
This resonates a lot. The desire to build is such a strong starting point, but without scaffolding and context, it’s easy for that energy to turn into frustration. I’ve seen many capable beginners lose confidence simply because the environment was too much, too fast.
This is a great taxonomy — and what I really like is that it doesn’t moralize any of the mindsets.
One thing I’ve noticed over time is that teams don’t usually fail because they have one of these archetypes — they fail when the system doesn’t constrain and balance them.
The “rewrite everything” dev becomes dangerous only when there’s no finish line. The “ship it” dev becomes risky only when there’s no feedback loop. The architecture astronaut becomes detached only when diagrams aren’t grounded in executable constraints.
In healthy systems, these mindsets are forces, not flaws — but they need structure to interact safely.
That’s also where I think modern tooling (and AI) should help most: not replacing any mindset, but making the boundaries explicit — contracts, verification, shared context — so different ways of thinking can coexist without constant friction.
Really enjoyed the framing. It reads less like “types of people” and more like “modes we all shift through over time,” which feels very true.
Yes, exactly this. I didn’t want to frame any of these as “good” or “bad,” because I’ve seen each one be incredibly valuable in the right context. The system — constraints, feedback loops, shared understanding — is what determines whether a mindset becomes productive or destructive. You articulated that way better than I did.
Really nice post! Im nr 12 now days, depending on project!
I like this post so much i made tiny quiz app for it!
ehsanpo.github.io/developertype/
This is amazing 😄 — I love that you turned it into something interactive. That’s such a perfect example of how these “mindsets” shift depending on the project. Thanks for building and sharing this!
Hahaha great read! I'm Glue Developer and Detective Developer at work and definetely the Experimenter after hours 😅
I love this combo. Glue + Detective is such a powerful way to work, and Experimenter energy outside of work is usually where the most interesting ideas come from. Thanks for sharing!
Some comments may only be visible to logged-in visitors. Sign in to view all comments.