<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shayan Mirzaie</title>
    <description>The latest articles on DEV Community by Shayan Mirzaie (@leopold2).</description>
    <link>https://dev.to/leopold2</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1347638%2Fa4fc96dd-d011-420e-afd5-fa1b118b5428.jpg</url>
      <title>DEV Community: Shayan Mirzaie</title>
      <link>https://dev.to/leopold2</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/leopold2"/>
    <language>en</language>
    <item>
      <title>What Comes After Senior? When the Career Path Is No Longer Linear</title>
      <dc:creator>Shayan Mirzaie</dc:creator>
      <pubDate>Fri, 11 Sep 2026 09:38:12 +0000</pubDate>
      <link>https://dev.to/leopold2/what-comes-after-senior-when-the-career-path-is-no-longer-linear-78g</link>
      <guid>https://dev.to/leopold2/what-comes-after-senior-when-the-career-path-is-no-longer-linear-78g</guid>
      <description>&lt;p&gt;For the first few years of a software engineering career, the path is relatively clear — at least on paper.&lt;/p&gt;

&lt;p&gt;You usually start as an intern.&lt;/p&gt;

&lt;p&gt;Then you learn how to handle small tasks independently and become a Junior Engineer.&lt;/p&gt;

&lt;p&gt;As your experience grows, your technical knowledge gets deeper, and you become capable of owning larger pieces of work, you move toward Mid-level.&lt;/p&gt;

&lt;p&gt;Eventually, your decisions become more mature, you can independently handle complex problems, and you become one of the engineers the team can rely on.&lt;/p&gt;

&lt;p&gt;You become a Senior Engineer.&lt;/p&gt;

&lt;p&gt;Of course, this journey looks different for everyone.&lt;/p&gt;

&lt;p&gt;It might take five years. It might take ten.&lt;/p&gt;

&lt;p&gt;It might happen inside one company, or across several companies.&lt;/p&gt;

&lt;p&gt;But the general direction is usually clear:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More independence. Harder problems. More ownership. More impactful decisions.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Until one day, you finally become Senior.&lt;/p&gt;

&lt;p&gt;And then a strange question appears:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Okay... now what?&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Senior Isn't the End of the Road — But It Might Be the End of the Linear Road
&lt;/h2&gt;

&lt;p&gt;For many of us, the first several years of our careers have a relatively clear destination:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I want to become a Senior Engineer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But once we get there, the next step becomes much less obvious.&lt;/p&gt;

&lt;p&gt;One piece of advice I often give engineers who have recently become Senior is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't rush to the next level. Fill out your Seniority first.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Getting the Senior title and becoming a mature Senior Engineer don't necessarily happen on the same day.&lt;/p&gt;

&lt;p&gt;If someone gets promoted to Senior inside a company, there is probably strong evidence that they have the technical ability, ownership, and judgment expected at that level.&lt;/p&gt;

&lt;p&gt;But some part of that success is also likely connected to their knowledge of that particular company, product, people, systems, and domain.&lt;/p&gt;

&lt;p&gt;That's why I think there's value in spending some time at this level.&lt;/p&gt;

&lt;p&gt;Experience real production incidents.&lt;/p&gt;

&lt;p&gt;Make decisions that turn out to be wrong.&lt;/p&gt;

&lt;p&gt;See the consequences of an architectural decision six months later.&lt;/p&gt;

&lt;p&gt;Watch a project you thought was simple become complicated.&lt;/p&gt;

&lt;p&gt;Work with different kinds of engineers and teams.&lt;/p&gt;

&lt;p&gt;Experience trade-offs where there is no obviously correct answer in a book.&lt;/p&gt;

&lt;p&gt;Those experiences gradually turn someone who &lt;strong&gt;has the Senior title&lt;/strong&gt; into a &lt;strong&gt;mature Senior Engineer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;There's another idea I've had for a while that I call:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Senior in this company" vs. "Senior in general."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's probably worth an entire article on its own.&lt;/p&gt;

&lt;p&gt;But even after you've filled out your Seniority, eventually the same question comes back:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's next?&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  From Here, You Have to Start Designing Your Own Career
&lt;/h2&gt;

&lt;p&gt;Recently, I read &lt;em&gt;Staff Engineer: Leadership Beyond the Management Track&lt;/em&gt; by Will Larson.&lt;/p&gt;

&lt;p&gt;One of the ideas in the book strongly aligned with what I've experienced myself:&lt;/p&gt;

&lt;p&gt;After Senior, your career is no longer necessarily a predefined, linear progression.&lt;/p&gt;

&lt;p&gt;If we simplify things a lot, two common directions start to appear.&lt;/p&gt;

&lt;p&gt;One is the &lt;strong&gt;People Management&lt;/strong&gt; track, leading toward roles like Engineering Manager and potentially larger management responsibilities later.&lt;/p&gt;

&lt;p&gt;The other is the &lt;strong&gt;Technical Leadership&lt;/strong&gt; track, with roles commonly called Staff Engineer, Principal Engineer, and similar titles.&lt;/p&gt;

&lt;p&gt;Neither is the "better" version of the other.&lt;/p&gt;

&lt;p&gt;They are different kinds of work.&lt;/p&gt;

&lt;p&gt;The important question is figuring out which type of work aligns with the career you actually want.&lt;/p&gt;

&lt;p&gt;For now, I want to focus on the second path.&lt;/p&gt;

&lt;p&gt;It's closer to the work I'm doing today, and Larson's book helped me put clearer language around several things I had already started experiencing.&lt;/p&gt;

&lt;p&gt;Maybe someday, after more experience and reading on the management side, I'll write about that path too.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Staff Engineer Isn't Just a Stronger Senior Engineer
&lt;/h2&gt;

&lt;p&gt;It's easy to imagine the career ladder like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Junior → Mid → Senior → Staff&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And from that, assume that a Staff Engineer is simply a Senior Engineer who knows more system design, writes better code, and solves harder technical problems.&lt;/p&gt;

&lt;p&gt;I think this is exactly where our mental model needs to change.&lt;/p&gt;

&lt;p&gt;Until Senior, a large part of our growth is about increasing &lt;strong&gt;our own capabilities&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At first, we need help completing a task.&lt;/p&gt;

&lt;p&gt;Then we can complete tasks independently.&lt;/p&gt;

&lt;p&gt;Then we own features.&lt;/p&gt;

&lt;p&gt;Then we own larger projects and make more important technical decisions.&lt;/p&gt;

&lt;p&gt;Eventually, we become the person people call when things get difficult.&lt;/p&gt;

&lt;p&gt;And organizations often reward exactly this behavior.&lt;/p&gt;

&lt;p&gt;Hard bug?&lt;/p&gt;

&lt;p&gt;You solved it.&lt;/p&gt;

