How To Fast Track Your Career As An Engineer
Understanding What It Means To Be Impactful At A FAANG
If you’ve worked for a FAANG or large organization, you have likely heard the term “impact” thrown around like the mythical holy grail. If you’re doing work that doesn’t drive impact, then you’re not getting promoted (or at least that’s what it feels like).
But sometimes, when you ask others about how they’d define impact, you’d get a myriad of different answers.
So I wanted to answer the question.
Q: What is impact, and what are some examples of projects that companies viewed as being highly impactful.
In order to answer that question I asked Ryan Peterman, a Staff Engineer (IC6) at Instagram who has been involved in multiple high impact projects at Facebook (which he’ll discuss below), what he views as Impact.
Ryan also has a newsletter called the Developing Dev where he posts weekly about software engineering and career growth in tech.
With that, let’s dive into answering the question, what is impact!
I’m not usually one for corporate kool-aid but there’s one from Meta that has always resonated with me: “Focus on Impact”. This thinking has guided my career with great results. There’s a few projects I’ve landed that have had a lot of impact:
3.9% video ad watch time increase, and 98% memory error reduction - technical blog post here
29% Threads send latency reduction - technical blog post here
Having more impact will grow your career faster than years of experience can. Not to mention that it is much more satisfying to see your work make a difference. Here’s how to have more impact in tech:
What is “Impact”?
Impact is the effect we have that helps our companies succeed. The specifics depend on your company’s business model. On a high level, there are two major ways we can have impact:
Reducing Cost - Making things cheaper; doing more with less.
Increasing Revenue - Improving product quality, contributing to user growth, or creating new revenue streams.
Let’s take a look at an example of each using the projects I mentioned above and talk about how they had impact:
Video Processing Efficiency (reducing cost) - This optimization allowed us to do what we were doing but with many fewer machines. The cost savings are massive since big tech companies need so many machines to service billions of users.
Threads Routing Optimization (increasing revenue) - Cutting Threads send latency by 29% improved product quality. This should lead to more users which will drive more revenue.
Impact is one of the top ways for you to grow your career. Here are three ways that you can maximize your impact in tech:
Run Towards The Fire
It’s natural to want to avoid unsolved problems, but these problems are opportunities for growth.
Identifying problems is a good start. Taking the initiative to report bugs or escalate incidents is helpful. Sometimes teams lack visibility into the severity of a problem, so you can have impact by helping others understand how serious it is. But what is more helpful is being the one to fix it. If you can be the person who consistently does this, you’ll develop a reputation that will grow your career.
The skill of solving ambiguous problems separates junior from senior levels. Junior levels solve well-scoped tasks, while senior levels drive resolution for unclear problem areas without any task-level guidance. Each of these unsolved problems is an opportunity for growth.
SeattleDataGuy’s Newsletter is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.
To make progress on your work, you could ping collaborators and ask when they’ll get to work that is blocking you. This can add weeks to your project timeline. Or, if the ask is simple, you could dive in and do it yourself.
This is what I mean by being “scrappy”. Own your project outcomes and do whatever it takes to make progress. If that means that you perform your own data analysis or work in unfamiliar codebases, so be it. This is more efficient than delegation for simple tasks. This is because delegation comes with the cost of communicating the work and waiting for others to pick it up.
As an example, I did all the data analysis and queries to find the 29% latency optimization I talked about here. I could have asked someone from data science to help me investigate if there was an opportunity but that would’ve taken me a lot longer. I got more done with less time since these were simple queries to do myself.
Over time this scrappiness will make you a faster engineer. You can avoid the round trips in waiting for others to do things for you if you can do simple work outside your domain (e.g. unfamiliar codebases, data science, data engineering).
To get the most out of your limited time it’s important to prioritize. We must only take on work with the highest impact and be clear on what we can’t do. For road mapping, we need to determine the return on engineering time before committing. This sounds obvious, but it’s easy to take on “nice-to-haves” without thinking twice.
To determine the priority of a project the formula is simple. Priority = Benefit / Cost. This diagram helps to visualize this relationship:
If something is not impactful but its a 5 minute change, it might still be worth doing. On the other hand, impactful projects might take too much time to land and not be worth taking on.
If a project isn’t a high enough priority, we need to drop it and communicate that decision. Leaving work in the purgatory of “eventually” can waste a lot of company time if collaborators are invested in the outcome. For instance, my team once waited months for something to be done by a partner team. It’s fine that the project wasn’t done since it wasn’t a high priority. The real issue is the time wasted in communication for both sides. Every update from their side was a non-update. We spent time checking in and advocating for the work when in reality it wasn’t a priority for the other team.
Impact is one of the best ways for you to grow your career faster than just years of experience. Running towards unsolved problems and prioritizing ruthlessly will make sure that you are solving impactful problems. Once you do that, be scrappy and throw yourself at the problem until the job is done. If you keep doing this, you’ll have an outsized impact and establish a track record that will give you more opportunities to continue growing.
If you liked this post, consider subscribing to the Developing Dev where I write weekly about software engineering and career growth.
Thanks for reading,
Is Everyone's Data A Mess - The Truth About Working As A Data Engineer
Articles Worth Reading
There are 20,000 new articles posted on Medium daily and that’s just Medium! I have spent a lot of time sifting through some of these articles as well as TechCrunch and companies tech blog and wanted to share some of my favorites!
Iceberg in Modern Data Architecture
The last two weeks have seen several major announcements about Apache Iceberg:
Google announced that Apache Iceberg support in BigLake and BigQuery is now generally available (GA), calling Iceberg “the standard for organizations building open-format lakehouses.”
Snowflake announced major performance improvements for Iceberg tables, along with future REST catalog support for working in other frameworks or engines.
End Of Day 92
Thanks for checking out our community. We put out 3-4 Newsletters a week discussing data, tech, and start-ups.