đŁ Ship faster with context-aware AI (Sponsor)
Augment Code is built for real engineering teams. It understands your codebase across 10M+ lines, 10k+ files, and every repo in your stackâso it can actually help: writing functions, fixing CI issues, triaging incidents, and reviewing PRs.
All from your IDE or terminal. No vibes. Just progress.
Hi fellow High Growth Engineer đ
Iâm happy to share that I was recently promoted to a Staff Engineer at Pinterest! Thereâs a lot Iâm excited about in the new role, like starting a whole new growth journey and making sure Iâm the best âStaffâ I can be. Iâll be writing more content around Staff-level topics, as teaching has been a huge source of growth for me.
In that vein, the first article begins now! Weâll cover the operating principles that drive my actions every day and likely helped me reach the Staff level (I say likely because correlation != causation). They are not necessarily a requirement, only how I operate. Any advice or opinions are my own and not of my company.
The principles will be shared in two parts:
This article - Principles that expand your impact every day
The next article - Principles that expand your influence
Both tie together into helping you deliver Staff-level scope and results, which need to be large, complex, and across teams.
Letâs jump into the first principle!
Principle 1: Find Problems. Create Scope
Venturing into Staff engineer expectations requires you to not just be handed problems. You need to find them. And even if you are handed a problem, you wonât take that problem at face value. Youâll understand it deeply and find even more ways to improve past what you were given.
Why should you do this? Well, this is how you create your own impact and drive whatâs most valuable to work on. To reach Staff level, you need to provide direction. Identifying problems that need to be fixed enables you to provide that direction.
So how do you find problems? Donât be complacent. Continuously ask, âHow can we do this better?â
A few examples from small to large areâŚ
Small: A question that keeps coming up in support channels â I ask myself, âWhat would need to happen for this to not keep coming up?â
âŚleads to a JIRA ticket that gets prioritized
Medium: A time-consuming on-call handoff â I ask myself, âWhat could we do to make this take less time?â
âŚleads to a 1-Pager that documents the problem
Large: Builds take 50 minutes longer than they should â I ask myself, âWhat aspects of it are the slowest and how can we speed those up?â
âŚleads to a strategy doc with cross-functional alignment
Each case illustrates how you can find your own impact without relying on your manager or tech lead to hand this off to you.
The process is simple:
Observe how a system works
Ask if it can be improved
Itâs easier said than done, though. The way to do it consistently is this:
Do not accept the status quo. Do not become complacent.
Instead of viewing the way things are as âjust the way it is,â you view it always as something that can be improved. This does not mean that the existing system is or needs to be âbad.â Itâs only that everything can always be better. Keep looking for that, and youâll find plenty of impact and scope.
It doesnât end there, though. Once you find the scope, you need to drive the solution.
Principle 2: Extreme Ownership
The term âExtreme Ownershipâ comes from the book by Jocko Willink, a retired US Navy SEAL veteran.
Jocko describes extreme ownership as taking ownership of the problems and mistakes that happen, then seeing through that theyâll be fixed. If something goes wrong, you donât blame anyone but yourself. He describes it through the lens of war and his experiences on the battlefield. You donât need to know more than that for this article, but you can check his TED talk if youâre curious.
I agree with his definition, and in the tech world, I see ways to apply extreme ownership every day. Extending principle 1 further, what matters in ownership is not just identifying problems, but what you do next, and how. After identifying a problem, the next action often falls into one of three categories:
Say nothing. Let it remain a problem, and maybe itâll get fixed eventually
State the problem. Make the problem known, but let it be someone elseâs fix.
State the problem and drive a solution. This is where extreme ownership is. You donât just call out the problem and make it someone elseâs job to fix it. You ensure a fix happens, end-to-end.
In the tech world, some examples of driving solutions are:
Putting up a quick code fix to the issue
Drafting a 1-page proposal of a fix to the problem
Making a bug ticket, reporting to the owning team, and following up with them
Creating a proof of concept to demonstrate an idea, then enabling another engineer to ship the full fix, and following up with them as they implement it.
Reporting it to the owner, but offering to help as much as you can
Being a Staff engineer requires you to expand your impact outside your team. Taking extreme ownership gives you that, as ownership often expands outside your team, which builds Staff-level scope, influence, and results.
Now, will you always be able to âstate the problem and drive a solutionâ? Yes and no. At the very least, you should be able to state the problem, and the âdrive a solutionâ part varies based on the time available and how important the problem is.
In one instance, I reprioritized my work for 2 weeks to dedicate my time to high-impact cross-team fixes I identified. But if I did that every time, Iâd never get what I originally set out to do done. So like most things, itâs a balance. If I have less time and the problems are less impactful, I may only make a bug ticket and follow up with the owners later. But for those high-impact finds, donât be afraid to get permission to drive fixes for them and make a huge cross-functional impact.
Principle 3: Bias for Action
Thereâs a simple productivity idea from David Allenâs Getting Things Done called the âtwo-minute ruleâ: if something takes less than two minutes, just do it now. Donât schedule it, donât plan it, donât put it in a system. Just finish it and move on.
Iâve found this applies to engineering too. Small, fast wins matter. They remove friction for you and others, and they build a reputation that youâre someone who gets things done.
But what I see instead is this:
Someone reports an issue, like incorrect copy text
A JIRA ticket is made to fix the issue
That JIRA ticket sits for weeks or months before being addressed, even though it would have taken a few minutes to fix.
Instead of earning a reputation for getting things done, you get the oppositeâsomeone who adds to the backlog but rarely removes from it.
By the time itâs finally prioritized, youâve spent more time creating and tracking the ticket than it wouldâve taken to just fix it right away. Thatâs the opposite of bias for action.
Bias for action is about breaking that cycle. When something takes less than 15 minutes, fix it now. Donât let problems linger.
Some examples Iâve seen or done myself:
Someone calls out an outdated documentation link. Just fix it now.
Fixing a flaky test after it fails, instead of filing it away for later.
An alert is being overly noisy, so we update the thresholds now.
When I work with engineers who operate like this, itâs a breath of fresh air. I report an issue, and before I even check back in Slack, a fix is already up. Or if Iâm blocked by another teamâs API, they reply: âItâll be fixed in the next deploy.â That kind of responsiveness instantly builds trust and goodwill.
And that goodwill compounds. Iâve gone out of my way to highlight these engineers in peer feedback and to their managers because itâs such a rare but valuable behavior. Not everyone will notice in the moment, but over time, it shapes your reputation.
Now, does this mean you should always drop everything for every little issue? No. If the fix really is small (<15 minutes), usually yes. If these small items are taking longer than that, you may need to invest in better systems to improve speed; more on that in principle 5.
Principle 4: Pragmatic Iteration
Make it work. Make it right. Make it fast. - Kent Beck
This is the principle I follow in pragmatic iteration.
Since I work in developer productivity, Iâve had lots of opportunities to spin up tools for engineers to get things done faster. A lot of my work is for internal use cases, so itâs not the end of the world if alpha versions of a tool are shipped, because engineers would rather have some productivity boost than no boost.
How this works in reality is a bit of an extension to âbias for action.â Letâs say an engineer reports an issue with something just as Iâm heading into a meeting. What do you do?
The anti-pattern response: Create a JIRA ticket and let it rot in the backlog.
The decent response: Add it to the backlog and fix it weeks later.
(What I do) The pragmatic response: Spin up my AI coding workflow, paste the request and a solution idea, then let the AI scaffold a solution while Iâm in the meeting. When Iâm done, I check the code, fix obvious flaws, and push it for review.
Is it the exact code I would have written by hand? No. But it solves the problem. And in my context of internal tools where speed matters more than elegance, thatâs the right tradeoff.
I weigh the tradeoffs ofâŚ
Solving the engineerâs problem.
The risk of imperfect code.
The time cost of making it 100% perfect.
For me, solving the problem usually wins. If I were working on a financial, legal, or medical system, the weighting would flip. There, perfection matters more. Pragmatism means recognizing your environment and adjusting the factors you optimize for.
Too many teams get stuck in dogma like, âWe must achieve 100% test coverage on every line of code.â Sometimes thatâs right, but applied blindly, it slows progress for little benefit. Pragmatic iteration is about avoiding that trap: shipping code that solves the problem, cleaning it up later if itâs worth it.
Principle 5: Invest in Yourself
One of the highest ROI moves you can make as an engineer is to invest in your own productivity and knowledge, which makes all the other principles we discussed easier to accomplish.
It means you can embody extreme ownership by following through on cross-functional problems while still getting done your original work.
It means you can embody bias for action by turning what was a âIâll add it to the backlog itemâ into a 1-minute task that you get done immediately, building trust with the other person.
It means you can embody pragmatic iteration by having multiple solutions moving forward in parallel.
To achieve these through investing in yourself, there are two key focus areas:
Use high ROI tools. And yes, sometimes, they cost money.
Set up systems that make your daily work smoother.
Use high ROI tools
Some of the biggest wins can come from adopting a few tools that make the most common things you do more efficient and of a higher quality.
Cleanshot has been a great example of this for me. I use it 10-30 times per day for stronger communication with visuals. I use it to highlight problems and solutions in threads, document my code changes, and for video demos.
At the same time, it costs $29. I know, right, $29. What the heck!? A tool that can save you hundreds of hours every year and level up your communication, but I have to pay $29 one time or get it expensed? How dare they!!?? Ok, Iâm being a little sarcastic here đ but Iâve seen this sentiment before, and it really makes no sense to me. As an engineer, weâre paid pretty comfortably. But thereâs also a bias toward expecting everything to be free and open source. At the same time, most of us donât work for free, so why expect others to?
One of the best lessons my dad taught me was to convert the value of my time into money. Time is the one thing you canât get back, so pay for more of it. The average software engineer salary in the US is $150,000, which converts to $72 per hour. The question I ask myself when investing in myself through money is, âIs the time I get from it worth more than the price I pay?â If it is, I get it.
It works the same way with books. Theyâre one of the most affordable, high-quality forms of education available. Someone took thousands of hours to distill lessons from over 20 years of experience into a condensed format, all for just $10. Itâs an amazing deal!
âŚAnyways, Iâll leave it up to you, but thatâs just my strong opinion!
P.S. Iâm not saying CleanShot is a must for everyone. Itâs just an example for me because I use it a lot, and the $29 pays itself back plenty. The main takeaway is not to close yourself off to tools just because they cost anything. It should be a tradeoff between the cost and the benefit it gets you, not a strict âno pay for anythingâ rule.
</steps off soapbox>
If youâre curious about more tools for engineers, I share my recommendations here and in the top 7 engineering workflow tips article.
Set up systems
Itâs not just about software either. Sometimes the best investment is taking a full day to properly set up your environment. A simple example: terminal autocompletion. You probably have your terminal open all day. Without autocomplete, you waste brain cycles remembering commands. With it, you free up attention for higher-level work â not âwhat was that command again?â, but âwhat problem am I actually solving?â
The ROI is huge. A few hours upfront can save you dozens of hours across months, which compounds over years.
If youâre curious where to start, here are two external articles I recommend: New Mac Setup by swyx and Mac Setup for Web Development by Robin Wieruch.
There are also these two High Growth Engineer articles: How I Setup My Terminal for Max Productivity, How I Got 27 Hours in a Week. Finally, if you become a subscriber, you can access the productivity learning track.
đ TL;DR
Find Problems. Create Scope.
Donât wait for tasks to be handed to you. Observe how the current systems work and constantly ask âhow can this be better?â to find problems to solve.
Extreme Ownership
Don't just identify problems. Drive solutions end-to-end, as long as it makes a large impact.
Take ownership of issues spanning teams to build Staff-level impact.
Bias for Action
Fix small issues (<15 minutes) immediately instead of creating tickets and delaying for weeks. Build trust by fixing problems quickly.
Pragmatic Iteration
Ship working solutions first that provide value, then improve them based on whatâs actually needed.
Balance velocity vs quality based on context. Recognize when itâs ok to break the rules and be pragmatic (e.g., 100% test coverage is not always necessary).
Invest in Yourself
Use high-ROI tools that save time, especially if the time saved justifies cost.
Spend a day setting up productivity systems that compound over time.
These principles helped me consistently deliver results and build credibility. But to sustain that impact and scale it, you need something more: influence. Influence is how you get bigger, faster results by shaping priorities, aligning people, and earning trust. Thatâs what weâll cover in Part 2. See you there in the next issue!
Thank you for reading and being a supporter in growing the newsletter đ
You can also hit the like â¤ď¸ button at the bottom of this email to support me or share it with a friend to earn referral rewards. It helps me a ton!







Congratulations on your promotion to Staff level! Thank you for sharing these valuable insights, looking forward to more of this sharing.
I agree that the transition from Senior to Staff is a significant behavioral shift that requires a new way of thinking.
Senior roles are typically execution-focused, whereas Staff roles emphasize vision, strategy, and deep technical strength. While a Senior Engineer's scope is often provided, a Staff Engineer must proactively define their own, which is one of the key areas discussed in this post.
Congrats on the promotion! This is really valuable for my current situation!