&lt;p&gt;Production incident?&lt;/p&gt;

&lt;p&gt;You fixed it.&lt;/p&gt;

&lt;p&gt;Important project?&lt;/p&gt;

&lt;p&gt;You owned it.&lt;/p&gt;

&lt;p&gt;Difficult architectural decision?&lt;/p&gt;

&lt;p&gt;Everyone came to you.&lt;/p&gt;

&lt;p&gt;Those behaviors are part of what makes us Senior Engineers.&lt;/p&gt;

&lt;p&gt;But interestingly, &lt;strong&gt;the same behaviors that helped us become Senior can eventually limit our growth beyond Senior.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  From Being the Hero to Creating More Heroes
&lt;/h2&gt;

&lt;p&gt;Imagine that every time there's a difficult problem, you step in.&lt;/p&gt;

&lt;p&gt;You design the solution.&lt;/p&gt;

&lt;p&gt;You take the hardest part of the implementation.&lt;/p&gt;

&lt;p&gt;When production breaks, you save the day.&lt;/p&gt;

&lt;p&gt;Whenever the team gets stuck, everyone waits for you.&lt;/p&gt;

&lt;p&gt;You're probably a very good engineer.&lt;/p&gt;

&lt;p&gt;But there's a problem:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your impact is limited by your own capacity.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are only so many hours in your day.&lt;/p&gt;

&lt;p&gt;This is where I think one of the most important mindset shifts after Seniority begins.&lt;/p&gt;

&lt;p&gt;The question gradually changes from:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"How can I solve this?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;to:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"How can I make sure this gets solved well without needing me to be the hero?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That doesn't mean becoming detached from technical work.&lt;/p&gt;

&lt;p&gt;Quite the opposite.&lt;/p&gt;

&lt;p&gt;A Staff Engineer is often one of the most experienced technical people around.&lt;/p&gt;

&lt;p&gt;When production is genuinely on fire, they might be exactly the person who needs to step in.&lt;/p&gt;

&lt;p&gt;The real skill is understanding:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where does my direct involvement create the most value, and where should I let someone else solve the problem?&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  A Staff Engineer Needs to Know Where to Spend Their Attention
&lt;/h2&gt;

&lt;p&gt;Imagine production is broken and customers are unable to place orders.&lt;/p&gt;

&lt;p&gt;The risk is high.&lt;/p&gt;

&lt;p&gt;Time matters.&lt;/p&gt;

&lt;p&gt;Your experience could directly reduce business impact.&lt;/p&gt;

&lt;p&gt;This is probably the moment to get involved.&lt;/p&gt;

&lt;p&gt;Now imagine a side project without a particularly strict deadline.&lt;/p&gt;

&lt;p&gt;One of the Senior Engineers on your team can own it.&lt;/p&gt;

&lt;p&gt;It will probably take them longer than it would take you, and they'll need some guidance along the way.&lt;/p&gt;

&lt;p&gt;Maybe you could finish it in three days while they need a week.&lt;/p&gt;

&lt;p&gt;It might still be better &lt;strong&gt;not to do it yourself.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because the outcome isn't only:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project completed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project completed + one more experienced engineer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I think one of the underrated skills at Staff level is &lt;strong&gt;allocation of attention&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It's not enough to know how to solve difficult problems.&lt;/p&gt;

&lt;p&gt;You need to understand:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which problems are actually worth solving yourself?&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Delegation Doesn't Mean Abandonment
&lt;/h2&gt;

&lt;p&gt;Of course, "let someone else do it" can very quickly become bad delegation.&lt;/p&gt;

&lt;p&gt;If you hand a project to another engineer and come back three months later asking what happened, you haven't delegated.&lt;/p&gt;

&lt;p&gt;You've abandoned the problem.&lt;/p&gt;

&lt;p&gt;I think the amount of freedom and guardrails should depend mainly on two things:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The risk of the problem and the experience of the person.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The more critical the problem, the smaller the acceptable failure space.&lt;/p&gt;

&lt;p&gt;We can define clearer acceptance criteria.&lt;/p&gt;

&lt;p&gt;Review the design before implementation.&lt;/p&gt;

&lt;p&gt;Use ADRs for important decisions.&lt;/p&gt;

&lt;p&gt;Define milestones.&lt;/p&gt;

&lt;p&gt;Review the work at specific points instead of constantly hovering over the engineer.&lt;/p&gt;

&lt;p&gt;The goal isn't to check on someone every five minutes.&lt;/p&gt;

&lt;p&gt;It's to control the amount of risk we're delegating based on the engineer's current capabilities — and gradually expand that boundary through experience and feedback.&lt;/p&gt;

&lt;p&gt;A good Staff Engineer doesn't just delegate work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They increase the organization's capacity to make good decisions.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Maybe One Sign of Growth Is Becoming Less Necessary
&lt;/h2&gt;

&lt;p&gt;There's something slightly paradoxical about this.&lt;/p&gt;

&lt;p&gt;From Junior to Senior, we spend years becoming more reliable.&lt;/p&gt;

&lt;p&gt;A Junior might say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I need help doing this."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A Senior can say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"You can give me this problem. I'll handle it."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But after a certain point, growth starts to look different.&lt;/p&gt;

&lt;p&gt;A Staff Engineer might say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I'll make sure you don't always need me for this problem anymore."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I've started experiencing this more in my own role as well.&lt;/p&gt;

&lt;p&gt;For some projects, we've defined other engineers as owners of freeze and release processes.&lt;/p&gt;

&lt;p&gt;I've shared responsibilities I previously handled directly with stronger engineers on the teams.&lt;/p&gt;

&lt;p&gt;I've also stopped attending some daily meetings.&lt;/p&gt;

&lt;p&gt;Because if a team needs its Lead in the daily meeting every single day just to keep moving, there might be a deeper problem.&lt;/p&gt;

&lt;p&gt;The goal isn't to do less work.&lt;/p&gt;

&lt;p&gt;The goal is to become &lt;strong&gt;less of a bottleneck.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  When Other People Get the Credit, You Might Be Doing Your Job Well
&lt;/h2&gt;

&lt;p&gt;There's also a psychological shift here.&lt;/p&gt;

&lt;p&gt;Until Senior, success is often very visible.&lt;/p&gt;

&lt;p&gt;You built the feature.&lt;/p&gt;

&lt;p&gt;You fixed the bug.&lt;/p&gt;

&lt;p&gt;You designed the architecture.&lt;/p&gt;

&lt;p&gt;Your name is on the PR.&lt;/p&gt;

&lt;p&gt;At Staff level, some of your best work might result in &lt;strong&gt;someone else's name being more visible than yours.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine a Senior Engineer owns an important project.&lt;/p&gt;

&lt;p&gt;Maybe you helped establish the initial direction.&lt;/p&gt;

