And the graphics are from my book thetechresume.com (free for any engineer currently out of a job).
You might wonder "why bother applying for local companies or ones that don't support visas when many of Big Tech does"
Well, one important part: competition. The companies hiring worldwide, offering remote work? They'll see a huge number of candidates & it's hard to stand out.
Even with Big Tech, there is a *lot* of risk with long visa processes.
I've seen a candidate send a note 2 months into the 3-month visa process we started telling us sorry, they changed their mind.
At a large company, we absorbed this. But why would a small company risk this?
• • •
Missing some Tweet in this thread? You can try to
force a refresh
The 12 most important pieces of information and concepts I wish I knew about equity, as a software engineer.
A thread.
1. Equity is something Big Tech and high-growth companies award to software engineers at all levels. The more senior you are, the bigger the ratio can be:
2. Vesting, cliffs, refreshers, and sign-on clawbacks.
If you get awarded equity, you'll want to understand vesting and cliffs. A 1-year cliff is pretty common in most places that award equity.
Pretty cool to see the top "lower hanging fruit" they saw: app startup, tile caching, animations, binary optimizations, and detecting performance regressions.
Writing is one of the best things you can invest in, as a software engineer. The more experienced people become, the more they tend to realize this.
Here's a thread on the 6 best writing resources I've found - both to "convince" you to write more and to help you "level up":
1. My extended thoughts on why writing is an undervalued software engineering skill, and the tools (Grammarly, Hemmingway) and books (Writing Well, Sense of Style) that helped me improve my writing.
Writing becomes *so* important at larger companies.
How do you bring up the topic of promotions with your manager?
My 7 pieces of advice (thread) 1. Understand how proms work at your company. 2. Talk with your manager: get them on your side. If you don't bring it up: don't expect it to happen.
2. (Cont'd) It's in all managers' interest to have people promoted who are already performing at the next level. Makes the manager look good! You're on the same team. 3. Be realistic about what it takes to be promoted above the senior levels. These are usually far more difficult.
4. Set goals to "close the gap" that you have compared to the next level. Act like you would like if you had the title. Keep a work log. 5. Find a mentor within the company. Ask for regular feedback.
A list of tech companies and their experimentation platforms. If you're an engineer and use (or want to use) experimentation / AB tests/feature flags, this is worth a read. A thread.
2. Doordash. Reading most of this was "deja vu: this is *so* similar to what we are doing at Uber!" It's a good writeup : doordash.engineering/2020/09/09/exp…
Considering how fast Doordash went from <10% market share to market leader in the US, they definitely know how to experiment well.
One of the challenges at Uber was building monitoring and alerting that worked reliably.
The problem was how Uber was (is) city-based and global alerting would not catch regional (city/country-level issues).
Two stories on why this is difficult:
1. A PayPal employee on a Japan business trip alerted us in 2016 that PayPal is not working there. He was right: it wasn’t working for 2+ months, across the country. How did we miss it?
There were 20 PayPal trip attempts/day only, and Japan was one of 60+ countries.
In the global scale, this accounted for a tiny fraction.
So we did what makes sense: added country-level alerting.
First, this became a data cardinality problem. 1,000 cities x 15 payment methods... not trivial to track all. We settled on countries & top cities.