<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh" -->

---
title: The one thing every experienced engineer gets wrong
description: Experienced engineers consistently struggle with project management when given autonomy. The core mistake is breaking projects into horizontal slices (models →...
canonical: https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The one thing every experienced engineer gets wrong | daily.dev
og:description: Experienced engineers consistently struggle with project management when given autonomy. The core mistake is breaking projects into horizontal slices (models →...
og:url: https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh
og:image: https://api.daily.dev/og/posts/Qx6sxNvVh.png
og:image:alt: The one thing every experienced engineer gets wrong
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.

# The one thing every experienced engineer gets wrong

**[swizec.com](https://daily.dev/sources/swizec)** · 7 min read · 35 upvotes · 5 comments

## Summary

Experienced engineers consistently struggle with project management when given autonomy. The core mistake is breaking projects into horizontal slices (models → API → UI → tests) instead of vertical slices that deliver end-to-end user value at each step. Horizontal slices produce unshippable intermediate states, delay feedback, and lead to massive pull requests stuck in review. Vertical slices let you ship to production at every step, gather real user feedback early, and course-correct before investing weeks in the wrong direction. The author also emphasizes defining a crisp 'definition of done' in terms of user outcomes before writing any code.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://swizec.com/blog/the-one-thing-every-experienced-engineer-gets-wrong>

## Questions this post answers

### What is the difference between vertical slices and horizontal slices when breaking down a software project?

Horizontal slicing breaks a project into layers like models, API, UI, and tests, which ships nothing usable until every layer is done and delays feedback. Vertical slicing breaks a project into small end-to-end increments, like a teeny tiny useful thing a user can do, so each step can ship to production immediately and generate real user feedback before more work is invested.

_Engineers refining how they scope tickets can find more perspectives like this on daily.dev._

### Why do large pull requests get stuck in code review for weeks?

Large pull requests generate dozens of comments and require extensive back-and-forth, and the underlying code keeps shifting while review drags on, so nothing ships. Breaking work into stacked pull requests instead lets reviewers evaluate changes piece by piece, which feels slower upfront but moves faster overall because each piece is reviewable on its own.

_Developers wrestling with review bottlenecks can track practical fixes like stacked PRs on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@iizzyy** · 7 upvotes

> I totally agree, and I think horizontal slicing is inherited from the org structure. It seeped into engineering and became a habit.
>
> Now with AI one person can execute the vertical slice. I do this everyday with my coding agent, I have an orchestration running multiple sub agents from coding to UI to UX, so the execution itself got cheap.
>
> But that created a new challenge: the accountability for the outcome also collapsed into that one person. Before, accountability was split among the multiple roles.

**@randy** · 3 upvotes

> This isn’t a new idea and, believe it or not, it’s something I, as an experienced engineer, wholeheartedly agree with, and practice when I can. It’s called Lean.
>
>
> I say “when I can,” because I’m on a team porting legacy code. If it’s the first day porting a feature, it’s simply not worth it to put it in production that day. That doesn’t mean I won’t, or can’t… it just means I can’t always see what the code is doing if it were in production. And I’m not talking about simple crud views here; I’m referring to complex business logic, or our most recent “report engine” which is ~250k lines of...

**@pdfopsdev** · 1 upvotes

> The tell is simple: if your first production-shippable increment is weeks out, you sliced horizontally. Vertical slices force you through every layer thin on day one, which front-loads the integration risk — and integration is almost always where the real surprises live, not in the models. Horizontal slicing feels productive because each layer looks done, but you've just deferred all the risk to the end where it's most expensive to fix.

**@christiansterzl** · 0 upvotes

> Not developers get that wrong. A lot of them know. Believe me.
>
> Anti agile organization don't know. It's a sign of a non agile organization, no matter if they call themselves agile or not.

**@bits\_and\_bytes** · 0 upvotes

> I'm a backend developer, but due to this AI, I’m coding UI, mobile apps, and doing deployments too. idk how many days we have to follow this unclear path.

## Similar posts on daily.dev

- [The Engineering Manager](https://daily.dev/posts/the-engineering-manager-iunymzylz) · Tech Lead Digest · 17 upvotes · 1 comments
- [Stop building side projects. Nobody cares — and here's the uncomfortable math.](https://daily.dev/posts/stop-building-side-projects-nobody-cares-and-here-s-the-uncomfortable-math--azxnbhn3v) · DEV · 47 upvotes · 20 comments
- [8 platform engineering anti-patterns](https://daily.dev/posts/8-platform-engineering-anti-patterns-hdjhwze8h) · InfoWorld · 2 upvotes · 0 comments
- [Your “10x Engineer” Is Probably Making Your Team Worse](https://daily.dev/posts/your-10x-engineer-is-probably-making-your-team-worse-q5mqf2bdm) · Medium · 0 upvotes · 0 comments

---

Tags: [#leadership](https://daily.dev/tags/leadership), [#project-management](https://daily.dev/tags/project-management)

[View this post on daily.dev](https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh)

```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":"The one thing every experienced engineer gets wrong","url":"https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh"},"datePublished":"2026-07-11T16:33:46.390Z","dateModified":"2026-09-14T07:25:11.101Z","description":"Experienced engineers consistently struggle with project management when given autonomy. The core mistake is breaking projects into horizontal slices (models →...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/92ef011f2387d939389905a784b15be1?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/92ef011f2387d939389905a784b15be1?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"swizec.com","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":"swizec.com","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a0733daf6e014e23a638ded7f2d4cd70","url":"https://daily.dev/sources/swizec"},"commentCount":5,"discussionUrl":"https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":35},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":5}],"keywords":"leadership,project-management","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"swizec.com","item":"https://daily.dev/sources/swizec"},{"@type":"ListItem","position":3,"name":"The one thing every experienced engineer gets wrong"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh","comment":[{"@type":"Comment","text":"I totally agree, and I think horizontal slicing is inherited from the org structure. It seeped into engineering and became a habit.\nNow with AI one person can execute the vertical slice. I do this everyday with my coding agent, I have an orchestration running multiple sub agents from coding to UI to UX, so the execution itself got cheap.\nBut that created a new challenge: the accountability for the outcome also collapsed into that one person. Before, accountability was split among the multiple roles.","datePublished":"2026-07-12T07:21:34.960Z","url":"https://daily.dev/posts/Qx6sxNvVh#c-Wf1YpFK9k","author":{"@type":"Person","name":"Izzy","url":"https://daily.dev/iizzyy","image":"https://avatars.githubusercontent.com/u/44321190?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":7}},{"@type":"Comment","text":"This isn’t a new idea and, believe it or not, it’s something I, as an experienced engineer, wholeheartedly agree with, and practice when I can. It’s called Lean.\nI say “when I can,” because I’m on a team porting legacy code. If it’s the first day porting a feature, it’s simply not worth it to put it in production that day. That doesn’t mean I won’t, or can’t… it just means I can’t always see what the code is doing if it were in production. And I’m not talking about simple crud views here; I’m referring to complex business logic, or our most recent “report engine” which is ~250k lines of code and required a lot of “structure” before I could even begin routing my own local requests to it.\nAll that said, I commit code daily or as close as possible when working on this sort of stuff. But the dream is “something new” where even a sketch, shown to a user, would be an early day-one goal.","datePublished":"2026-07-12T13:56:32.220Z","url":"https://daily.dev/posts/Qx6sxNvVh#c-6LsWD0qky","author":{"@type":"Person","name":"Randy","url":"https://daily.dev/randy","image":"https://media.daily.dev/image/upload/s--UjV4-KkB--/f_auto/v1708097210/avatars/avatar_HXYbbGcBO38Rfv7RrCBdA"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"The tell is simple: if your first production-shippable increment is weeks out, you sliced horizontally. Vertical slices force you through every layer thin on day one, which front-loads the integration risk — and integration is almost always where the real surprises live, not in the models. Horizontal slicing feels productive because each layer looks done, but you’ve just deferred all the risk to the end where it’s most expensive to fix.","datePublished":"2026-07-12T18:13:16.066Z","url":"https://daily.dev/posts/Qx6sxNvVh#c-setV3p99T","author":{"@type":"Person","name":"PDFops","url":"https://daily.dev/pdfopsdev","image":"https://media.daily.dev/image/upload/s---8isRBKc--/f_auto/v1782922291/avatars/avatar_orjMeK8QKaaVZwGq7ScPz?_a=BAMAMicg0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"Not developers get that wrong. A lot of them know. Believe me.\nAnti agile organization don’t know. It’s a sign of a non agile organization, no matter if they call themselves agile or not.","datePublished":"2026-07-19T19:55:13.859Z","url":"https://daily.dev/posts/Qx6sxNvVh#c-woq27RaxH","author":{"@type":"Person","name":"Christian Sterzl","url":"https://daily.dev/christiansterzl","image":"https://lh3.googleusercontent.com/a/ACg8ocIQZ--fEScvzIiTJzESDCxHtZGAV0BTa-q5ttklsrfu4uo=s96-c"}},{"@type":"Comment","text":"I’m a backend developer, but due to this AI, I’m coding UI, mobile apps, and doing deployments too. idk how many days we have to follow this unclear path.","datePublished":"2026-07-18T04:58:49.709Z","url":"https://daily.dev/posts/Qx6sxNvVh#c-IRnXlxyFZ","author":{"@type":"Person","name":"bits_007","url":"https://daily.dev/bits_and_bytes","image":"https://avatars.githubusercontent.com/u/182549945?v=4"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/the-one-thing-every-experienced-engineer-gets-wrong-qx6sxnvvh#faq","mainEntity":[{"@type":"Question","name":"What is the difference between vertical slices and horizontal slices when breaking down a software project?","acceptedAnswer":{"@type":"Answer","text":"Horizontal slicing breaks a project into layers like models, API, UI, and tests, which ships nothing usable until every layer is done and delays feedback. Vertical slicing breaks a project into small end-to-end increments, like a teeny tiny useful thing a user can do, so each step can ship to production immediately and generate real user feedback before more work is invested. Engineers refining how they scope tickets can find more perspectives like this on daily.dev."}},{"@type":"Question","name":"Why do large pull requests get stuck in code review for weeks?","acceptedAnswer":{"@type":"Answer","text":"Large pull requests generate dozens of comments and require extensive back-and-forth, and the underlying code keeps shifting while review drags on, so nothing ships. Breaking work into stacked pull requests instead lets reviewers evaluate changes piece by piece, which feels slower upfront but moves faster overall because each piece is reviewable on its own. Developers wrestling with review bottlenecks can track practical fixes like stacked PRs on daily.dev."}}]}
```