&lt;p&gt;You challenged their design.&lt;/p&gt;

&lt;p&gt;You helped them identify risks.&lt;/p&gt;

&lt;p&gt;You unblocked them a few times behind the scenes.&lt;/p&gt;

&lt;p&gt;But ultimately, they delivered the project.&lt;/p&gt;

&lt;p&gt;I think most of the credit should belong to them.&lt;/p&gt;

&lt;p&gt;Beyond mentorship, a Staff Engineer can become a &lt;strong&gt;sponsor&lt;/strong&gt; for strong engineers around them.&lt;/p&gt;

&lt;p&gt;Give them meaningful opportunities.&lt;/p&gt;

&lt;p&gt;Give them real ownership.&lt;/p&gt;

&lt;p&gt;And when they succeed, help them become visible.&lt;/p&gt;

&lt;p&gt;Because the growth of engineers around you is itself evidence of your impact.&lt;/p&gt;




&lt;h2&gt;
  
  
  From Solution to Outcome
&lt;/h2&gt;

&lt;p&gt;If I had to summarize this whole transition in one idea, it would probably be:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The focus moves from Solution to Outcome.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A strong engineer asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What's the best solution to this problem?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At a larger scope, another question needs to come first:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What outcome does solving this problem create for the team or organization?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The answer might be a new architecture.&lt;/p&gt;

&lt;p&gt;It might be a library.&lt;/p&gt;

&lt;p&gt;It might be changing a process.&lt;/p&gt;

&lt;p&gt;It might mean changing ownership of part of the system.&lt;/p&gt;

&lt;p&gt;And sometimes the best engineering decision might be to build nothing at all.&lt;/p&gt;

&lt;p&gt;This shift also expands your time horizon.&lt;/p&gt;

&lt;p&gt;You stop looking only at the current sprint.&lt;/p&gt;

&lt;p&gt;What will the maintenance cost of this decision look like six months from now?&lt;/p&gt;

&lt;p&gt;Are we creating a new dependency?&lt;/p&gt;

&lt;p&gt;Are we increasing a team's autonomy or reducing it?&lt;/p&gt;

&lt;p&gt;Are we actually solving the problem, or just treating a symptom?&lt;/p&gt;

&lt;p&gt;And perhaps most importantly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does success depend entirely on my own performance, or am I improving the performance of the system around me?&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  So What Does a Staff Engineer Actually Look Like?
&lt;/h1&gt;

&lt;p&gt;This was one of my favorite parts of Will Larson's framework.&lt;/p&gt;

&lt;p&gt;When we say "Staff Engineer," the picture in my head might be completely different from the one in yours.&lt;/p&gt;

&lt;p&gt;Unlike earlier career levels, Staff Engineering doesn't have one universal shape.&lt;/p&gt;

&lt;p&gt;Larson describes four common Staff archetypes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tech Lead, Architect, Solver, and Right Hand.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These aren't strict job descriptions.&lt;/p&gt;

&lt;p&gt;The boundaries aren't perfectly defined either.&lt;/p&gt;

&lt;p&gt;They're better understood as lenses for thinking about the different ways Staff-level impact can show up inside an organization.&lt;/p&gt;

&lt;p&gt;Let's make them a little more concrete.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Tech Lead — Moving a Team or Group of Teams in One Direction
&lt;/h2&gt;

&lt;p&gt;This is probably the most familiar archetype.&lt;/p&gt;

&lt;p&gt;A Tech Lead usually works relatively close to product teams and delivery, but their job isn't simply to take the hardest tasks in the backlog.&lt;/p&gt;

&lt;p&gt;Imagine three teams working on different parts of a large product.&lt;/p&gt;

&lt;p&gt;Each team has its own requirements and deadlines.&lt;/p&gt;

&lt;p&gt;Naturally, each team wants to solve its immediate problem as efficiently as possible.&lt;/p&gt;

&lt;p&gt;But their technical decisions affect each other.&lt;/p&gt;

&lt;p&gt;One team wants to change state management.&lt;/p&gt;

&lt;p&gt;Another wants to split part of the architecture.&lt;/p&gt;

&lt;p&gt;A third needs a new API contract to support its requirements.&lt;/p&gt;

&lt;p&gt;Each decision might make sense independently.&lt;/p&gt;

&lt;p&gt;But together, those decisions could create an ecosystem that's extremely difficult to maintain six months later.&lt;/p&gt;

&lt;p&gt;The Tech Lead doesn't only ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What's the solution for this feature?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They also need to ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"How do we keep these teams moving while keeping the overall technical direction coherent?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They might write an RFC.&lt;/p&gt;

&lt;p&gt;They might review a design proposed by a Senior Engineer.&lt;/p&gt;

&lt;p&gt;They might align two teams around a shared contract.&lt;/p&gt;

&lt;p&gt;They might decide whether a piece of technical debt should be addressed now or deliberately postponed for another quarter.&lt;/p&gt;

&lt;p&gt;And in many cases, they won't be the primary implementer of any of those projects.&lt;/p&gt;

&lt;p&gt;Their impact comes from &lt;strong&gt;direction and orchestration.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This archetype is particularly close to what I've experienced in my own Lead role.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Architect — Stepping Back to See the Larger System
&lt;/h2&gt;

&lt;p&gt;The Architect archetype tends to focus on technical direction at a broader scope.&lt;/p&gt;

&lt;p&gt;Imagine a company with many engineering teams.&lt;/p&gt;

&lt;p&gt;Over several years, every team has made reasonable decisions to solve its own problems.&lt;/p&gt;

&lt;p&gt;One created its own library.&lt;/p&gt;

&lt;p&gt;Another implemented authentication differently.&lt;/p&gt;

&lt;p&gt;Another uses a different observability approach.&lt;/p&gt;

&lt;p&gt;Another developed its own data-fetching patterns.&lt;/p&gt;

&lt;p&gt;None of those decisions were necessarily bad.&lt;/p&gt;

&lt;p&gt;But when you step back, the result might be an ecosystem where changing anything has become expensive.&lt;/p&gt;

&lt;p&gt;The Architect's job isn't to walk in and rewrite everything.&lt;/p&gt;

&lt;p&gt;Instead, they need to ask:&lt;/p&gt;

&lt;p&gt;Where does standardization actually create value?&lt;/p&gt;

&lt;p&gt;Where is variation between teams perfectly acceptable?&lt;/p&gt;

&lt;p&gt;What should be shared?&lt;/p&gt;

&lt;p&gt;What should remain independent?&lt;/p&gt;

&lt;p&gt;How can migration happen without stopping product delivery?&lt;/p&gt;

&lt;p&gt;And perhaps most importantly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which architectural decision creates the most leverage for the future?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Maybe the answer is a shared design system.&lt;/p&gt;

