

I became a FAANG Staff Engineer in 5 years. These are the 14 lessons I learned a...
source link: https://medium.com/geekculture/i-became-a-faang-staff-engineer-in-5-years-here-are-the-14-lessons-i-learned-along-the-way-f70ac078875c
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

I became a FAANG Staff Engineer in 5 years. These are the 14 lessons I learned along the way.
I took notes over the last 3 years as I was promoted up to Staff Engineer. Here’s what I learned.
A few years ago I made the jump from the midwest to a FAANG company in Silicon Valley. I wrote about getting offers at Facebook, Amazon, Apple, Google, and LinkedIn. I also wrote about my negotiations with them.
Since then, I’ve dreamt about writing about a successful transition to Silicon Valley. A piece about all the oops! and aha!s along the way, the good and the bad. A compilation of what I wish I could have given 2016-me a heads-up about.
In the last few months, I hit a career milestone: Staff Software Engineer. It’s something I’ve worked hard for, something I’m proud of, and something I wanted to take a moment to reflect on.

So, here’s the piece I’ve wanted to write. I’ve taken notes for the last three years about the bumps along the way, about my successes and my failures. I hope it can serve as a rising tide to lift all boats.
First, a few personal details
I prefer remaining anonymous when blogging. Some personal details are relevant, though, so I’m providing them here:
- I’m a white guy born in the US.
- I didn’t go to private school and I wasn’t raised wealthy.
- I went to a small, unknown school for my Bachelor’s in CS. I graduated in 2016 with six figures in student loans.
- I had two internships in college. Both were local companies that stopped paying engineers at some point. They weren’t glamorous :)
- I’m an ambitious person and always have been. That said, I work around 45 hours a week, not 80.
- I went from getting my Bachelor’s in CS to “staff engineer” in five years.
What I’ve learned
I took everything below from my last three years of notes. It covers career topics, life topics, mental health topics, and whatever in-between.
Some of these may be brief and seem pretty simple or obvious. Still, much of it took me years (and for some, almost 30!) to learn and internalize. I hope this speeds up the process for some other folks out there :)
👨💻 Lesson 1: Software engineering isn’t just coding. Actually, coding is a small part of it.
This is something that I’ve always heard but wrote off as a justification for senior engineers that don’t do much. In retrospect, that was awfully immature :)
Over the last few years I’ve started to shift my time allocation. At this point I spend a lot less time thinking about how much code I’ve written. I spend a lot more time thinking about the direction of my team. Based on my experience, your influence, not your code, is the most valuable asset in your career.
You grow your influence by gaining respect and growing your reputation. Your influence then unlocks many new doors. Your influence is what charts the technical path forward and ensures the “right” code gets written (or doesn’t!).
A good reputation is the single most important thing to establish influence. Because of that, writing a lot of (good) code is still great for newer engineers. It helps you learn and it’s a great way to establish a reputation. At some point, though, people know you can code. You’ll see diminishing reputational returns on churning out new code. At that point your soft skills become your differentiator.
Part of growing your career is shifting what you optimize for in this respect. Are you increasing your output or the output of your team? Your org? Your company? This is also a good yardstick to ballpark where your influence stands today.
🧠 Lesson 2: Don’t have a one-track mind.
I was terrible about multi-tasking when I first joined the industry. Like, really bad. I’ve told my managers upfront that I wasn’t very good at juggling a bunch of projects. I could only ever execute on or think about one thing at a time.
It ended up being okay at first. But I reached a point where this approach limited my career growth. This is a hurdle for most junior engineers in my experience.
Something that every engineer should at least consider doing: pipeline your work. The real issue of laser-focusing on a single piece of work is that as soon as you’re blocked by another team you’re stuck. There are good ways to spend the idle time but it would be better if you had other important things in the pipeline.
Prioritization ends up being key when you’re juggling many important projects. It’s a learned skill and one of the big differentiators of more junior and more senior engineers. Work on a few things at a time and make sure they’re the right things.
One of my mentors once told me that you should always be punting some important project. If you’re not, you’re not working on enough important problems. That may be a bit extreme, but it’s at least directionally correct. :)
👂 Lesson 3: Be open to feedback and listen. Like, seriously, listen.
I’m still bad at this. I spent a lot of my life pretty resistant to feedback. Not in an in-your-face way. I resisted feedback in that people would give it to me and I’d say thanks and immediately disregard it. This is a very damaging mindset for your career.
Be open to people’s feedback and genuinely listen. You don’t even have to agree! Compiling extra data points is never a bad thing. If you get enough of the same feedback you’ll start to consider that there’s something to it.
Don’t go on forever hearing feedback instead of listening to it. You may end up with one year of experience ten times instead of the engineer with ten years of experience. Feedback is how we grow and shutting off that avenue for growth is a great way to limit yourself.
💎 Lesson 4: Great feedback is hard to find; treasure it.
To add on to the previous lesson: not all feedback is the same. You should still listen to it all. But sometimes you’ll come across someone whose feedback is worth its weight in gold. There are some folks out there that can deliver a sentence that changes your outlook on how you see the world. When you find these people, don’t let them go! You can learn as much from six months of making mistakes as you can from one heart-to-heart with the right person.
There’s no heuristic for knowing whose feedback falls into this category. At some point you’ll realize it. If you’ve been somewhere a while and you haven’t, consider that the right person may be working for another company.
🌅 Lesson 5: Keep an eye on the horizon (but not both).
Getting too caught up in the present can be stifling. Make sure you keep an eye out for what’s going to be important to you, your team, or your company a year from now. Are people working on the right problems? Is there something everyone knows will be a problem but no one has taken ownership over?
These are the kinds of problems that can prove to be existential threats. Senior engineers make sure they aren’t.
A good leader can decide which of those looming problems can continue to be on the backburner. More importantly, they can decide which problems cannot.
On the flipside, it’s also important to work on what matters now. A senior engineer needs to make sure that the future problems have just enough attention and not a bit more. You don’t want to over-invest on the future at the cost of the present.
If you want to grow your scope and influence, look at the problems on the horizon. Is there an area that could use some proactive ownership? Consider being the person that provides it.
🧘♂️ Lesson 6: Figure out what matters and let the rest go.
As an engineer, you’re going to have plenty of battles in your career. You may even have plenty to deal with on a daily basis. Like life outside of work, it’s important to pick the important ones and let the rest go.
Let’s say a sub-component of a sub-component of a project you’re leading is imperfect. Is that the end of the world? Will the world come crashing down if you released it? Push for the right things, but learn to let some of it go if it becomes a struggle. Life’s too short to make every problem you come across one worth dying for.
This is especially prudent in engineering. You can usually perfect imperfect code later if necessary. Save your fighting for the critical pieces; fix the rest later if you have to.
🦝 Lesson 7: Comparison really is the thief of joy.
Comparing yourself to your coworkers is a dangerous path. I’ve seen people at work fall into states of depression because all they do is compare themselves to their colleagues. It’s a game with no winners.
The fact of the matter is that some people are born with lots of privilege. Be it their ability, work ethic, upbringing, or whatever. Some people have something that you don’t. The quicker you realize there’s nothing you can do about it the happier you’ll be.
Does it suck that others are better positioned for success? Yeah. But what does dwelling on it do? It only breeds animosity.
And honestly? Those are the people that would serve as much better allies than they would enemies.
One callout: there’s always room to be inspired by those around you. The line between inspiration and envy is a thin one. Make sure you’re on the right side of it.
💵 Lesson 8: Big Tech pays in Monopoly money (and not everyone spends it).
My original goal was to move to Silicon Valley and crack $150,000 in yearly income.
My shoot-for-the-stars number was $200k.
I ended up taking a job for $300k. Less than three years later, it’s $700k. My then-girlfriend (now wife) and I graduated with ~$120,000 in debt and in five years we have over $1 million in net worth.
Maybe everyone knows how unfathomable the high-end of Big Tech incomes are, but it was news to me. I don’t think the reality has even set in yet.
Interestingly, I know a lot of people that are deathly afraid of spending any money. I don’t actually know many that live lavish lifestyles and spend in excess. I definitely fall into the first category.
A friend of mine recently suggested that I read Die with Zero, so that’s next on my list. The psychology behind this is outside the scope of this piece, though :)
🐰 Lesson 9: Consistent job-hopping is a fantastic idea for most and a colossal mistake for the rest.
This is one of the more surprising mindset shifts I’ve had in the last few years.
The common refrain online is that you should be switching companies every few years. To be clear, it has a lot of benefits. For one, you often get a higher pay bump than you would have received at your current employer. You also get a diversity of experience and of thought and opinion. But job hopping is not the universally applicable idea that people make it out to be.
Big Tech companies do what’s necessary to keep top talent. No engineer is irreplaceable, but some are less replaceable than others. Engineers with lots of context are the hardest to replace. Throwing more money at new candidates simply can’t replace the time spent by an engineer that grew with a team. As a result, companies are heavily incentivized to retain the context holders.
Switching jobs every few years still makes sense for many. It makes a lot more sense for those outside of Silicon Valley. But for engineers with a lot of context and a lot of business value it’s debatable. I’ve seen enough counter-examples in the last three years to be confident in that assertion. Some engineers will earn more by growing their influence rather than changing jobs.
😌 Lesson 10: Take a break. Even if you think you’re not “one of them”, take a break.
I’ve never been so burnt out that I wanted to quit. But I’ve been close. Some of my coworkers have hit that point. They did quit their dream jobs. The common thread in these scenarios?
They’re the last people that I would have expected to burn out.
Be very careful not to think of burnout as something that only applies to “weaker” or “lesser” people. It’ll sneak up on you and once you’re there it’s too late to repair in the short-term.
Those with sustained success are the ones that take routine breaks. They’re probably happier in the end, too. Ease up on the pedal sometimes.
👨🏫 Lesson 11: Mentorship is a beautiful thing.
Mentorship is invaluable on the mentee’s side. Someone else gets to screw up for years instead of you! Awesome. I can’t overemphasize the importance of finding good mentorship in one’s career.
You don’t even need a formalized “I am your mentee and you are my mentor” relationship. Find someone you can talk to about your career and the problems you run into. I’m positive I would be much further behind in my career had I not found the right people to talk to. This is also something worth pushing on in interviews. Companies with a strong mentorship culture are likely better for you in the long run.
For folks that have been around for a while but don’t seek out mentees, consider doing so. You know how some people grow their wealth so they can either donate it or leave it to their children/family? Unlike with money, there’s no way to transfer your knowledge, experience, and wisdom once you’re gone. Share it around and the world will be better off for it.
🎭 Lesson 12: Good days, in general, don’t just “happen”.
This is the first of the more “life”-y realizations I’ve had. I’ve learned that expecting good things to just happen is a folly.
I started tracking my daily mood a couple years ago and it opened my eyes. With more awareness of how I felt about life I started trying to do what I could to get “higher scores”, which in turn… made me happier. Huh.
This may be intuition that everyone else is born with, but it was news to me. Waking up with the goal of “have a good day” led me to make better and healthier decisions across the board. Sometimes it meant cutting off work early or making dinner reservations. Whatever it was, it was something to make the day a good one.
This didn’t always work, of course, but I learned that waiting until the end of the day to then determine “was that a good day?” isn’t an optimal way to lead a happy life.
👩⚕️ Lesson 13: Your health matters more than your time and a lot more than your money.
One of the ways I try to live my life is by minimizing regret. I find that it’s a good heuristic to help me make better decisions. One of the best ways to minimize long-term regret is to take care of yourself and your health, mental or otherwise.
It took me a few years, and it’s still a work-in-progress. But I started a daily exercise routine. I scheduled long overdue doctor’s appointments. I also started eating healthier.
My short-term mental health improved and I’m sure my long-term health will be better off. Even the knowledge that I’m making good investments for the future makes me feel better. A lot of us spend so much time focusing on our careers that we forget it’s wasted when we fall into bad health.
So take the time to exercise. Spend the extra cash on healthier food, and get those medical check-ups you’ve put off for years.
Sure, they all suck (for different reasons) now. To minimize the regret you live with in your later years, it’s a worthy trade-off.
🤷♂️Lesson 14: Advice and guidance are just that; they aren’t rules.
In general, too many people live by too many rules. Don’t get me wrong, setting rules is a great way to keep yourself in line. It removes a lot of critical thinking when you can follow a decision tree. But understand that you’re making a tradeoff!
You’re reducing the cognitive load of decision making. You haven’t found a way to automate making the “right call”. Sometimes challenging conventional wisdom is the right call.
This is especially important to keep in mind when you take these rules from other people. Someone else’s truth isn’t necessarily yours. Two people can have entirely valid and entirely contradictory opinions on how to go through life. Universally applicable advice is rare, if it even exists at all (aside from “be kind”, I suppose).
Everything you hear is someone’s perspective of what worked for them given their skill set, personality, and authority. Your mileage, as always, may vary.
What’s next?
Who knows? Senior Staff Software Engineer, I guess? This is all foreign territory for me so I have no idea where this all leads or what my personal endgame is.
I also don’t want to get ahead of myself. Success begets success right up until you think it’s something that you’re owed.I feel like I’ve earned what I’ve accomplished but I haven’t earned anything more than that.
As for blogging, I’ve started to pick the brains of the “elite” engineers at work. I’ve been compiling a lot of their guidance for both selfish reasons (it’s good stuff!) and to distribute more broadly here. I’ll write here about the many topics I’ve explored in the coming weeks and months.
I hope that this blog is even half as valuable for everyone reading as it was for me to learn and compile.
Here’s to another five years of screw-ups, successes, self-reflective soliloquies. :)
Follow me on Twitter. For interview negotiation help, check my affiliate link for Levels.fyi’s negotiation service :)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK