I'm an E7 at Meta (principal-ish). I worked hard to get here. Here are all of the ways I was privileged/got lucky (in chronological order):
1) When I was in college, my mom wanted to start an online dating site. She had personal insight. I studied marketing and English in school
Burnout is the result of working on something where effort and success are not correlated.
Burnout is not a sign you should take vacation. It’s a sign you should find another project or job because the one you’re working on is probably going to fail.
I think something many people don’t understand is that the workload and hours go UP as the title goes up. Directors work a ton, and VPs work non-stop. There is a whole storm raging above project-level ICs that mostly goes unseen.
Coming up on 3 years of being an engineering manager, my honest take is that at the FAANG+ level it's difficult to advance your career only working 9-5
As a high-level IC at meta who isn’t in charge of a specific large-scale system, my job is basically to fix big, ill-defined problems.
The problem with these problems though is that they usually can’t be solved by one person, or else they already would have been solved. They’re
One of the biggest reasons an organization isn't innovative is that managers looks to parse out who did what on a project.
This causes ownership anxiety and hoarding behavior, especially for ideas.
But an individual can only have the start of a good idea. It takes a team to
I wrote that my job at meta was to find and tackle ill-defined problems. People asked about my approach. I guess it's being creative.
But my version of creativity is when your brain connects two unrelated ideas in an elegant way. And it can be systematized. Here's how I think
I worked in new product experimentation at meta after
@nikitabier
. He literally wrote down his playbook.
I’m not going to share it because I don’t think it’s mine to share, but oddly it’s somehow both fully repeatable but also he might be the only person that can repeat it.
The other thing I’ve learned is that there seems to be a pretty big gulf in quality between Apple trackpads and windows trackpads. I love my mac trackpad.
Yeah, it’s called HTMX and the JavaScript people are super bent outa shape about it. The guy lives in Montana or something and loves memes. It’s weird. But here’s the thing, the JavaScript people also hate each other! React released a new feature called server components but you
List of best-in-class products shipped by the big five:
AAPL: iPhone, AirPods, iOS, lots more
META: IG, WhatsApp
GOOG: docs, gmail, android, search, maps, lots more
AMZN: 1-day shipping, AWS
MSFT: ???????
The tech industry has moved on from agile. It was a clear step in the right direction, but we shook it down for what it was worth and left the rest behind. Now practicing a strict version of agile is a sign of rigidity and a top-down management, ironically.
Eng growth hack: diagram every task or project end-to-end. Should only take like 20-30 minutes. You’ll identify the boundaries of your knowledge quickly and you’ll uplevel your technical communication skills. Plus if you can diagram well, people will think you’re smart.
no. he’s not an “absolute chad” he’s a liability. idk why anyone would see this as a good thing. it really shows he cares more about money than he does about writing good code.
I’m self taught. I’m not saying it’s right, but it will continue. This is a precision and recall problem. Ironically, I imagine more CS grads are going to understand what that means.
Eng growth hack: Don’t take your extra hours and pour them into your day job. That has diminishing returns for growth. Instead, use extra time to explore new and different technologies through side projects. Bring those learnings to bear at work.
@Madisonkanna
This is explicitly frowned upon at meta. There are docs when you join that tell you not to do this. Write your whole intent in the first message.
I think one of the reasons people hate JavaScript is also the reason it’s winning.
It’s a hacker’s language. It’s just a spec. No one owns it, which means everyone owns it. It doesn’t have smooth edges, but instead grows haphazardly in all directions.
It’s consuming use-cases
Eng growth hack
#3
: read the docs in their entirety. The irony is that the longer the docs, the fewer the people that read them. So your leverage increases exponentially, not linearly, with their length. It’ll take a day or two and you’ll jump ahead of the pack immediately.
Lots of bait accusations, but there is a broader point here and it’s that Microsoft has a different approach to product and corporate strategy than the rest of big tech. They don’t build product for the tastemakers. They build a suite of mid—but good enough—tools and win with
Meta succeeds because the employees are closer to a standing army ready to be mobilized when mark has a priority than a collection of organizations with a set of independent priorities. The latter is what the company *looks like* but the former is how it *works*.
@unclebobmartin
He was convicted by a jury of his peers, not a political party. TBH, when I saw that one member of the jury’s entire news diet was truth social I didn’t think this would happen… must have been rather persuasive.
Layoffs will keep coming for the foreseeable future. The common refrain is, "you need to learn that your company doesn't care about you." That's true. And caring about your job doesn't make your company care about you any more in return. But blackpilling yourself on your job is a
People are missing the point here. Even if I did share it, you probably wouldn’t be able to use it. A muggle can’t become a wizard by stealing their wand.
Never been a big coding book reader, but going to pick one up. Looking for suggestions. Language doesn’t matter. What’s the best coding book? The one that changed how you think about programming. Should be obvious, but alas: Don’t reply unless you’ve actually read it!
Simple guidance to go from e5 (senior engineer) to e6 (staff):
Stop focusing on executing your project well and start focusing on driving your team or organization’s goals forward.
You can ask yourself every day, “is the work I’m doing driving our goals?” If it’s not, speak
I’ve worked at startups of less than ten and tech orgs of more than 800 engineers. One thing I’ve learned is that if/when I’m running a startup, I will avoid imposing deadlines for as long as possible.
You can’t do this at large companies. There are too many layers that require
I’m 35 and an e7 at meta. I’m grateful for the people that helped get me here, but here’s a random list of things I did of which I’m particularly proud:
1) in high school I wrote an underground satirical newspaper. We snuck into the school at night and distributed copies into
The reason to have a free tier isn’t so THOSE companies eventually grow into big customers; it’s to allow engineers to experiment with your product and eventually sell it into the companies they work for.
If you have great engineers actually just letting them do whatever they want is a good strategy.
The lost productivity caused by incorrect decisions is outweighed by letting people just crank.
How to go from junior to senior eng in very little time: be thorough.
Take logging seriously
Take testing seriously
Handle your errors and fail gracefully
Document well
Read your own PRs and submit clean code
Won’t necessarily get you past senior, but will get you that far.
I've hired on teams big (Meta) and small (startups in NYC to digital agencies in Minneapolis) and in competitive talent markets and... less competitive ones...
The "A player"/"B player" conceit is naive at best and actively harmful at worst. It reveals an inability to see
Don’t read books about the habits of the super successful. Both the success and the habits are downstream of being super intense and focused weirdos. Getting up at 4am is a symptom of that intensity, not a cause of the success.
I will not follow back, but I’ll probably look at your profile, and I’m a pretty generous initial follower.
After that you get 2-3 bad posts in a row and you’re out. Examples of strikes:
Uninteresting bait: “Ok devs, let’s settle this: tabs or spaces” (interesting bait otoh is
Devin will be to standup on time every day.
Devin will always want to pair.
Devin’s slack light is always green.
Devin reviews every PR right when it goes up.
Devin loves feedback and comments on his code.
Devin is a good little coder.
I mostly think technical debt isn’t real. It’s just the nature of coding that routine mildly suboptimal decisions pile up. Only way to avoid it is to go out of business first.
The inverse are the tech bros that sacrifice their youth grinding because they think if only they work hard enough they can make a dent in the universe, but eventually they wake up in their 40s doing the same thing, no dent yet wondering where their youth went so they end up
The saddest archetype I observe is the comfortably numb 27-year-old guy with a “stable” job making around $150k per year.
He probably wears a no-date submariner and lives in a respectable apartment. He looks forward to his 7 pm Chipotle burrito accompanied by the new show he’s
People don’t improve at writing in a professional setting because there’s no feedback loop. Correcting someone’s writing is viewed as pedantic at best and insulting at worst. If you want to improve at writing, find an editor and welcome feedback. It’s that simple.
There are a variety of ways to break through to the staff/principal level, but the two most common that I see are:
1) think like an engineer and be a really effing good engineer
2) be a pretty good engineer and think like a CTO/CEO
Most engineers gravitate toward the former
One of the worst pieces of startup advice is “build something you’d use.” This is why we have a million and one productivity apps. Engineers and product people building for themselves is a hyper-optimized space. Build something for someone else for once.
Here’s the problem with every function being 5 lines or less: eventually you have complex enough code that in order to do this you have to continue to stack functions on functions and the names lose clarity so the whole thing loses readability.
@Carnage4Life
He feels so strongly about it too. The irony of the tech right is that they think they’re crusading for autonomy of thought and speech but really they’re just parroting the groupthink ethos of the United States since its inception.
Eng velocity hack: build your features end-to-end low fi first, so you can test. Then add the real logic and test as you go. If you go from one end to the other you’ll add tons of time once you’re “done” working through each bug in order.
@nostalgebraist
Lots of speculation that this is retuning other users’ queries. This seems unlikely to me and instead it’s bouncing off a random neuron like a pinball machine. It only needs to be pushed in a direction to keep going that way.
@ojoshe
@fireship_dev
Well it doesn’t feel pain, so that’s a plus… there are no pain points for ai. It’ll happily try and try again and try again. It’ll maintain the code forever.
@GergelyOrosz
Apple is a hardware company and google is a software company. Apple bakes things pretty fully before release and google releases iterates. It comes out in everything.
Demonstrates how hard it is to change or flex your DNA.
Ok so here’s my take on excel:
1) for basic spreadsheet stuff, I prefer google sheets. It’s more collaborative.
2) for more complex stuff I prefer a database, it’s more flexible.
I think this is my least favorite part of this app. This is just gibberish parading as wisdom. I’m truly not trying to dunk. But I guess what I’m trying to do is share helpful information and this is discouraging.
Like i get that he was probably interested in computers and now
@davidadamojr
I think a lot of the work that gets done has the potential to massively change priorities of the orgs. So to some degree it's supposed to be hidden. VPs don't want to cause thrash on things that might not come to fruition.
I think better and easier startup advice is attack a known and profitable problem with new tech and design.
Datadog vs. new relic
Linear vs. asana vs. jira
RelateIQ vs. salesforce
Posthog vs. mixpanel vs. GA
Fashion cycles are real. Older companies get sclerotic.
Good startup advice seems to be “find an urgent problem people have” but I seem to only find problems that I think are important but other people can’t see? So maybe they aren’t actually important?
Eng growth hack: thorough code reviews. Actually reading and trying to understand the code is a more efficient learning method than writing code yourself. You get exposed to new styles, patterns and portions of the codebase. Yet… everyone skims. Igtm.
My father-in-law is a software engineer. He is uniquely gifted. He was showing me one of the applications he built years ago. It was stunning, beautiful, fast, intuitive. I asked, “how long would it take to build something like this?”
I’ll never forget what he said.
“Oh, you
Parenting is like coding without unit tests. You think you’ve got the whole thing figured out, boom—regression! Try something new? Wham! Unexplainable new behavior. You definitely can’t repro anything. Worst part is TDD doesn’t exist. You can’t prepare.
At Meta, we have ways to measure clear product impact like DAUs +/-, user actions, etc isolated to specific features shipping. This way, we can attribute progress toward goals to specific teams and people. Do other companies (more interested in b2b/saas) have things like this?