&lt;p&gt;Maybe it's a strategy for migrating away from a legacy architecture.&lt;/p&gt;

&lt;p&gt;Maybe it's standardizing observability across multiple teams.&lt;/p&gt;

&lt;p&gt;Or maybe, after investigation, the answer is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't change the current system.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because the migration cost is greater than the expected benefit.&lt;/p&gt;

&lt;p&gt;A strong Architect isn't the person who creates the most complicated diagrams.&lt;/p&gt;

&lt;p&gt;They're someone who can &lt;strong&gt;balance long-term technical direction with real business constraints.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Solver — Going After Problems That Aren't Easy to Solve
&lt;/h2&gt;

&lt;p&gt;The Solver is probably the closest archetype to the traditional image of an extremely strong engineer.&lt;/p&gt;

&lt;p&gt;But there's an important distinction.&lt;/p&gt;

&lt;p&gt;You don't need a Solver for every difficult bug.&lt;/p&gt;

&lt;p&gt;Solvers tend to work on problems that are simultaneously &lt;strong&gt;important, ambiguous, and technically difficult.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine your product's performance has gradually degraded over several months.&lt;/p&gt;

&lt;p&gt;Nobody knows exactly why.&lt;/p&gt;

&lt;p&gt;There isn't one metric pointing to the answer.&lt;/p&gt;

&lt;p&gt;Maybe it's frontend.&lt;/p&gt;

&lt;p&gt;Maybe backend.&lt;/p&gt;

&lt;p&gt;Maybe network behavior.&lt;/p&gt;

&lt;p&gt;Maybe architectural decisions made over the last few years have slowly accumulated.&lt;/p&gt;

&lt;p&gt;Meanwhile, individual teams are busy delivering their own roadmaps, and nobody has enough time or context to investigate the entire problem.&lt;/p&gt;

&lt;p&gt;The Solver enters that space.&lt;/p&gt;

&lt;p&gt;At first, they might not know the solution either.&lt;/p&gt;

&lt;p&gt;They decompose the problem.&lt;/p&gt;

&lt;p&gt;Create better measurements.&lt;/p&gt;

&lt;p&gt;Develop hypotheses.&lt;/p&gt;

&lt;p&gt;Talk to multiple teams.&lt;/p&gt;

&lt;p&gt;Investigate different parts of the system.&lt;/p&gt;

&lt;p&gt;Gradually, they transform an ambiguous problem into something that can actually be solved.&lt;/p&gt;

&lt;p&gt;And here's the important part:&lt;/p&gt;

&lt;p&gt;Once the direction becomes clear, the Solver doesn't necessarily need to implement everything themselves.&lt;/p&gt;

&lt;p&gt;Execution might move to the relevant teams while the Solver moves on to another difficult problem.&lt;/p&gt;

&lt;p&gt;The value of a Solver isn't just &lt;strong&gt;solving difficult problems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It's also:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Turning ambiguous, complex problems into solvable ones.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Right Hand — High Context, High Trust, High-Leverage Problems
&lt;/h2&gt;

&lt;p&gt;This archetype is probably less familiar than the others.&lt;/p&gt;

&lt;p&gt;Imagine a VP of Engineering or Head of Engineering responsible for many teams.&lt;/p&gt;

&lt;p&gt;There are dozens of technical and organizational problems competing for attention.&lt;/p&gt;

&lt;p&gt;They're all important, but that leader obviously can't personally investigate every one of them.&lt;/p&gt;

&lt;p&gt;An experienced Staff Engineer might effectively become that leader's &lt;strong&gt;Right Hand&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For example, leadership notices that delivery across several teams has become slower over the last few months.&lt;/p&gt;

&lt;p&gt;But nobody knows exactly why.&lt;/p&gt;

&lt;p&gt;Is it product planning?&lt;/p&gt;

&lt;p&gt;Architecture?&lt;/p&gt;

&lt;p&gt;Cross-team dependencies?&lt;/p&gt;

&lt;p&gt;Technical debt?&lt;/p&gt;

&lt;p&gt;Unclear ownership?&lt;/p&gt;

&lt;p&gt;The Right Hand might take ownership of investigating this ambiguous space.&lt;/p&gt;

&lt;p&gt;Talk to the teams.&lt;/p&gt;

&lt;p&gt;Gather data.&lt;/p&gt;

&lt;p&gt;Identify recurring problems.&lt;/p&gt;

&lt;p&gt;Figure out where process needs to change, where technical investment is necessary, and where the problem isn't actually technical at all.&lt;/p&gt;

&lt;p&gt;Or perhaps the engineering organization has a major initiative:&lt;/p&gt;

&lt;p&gt;Changing the release process.&lt;/p&gt;

&lt;p&gt;Defining engineering standards.&lt;/p&gt;

&lt;p&gt;Reducing dependencies between teams.&lt;/p&gt;

&lt;p&gt;Leadership provides the overall direction, but someone still needs to turn that direction into real execution.&lt;/p&gt;

&lt;p&gt;That's where the Right Hand can operate.&lt;/p&gt;

&lt;p&gt;This role obviously requires technical ability.&lt;/p&gt;

&lt;p&gt;But perhaps more than the other archetypes, it depends heavily on &lt;strong&gt;context, judgment, and trust.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The problems given to this person rarely have obvious answers.&lt;/p&gt;

&lt;p&gt;Sometimes even the boundary between a technical problem and an organizational problem has disappeared entirely.&lt;/p&gt;




&lt;h2&gt;
  
  
  So Which Archetype Am I?
&lt;/h2&gt;

&lt;p&gt;I don't think we need to choose one archetype and stay there for the rest of our careers.&lt;/p&gt;

&lt;p&gt;Today you might mostly operate as a Tech Lead.&lt;/p&gt;

&lt;p&gt;Then you spend six months leading a large migration and start operating more like an Architect.&lt;/p&gt;

&lt;p&gt;A strange performance problem appears and you temporarily become the Solver.&lt;/p&gt;

&lt;p&gt;As your organizational context grows, you might gradually take on some Right Hand responsibilities.&lt;/p&gt;

&lt;p&gt;You might even operate as a combination of several archetypes at the same time.&lt;/p&gt;

&lt;p&gt;The value of this framework, at least for me, is that it creates a better question.&lt;/p&gt;

&lt;p&gt;Instead of only asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"How do I become a Staff Engineer?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I can ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What kind of Staff Engineer does my organization need right now, and where can I create the most impact?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's a much more practical question.&lt;/p&gt;

&lt;p&gt;Because a Staff Engineer at a hundred-person startup might do something completely different from a Staff Engineer at a ten-thousand-person company.&lt;/p&gt;

&lt;p&gt;You might not even have the Staff Engineer title while already doing a significant amount of Staff-level work.&lt;/p&gt;

&lt;p&gt;Ultimately, what matters more than the title is the &lt;strong&gt;actual scope and impact of the work.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  How Do You Move Toward Staff Engineering?
&lt;/h1&gt;

&lt;p&gt;I don't think this journey can be reduced to a checklist like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn System Design → Study Distributed Systems → Write More Code → Become Staff&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Technical depth remains extremely important.&lt;/p&gt;

&lt;p&gt;But moving toward Staff is less about collecting another set of technologies and more about changing your &lt;strong&gt;scope and impact&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If I had to create a roadmap for myself, it would look something like this:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Fill Out Your Seniority First
&lt;/h2&gt;

&lt;p&gt;Don't rush toward the next title.&lt;/p&gt;

&lt;p&gt;Expose yourself to real problems.&lt;/p&gt;

&lt;p&gt;Let decisions, failures, incidents, and experience gradually improve your judgment.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Stop Waiting for a Bigger Project — Find a More Important Problem
&lt;/h2&gt;

&lt;p&gt;If someone came to me and said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I want to become Staff. Give me a huge project so I can prove myself."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;My first reaction probably wouldn't be to give them the largest feature on the roadmap.&lt;/p&gt;

&lt;p&gt;I'd tell them to look around.&lt;/p&gt;

&lt;p&gt;Which process is broken?&lt;/p&gt;

&lt;p&gt;Which problem keeps happening?&lt;/p&gt;

&lt;p&gt;Where are teams moving slowly?&lt;/p&gt;

&lt;p&gt;Where is ownership unclear?&lt;/p&gt;

&lt;p&gt;Where are engineers repeatedly solving the same problem?&lt;/p&gt;

&lt;p&gt;Staff-level work often starts with &lt;strong&gt;finding an important problem nobody assigned to you.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Expand Your Scope From Feature to Problem Space
&lt;/h2&gt;

&lt;p&gt;Instead of owning an implementation, start owning an outcome.&lt;/p&gt;

&lt;p&gt;Don't just become the person responsible for building Feature X.&lt;/p&gt;

&lt;p&gt;Become the person responsible for improving a situation.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Learn Where to Spend Your Attention
&lt;/h2&gt;

&lt;p&gt;Not every problem you &lt;em&gt;can&lt;/em&gt; solve is a problem you &lt;em&gt;should&lt;/em&gt; solve yourself.&lt;/p&gt;

&lt;p&gt;Consider criticality, leverage, and opportunity cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Make the Engineers Around You Stronger
&lt;/h2&gt;

&lt;p&gt;Don't keep every difficult problem for yourself.&lt;/p&gt;

&lt;p&gt;With appropriate guardrails, give other engineers opportunities to make decisions, make mistakes, receive feedback, and grow.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Learn to Influence Without Authority
&lt;/h2&gt;

&lt;p&gt;At Staff level, many of the people you need to work with won't report to you.&lt;/p&gt;

&lt;p&gt;You need to influence decisions through context, data, design documents, RFCs, communication, and trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Measure Success Through Outcomes
&lt;/h2&gt;

&lt;p&gt;At the end, don't only ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How much work did I personally complete?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Because of the work I did, what works better in the team or organization now?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  But Should You Become Staff at All?
&lt;/h1&gt;

&lt;p&gt;Not necessarily.&lt;/p&gt;

&lt;p&gt;And I think this question should come before the roadmap.&lt;/p&gt;

&lt;p&gt;Being a Senior Engineer isn't a temporary waiting room that everyone needs to escape as quickly as possible.&lt;/p&gt;

&lt;p&gt;Someone might genuinely love deep coding, direct ownership, and hands-on technical problem solving — and remain an excellent Senior Engineer for years.&lt;/p&gt;

&lt;p&gt;Staff Engineering isn't necessarily a "better" version of that life.&lt;/p&gt;

&lt;p&gt;The work changes.&lt;/p&gt;

&lt;p&gt;You might write less code directly.&lt;/p&gt;

&lt;p&gt;There might be more alignment, design, communication, and meetings.&lt;/p&gt;

&lt;p&gt;The problems become more ambiguous.&lt;/p&gt;

&lt;p&gt;Success becomes less individual and more collective.&lt;/p&gt;

&lt;p&gt;You might spend hours on something that produces zero lines of code.&lt;/p&gt;

&lt;p&gt;And sometimes, the best result of your work is another engineer doing something important and getting recognized for it.&lt;/p&gt;

&lt;p&gt;Before asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"How do I become a Staff Engineer?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Maybe we should ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Would I actually enjoy being a Staff Engineer?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Do I enjoy problems without obvious answers?&lt;/p&gt;

&lt;p&gt;Do I want to influence something larger than my own team's scope?&lt;/p&gt;

&lt;p&gt;Am I willing to give some of the dopamine of solving the hard problem myself to another engineer?&lt;/p&gt;

&lt;p&gt;Can I influence decisions without direct authority?&lt;/p&gt;

&lt;p&gt;And can someone else's success become as satisfying as my own visible success?&lt;/p&gt;

&lt;p&gt;If the answer to those questions is yes, maybe it's worth exploring the Staff path more seriously.&lt;/p&gt;




&lt;h1&gt;
  
  
  So, What Comes After Senior?
&lt;/h1&gt;

&lt;p&gt;There probably isn't one answer.&lt;/p&gt;

&lt;p&gt;You can move toward management.&lt;/p&gt;

&lt;p&gt;You can pursue Staff Engineering.&lt;/p&gt;

&lt;p&gt;You can remain Senior and continue deepening your craft.&lt;/p&gt;

&lt;p&gt;You might even move between these paths during different stages of your career.&lt;/p&gt;

&lt;p&gt;But one thing became clearer to me after reading &lt;em&gt;Staff Engineer&lt;/em&gt; and reflecting on my own experience:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After Senior, growth isn't only about solving harder problems. It's about creating greater impact.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes that means solving a critical problem yourself.&lt;/p&gt;

&lt;p&gt;Sometimes it means noticing a problem nobody else has noticed yet.&lt;/p&gt;

&lt;p&gt;Sometimes it's an architectural decision that will shape the system for years.&lt;/p&gt;

&lt;p&gt;Sometimes it's fixing a broken process.&lt;/p&gt;

&lt;p&gt;And sometimes it's simply stepping back and giving another engineer the opportunity to step forward.&lt;/p&gt;

&lt;p&gt;Maybe until Senior, much of the journey is about becoming someone who can be trusted with important problems.&lt;/p&gt;

&lt;p&gt;After that, a different kind of growth begins:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Being Senior means you can take responsibility for an important problem.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Being Staff means helping build a system where important problems get solved well — even without your direct involvement.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>staff</category>
      <category>tech</category>
    </item>
    <item>
      <title>Leadership Before the Title: How Engineers Can Start Leading Before They Become Managers</title>
      <dc:creator>Shayan Mirzaie</dc:creator>
      <pubDate>Wed, 02 Sep 2026 08:09:05 +0000</pubDate>
      <link>https://dev.to/leopold2/leadership-before-the-title-how-engineers-can-start-leading-before-they-become-managers-h70</link>
      <guid>https://dev.to/leopold2/leadership-before-the-title-how-engineers-can-start-leading-before-they-become-managers-h70</guid>
      <description>&lt;p&gt;I am a young manager who is still learning.&lt;/p&gt;

&lt;p&gt;Over the years, I have learned from amazing teammates, thoughtful managers, difficult projects, honest feedback, and a slightly embarrassing number of books and articles about leadership.&lt;/p&gt;

&lt;p&gt;One idea keeps becoming clearer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You do not need authority to start leading.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In engineering, leadership often begins long before someone reports to you. It begins when you make a confusing problem clearer, surface a risk early, help someone succeed, or improve the way work happens.&lt;/p&gt;

&lt;p&gt;This is the path I now think about:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lead yourself → improve the work → help people → create team clarity → improve the system → grow other leaders.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Three myths that stop people from leading
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Myth 1: “I need a title.”
&lt;/h3&gt;

&lt;p&gt;A title can give you formal authority, but it does not automatically create trust.&lt;/p&gt;

&lt;p&gt;Before a promotion, people are already watching how you behave:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do you keep your commitments?&lt;/li&gt;
&lt;li&gt;Do you make decisions understandable?&lt;/li&gt;
&lt;li&gt;Do you give credit away?&lt;/li&gt;
&lt;li&gt;Do you speak up when something feels risky?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The replacement for this myth is simple: make one useful contribution people can rely on.&lt;/p&gt;

&lt;h3&gt;
  
  
  Myth 2: “I must have all the answers.”
&lt;/h3&gt;

&lt;p&gt;Engineering is full of uncertainty. Leaders who pretend otherwise usually make uncertainty harder to see.&lt;/p&gt;

&lt;p&gt;Good leadership often sounds like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Here is what we know, here is what we do not know, and here is how we will learn more.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Asking a precise question at the right time can be more valuable than giving a fast answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Myth 3: “Leadership means doing more myself.”
&lt;/h3&gt;

&lt;p&gt;This is a common trap for strong individual contributors. You become the person everyone depends on, then mistake dependence for leadership.&lt;/p&gt;

&lt;p&gt;Real leadership makes capability travel. If the work can only move when you are present, your influence has not scaled yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Start with self-leadership
&lt;/h2&gt;

&lt;p&gt;Before you lead a team, you have to learn how to lead your own attention, energy, and promises.&lt;/p&gt;

&lt;p&gt;I use four questions as a practical reset:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Choose:&lt;/strong&gt; What is the most important outcome today?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protect:&lt;/strong&gt; What will I say no to so that outcome has room?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Close:&lt;/strong&gt; What loop must I finish or clearly hand off?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Renew:&lt;/strong&gt; What helps me return tomorrow with good judgment?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is not about becoming perfectly disciplined. It is about becoming more reliable.&lt;/p&gt;

&lt;p&gt;A small daily promise is enough:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I will leave one important thing clearer.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That might mean clarifying a ticket, writing down a decision, explaining a trade-off, or helping a teammate get unstuck.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Build credibility through visible judgment
&lt;/h2&gt;

&lt;p&gt;People do not need you to be certain all the time. They need to understand how you are thinking.&lt;/p&gt;

&lt;p&gt;For important engineering decisions, make four things visible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Context:&lt;/strong&gt; What problem are we solving?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Options:&lt;/strong&gt; What did we consider?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trade-off:&lt;/strong&gt; What are we giving up?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next check:&lt;/strong&gt; When will we revisit the decision?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the basic shape of an architecture decision record, but it also works in a pull request, design review, incident channel, or planning meeting.&lt;/p&gt;

&lt;p&gt;Clarity beats false certainty.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Earn influence without force
&lt;/h2&gt;

&lt;p&gt;Influence is not the ability to make people obey you. It is the ability to move important work forward without relying on your job title.&lt;/p&gt;

&lt;p&gt;Four behaviors help:&lt;/p&gt;

&lt;h3&gt;
  
  
  Listen first
&lt;/h3&gt;

&lt;p&gt;Understand the system before prescribing a fix. The first explanation is rarely the whole explanation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frame the why
&lt;/h3&gt;

&lt;p&gt;Connect the work to users, outcomes, constraints, and risks. People can make better decisions when they understand the context.&lt;/p&gt;

&lt;h3&gt;
  
  
  Make it easy to join
&lt;/h3&gt;

&lt;p&gt;Offer a small next step instead of asking for abstract alignment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Give credit away
&lt;/h3&gt;

&lt;p&gt;Make other people visible. A leader who receives all the credit may look powerful for a moment, but a leader who shares credit builds a stronger network.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Build trust in small moments
&lt;/h2&gt;

&lt;p&gt;Google’s team-effectiveness research identified psychological safety, dependability, structure and clarity, meaning, and impact as important team dynamics.&lt;/p&gt;

&lt;p&gt;For someone beginning to lead, psychological safety can start with one sentence:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What are we missing?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ask it before the plan is final. Thank the person who surfaces a concern. Own your part when confusion comes from your own communication.&lt;/p&gt;

&lt;p&gt;The goal is not to make every conversation comfortable. The goal is to make important information safe enough to be said early.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Treat feedback as a loop
&lt;/h2&gt;

&lt;p&gt;Feedback works best when it improves the next attempt instead of judging the last one.&lt;/p&gt;

&lt;p&gt;A simple structure is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Situation:&lt;/strong&gt; When and where did it happen?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Behavior:&lt;/strong&gt; What did you observe?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Impact:&lt;/strong&gt; What changed because of it?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next step:&lt;/strong&gt; What would better look like next time?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“In yesterday’s release review, the rollback risk was not mentioned until the end. That left us with less time to respond. In the next review, can we surface operational risks at the beginning?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Specific, timely feedback is kinder than a vague surprise months later.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Delegate to grow capability
&lt;/h2&gt;

&lt;p&gt;Delegation is not simply removing tasks from your own workload. It is transferring ownership, context, judgment, and confidence.&lt;/p&gt;

&lt;p&gt;The loop I try to follow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define the outcome.&lt;/li&gt;
&lt;li&gt;Transfer ownership.&lt;/li&gt;
&lt;li&gt;Coach in the loop.&lt;/li&gt;
&lt;li&gt;Review the result and reflect together.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The test is not “Did I do this faster myself?”&lt;/p&gt;

&lt;p&gt;The better question is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Can the work move forward without me next time?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is how capability travels.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Improve the system, not only the task
&lt;/h2&gt;

&lt;p&gt;Leadership becomes visible in recurring moments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a weekly planning session,&lt;/li&gt;
&lt;li&gt;a code review,&lt;/li&gt;
&lt;li&gt;a handoff,&lt;/li&gt;
&lt;li&gt;a retrospective,&lt;/li&gt;
&lt;li&gt;an incident review,&lt;/li&gt;
&lt;li&gt;a career conversation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good ritual answers one question and changes one next action.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What matters this week?&lt;/li&gt;
&lt;li&gt;What is blocked or unclear?&lt;/li&gt;
&lt;li&gt;What did we learn?&lt;/li&gt;
&lt;li&gt;What changes next time?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can practice this before managing anyone. Make one recurring interaction clearer and more useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Choose your leadership path
&lt;/h2&gt;

&lt;p&gt;Leadership is bigger than management.&lt;/p&gt;

&lt;p&gt;Technical leaders create architecture, standards, technical direction, and influence without formal authority. People leaders build teams, coach individuals, create clarity, and improve delivery and health.&lt;/p&gt;

&lt;p&gt;Books such as &lt;em&gt;Staff Engineer: Leadership Beyond the Management Track&lt;/em&gt; are useful because they show that technical leadership is a real path—not a consolation prize for people who do not become managers.&lt;/p&gt;

&lt;p&gt;Other books have helped me build the picture from different angles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;The 7 Habits of Highly Effective People&lt;/em&gt; for personal effectiveness and principles.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;The Manager’s Path&lt;/em&gt; for the progression into engineering management.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;High Output Management&lt;/em&gt; for leverage and team output.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Turn the Ship Around!&lt;/em&gt; for creating leaders instead of followers.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Radical Candor&lt;/em&gt; for direct, human feedback.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A 30-day leadership experiment
&lt;/h2&gt;

&lt;p&gt;Do not wait for a promotion to practice leadership.&lt;/p&gt;

&lt;h3&gt;
  
  
  Week 1: Observe
&lt;/h3&gt;

&lt;p&gt;Ask three people: “Where is there friction, ambiguity, or risk?”&lt;/p&gt;

&lt;h3&gt;
  
  
  Week 2: Choose
&lt;/h3&gt;

&lt;p&gt;Pick one loop you can tighten.&lt;/p&gt;

&lt;h3&gt;
  
  
  Week 3: Practice
&lt;/h3&gt;

&lt;p&gt;Run the new behavior in public. Explain what you are trying.&lt;/p&gt;

&lt;h3&gt;
  
  
  Week 4: Reflect
&lt;/h3&gt;

&lt;p&gt;Ask: “What changed? What should we keep?”&lt;/p&gt;

&lt;p&gt;One visible act of leadership is enough to begin.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Do not wait for permission to practice leadership.&lt;/p&gt;

&lt;p&gt;Choose one behavior. Make it visible. Repeat it until people can rely on it.&lt;/p&gt;

&lt;p&gt;Leadership is the work that makes other people more capable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://rework.withgoogle.com/en/guides/understanding-team-effectiveness" rel="noopener noreferrer"&gt;Google re:Work: Understand team effectiveness&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://handbook.gitlab.com/handbook/engineering/careers/management/" rel="noopener noreferrer"&gt;GitLab Engineering Management Handbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://handbook.gitlab.com/handbook/engineering/careers/ic-leadership/" rel="noopener noreferrer"&gt;GitLab: Engineering IC Leadership&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://leaddev.com/handbook/engineering-manager-handbook" rel="noopener noreferrer"&gt;LeadDev: The Engineering Manager Handbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sre.google/sre-book/postmortem-culture/" rel="noopener noreferrer"&gt;Google SRE: Postmortem Culture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://staffeng.com/book/" rel="noopener noreferrer"&gt;Staff Engineer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>leadership</category>
      <category>tech</category>
      <category>engineering</category>
      <category>techlead</category>
    </item>
    <item>
      <title>Code Review in the AI Era</title>
      <dc:creator>Shayan Mirzaie</dc:creator>
      <pubDate>Sun, 23 Aug 2026 18:37:22 +0000</pubDate>
      <link>https://dev.to/leopold2/code-review-in-the-ai-era-105c</link>
      <guid>https://dev.to/leopold2/code-review-in-the-ai-era-105c</guid>
      <description>&lt;p&gt;One thing I have been thinking about a lot recently is how AI is changing not only the way we write code, but also some of the engineering processes we have built around software development.&lt;/p&gt;

&lt;p&gt;One of the most interesting ones, in my opinion, is &lt;strong&gt;Code Review&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For a long time, Code Review was never just about reviewing a few lines of code.&lt;/p&gt;

&lt;p&gt;In large engineering teams, it has been a mechanism to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Maintain code quality and engineering standards&lt;/li&gt;
&lt;li&gt;Share knowledge between engineers&lt;/li&gt;
&lt;li&gt;Improve technical decision-making&lt;/li&gt;
&lt;li&gt;Help engineers learn and grow through feedback&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Especially when multiple teams with different experience levels and working styles contribute to the same product, Code Review becomes one of the ways to keep the codebase consistent and the teams aligned.&lt;/p&gt;

&lt;p&gt;Over the past few years working on a large-scale product at Snappfood, I have seen how important this process can be.&lt;/p&gt;

&lt;p&gt;With multiple teams and engineers working on different parts of the product, we gradually evolved our Code Review process:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Layered reviews for important changes&lt;/li&gt;
&lt;li&gt;Multiple approvals based on the scope and impact of changes&lt;/li&gt;
&lt;li&gt;Reviewer rotation to spread knowledge&lt;/li&gt;
&lt;li&gt;Automated checks and pipelines to catch repetitive issues before human review&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But now, with AI becoming a bigger part of software development, a new question has emerged:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is the Code Review process we built for the pre-AI world still enough for today's development workflow?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The problem is not only more code. It is less visibility.
&lt;/h2&gt;

&lt;p&gt;One of the first things we noticed after adopting AI coding tools more heavily is that the amount of generated code increased.&lt;/p&gt;

&lt;p&gt;Pull Requests became larger.&lt;br&gt;&lt;br&gt;
Changes became faster.&lt;br&gt;&lt;br&gt;
And understanding the full impact of a change became harder.&lt;/p&gt;

&lt;p&gt;But I don't think larger PRs are necessarily a bad thing.&lt;/p&gt;

&lt;p&gt;They can even be a sign that teams are moving faster and delivering more value.&lt;/p&gt;

&lt;p&gt;The real challenge starts when the amount of change grows faster than our understanding of that change.&lt;/p&gt;

&lt;p&gt;A PR can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pass all tests&lt;/li&gt;
&lt;li&gt;Look clean&lt;/li&gt;
&lt;li&gt;Follow coding conventions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But still leave important questions unanswered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do we really understand what parts of the system are affected?&lt;/li&gt;
&lt;li&gt;Did we give AI enough context to make the right decision?&lt;/li&gt;
&lt;li&gt;Are we introducing hidden side effects?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I think one of the biggest mindset shifts in the AI era is that our goal should not simply be producing more code.&lt;/p&gt;

&lt;p&gt;The goal should be improving our ability to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define the problem clearly&lt;/li&gt;
&lt;li&gt;Provide the right context&lt;/li&gt;
&lt;li&gt;Control the scope of changes&lt;/li&gt;
&lt;li&gt;Build faster feedback loops&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  AI optimizes for completing tasks, not always for making the best engineering decision
&lt;/h2&gt;

&lt;p&gt;One interesting behavior I have noticed while working with AI coding assistants is that they often try to find the easiest path to complete a task.&lt;/p&gt;

&lt;p&gt;For example, in our projects, we use tools like &lt;strong&gt;Husky&lt;/strong&gt; and &lt;strong&gt;lint-staged&lt;/strong&gt; as part of our development workflow.&lt;/p&gt;

&lt;p&gt;They help us catch issues before commits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Type errors&lt;/li&gt;
&lt;li&gt;Lint problems&lt;/li&gt;
&lt;li&gt;Formatting issues&lt;/li&gt;
&lt;li&gt;Broken checks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates a faster feedback loop and keeps our history cleaner.&lt;/p&gt;

&lt;p&gt;However, sometimes AI agents try to bypass these steps to complete the task faster, for example by suggesting ways to skip hooks.&lt;/p&gt;

&lt;p&gt;This taught me an important lesson:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We should not only tell AI what to build. We also need to define how it should operate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Just like onboarding a new engineer requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project context&lt;/li&gt;
&lt;li&gt;Technical constraints&lt;/li&gt;
&lt;li&gt;Engineering guidelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI agents also need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear boundaries&lt;/li&gt;
&lt;li&gt;Guardrails&lt;/li&gt;
&lt;li&gt;Defined workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Managing AI behavior will become part of engineering work.&lt;/p&gt;




&lt;h2&gt;
  
  
  Clean code does not always mean the right solution
&lt;/h2&gt;

&lt;p&gt;One of the most interesting and dangerous things about AI-generated code is that it often looks very trustworthy.&lt;/p&gt;

&lt;p&gt;The code is clean.&lt;br&gt;&lt;br&gt;
The naming is good.&lt;br&gt;&lt;br&gt;
The structure makes sense.&lt;/p&gt;

&lt;p&gt;But there is a fundamental limitation:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI makes decisions based on the context we provide.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here is a real example.&lt;/p&gt;

&lt;p&gt;In one of our tasks, we needed to keep some data inside the codebase instead of a URL, while also making sure the data would survive page refreshes.&lt;/p&gt;

&lt;p&gt;AI suggested using &lt;strong&gt;Session Storage&lt;/strong&gt;, and from an implementation perspective, it worked perfectly.&lt;/p&gt;

&lt;p&gt;The problem was that AI did not know our system context.&lt;/p&gt;

&lt;p&gt;At Snappfood, we work with thousands of vendors.&lt;/p&gt;

&lt;p&gt;If we stored data for every vendor in Session Storage, this decision could create performance issues at scale or introduce bugs that would be extremely difficult to reproduce and debug.&lt;/p&gt;

&lt;p&gt;The problem was not that AI wrote bad code.&lt;/p&gt;

&lt;p&gt;Actually, the implementation was reasonable.&lt;/p&gt;

&lt;p&gt;The problem was that AI saw the problem within the boundaries of the code, not within the boundaries of the system.&lt;/p&gt;

&lt;p&gt;And this is exactly where engineering judgment becomes valuable.&lt;/p&gt;

&lt;p&gt;Engineers need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand system scale&lt;/li&gt;
&lt;li&gt;Predict the impact of decisions&lt;/li&gt;
&lt;li&gt;Think about edge cases&lt;/li&gt;
&lt;li&gt;Ask questions that AI may not consider&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Code Review is becoming Engineering Decision Review
&lt;/h2&gt;

&lt;p&gt;Historically, a large part of Code Review was focused on questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is the code clean?&lt;/li&gt;
&lt;li&gt;Are best practices followed?&lt;/li&gt;
&lt;li&gt;Are coding conventions respected?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Many of these checks can now be automated.&lt;/p&gt;

&lt;p&gt;The things that still require human thinking are different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Did we understand the problem correctly?&lt;/li&gt;
&lt;li&gt;Is this the right solution for our architecture?&lt;/li&gt;
&lt;li&gt;What trade-offs are we making?&lt;/li&gt;
&lt;li&gt;What side effects can this introduce?&lt;/li&gt;
&lt;li&gt;How will this behave as the system grows?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I believe the future of Code Review is not about reviewing less.&lt;/p&gt;

&lt;p&gt;It is about reviewing differently.&lt;/p&gt;

&lt;p&gt;Moving from:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Is this code written well?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;towards:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Is this the right engineering decision?"&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  AI should accelerate learning, not replace it
&lt;/h2&gt;

&lt;p&gt;One of the most valuable parts of Code Review has always been learning.&lt;/p&gt;

&lt;p&gt;When engineers discuss implementation choices, alternatives, and trade-offs, the whole team becomes better.&lt;/p&gt;

&lt;p&gt;With AI generating more code, we need to be careful not to lose that learning process.&lt;/p&gt;

&lt;p&gt;Instead of only asking AI to complete tasks, we should use it to improve our thinking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why did you choose this approach?&lt;/li&gt;
&lt;li&gt;What alternatives exist?&lt;/li&gt;
&lt;li&gt;What are the trade-offs?&lt;/li&gt;
&lt;li&gt;What changes if the system grows 10x?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI should make us better engineers, not just faster code producers.&lt;/p&gt;




&lt;p&gt;I don't think Code Review will become less important in the AI era.&lt;/p&gt;

&lt;p&gt;I actually think it will become even more important.&lt;/p&gt;

&lt;p&gt;But the focus needs to change.&lt;/p&gt;

&lt;p&gt;When producing code becomes faster and cheaper, the real value of engineers will be their ability to understand context, see the bigger picture, and make better decisions.&lt;/p&gt;

&lt;p&gt;I would love to hear your experience:&lt;/p&gt;

&lt;p&gt;How has AI changed your team's coding and Code Review process?&lt;/p&gt;

&lt;p&gt;What has improved, and what challenges are you still facing?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>frontend</category>
      <category>codereview</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
