Week 3: FAANG Engineer vs Startup Engineer
Interesting links
https://freakingrectangle.com/2022/04/15/how-to-freaking-hire-great-developers/
An argument for using code reading as opposed to writing code during interviews. I agree. Anyone can write code. Great engineers can understand code and see the patterns to improve code readability and ease maintenance.
https://quuxplusone.github.io/blog/2022/01/06/memcached-interview/
A very interesting technical interview proposal: ask the candidate to expand the Memcached interface by adding an mult
operation akin to the existing incr
operation.
FAANG vs. Startup Engineer
When small companies hire, they usually look for examples from already successful companies: what qualities to look for in an engineer, what interview questions to ask, etc. Occasionally, you see a start-up asking whiteboard interview questions à la Google, only to find it hard to hire or a mismatch in expectations. I want to quickly list what kind of abilities each type of engineer should have and why you want to tailor your interviews accordingly:
FAANG Engineer
Navigate company politics. Making decisions at FAANG-style companies is hard. You need to learn to influence people, understand their motivations, and get them onboard with less popular choices.
Resilience to change and constant reorganizations. No big company escapes the endless cycle of reorgs, as far as I can tell. You want to hire engineers who understand that this is part of the business flow and, ideally, not sweating every time they hear the r-word.
Migrate systems at scale while keeping them alive. At FAANG, it's a lot harder to create new products. Most engineers are moving systems from legacy to new ones. In fact, Gergely from Pragmatic Engineering wrote a very detailed guide on how to do migrations https://blog.pragmaticengineer.com/migrations-done-well-executing-them/
Amplify their impact by removing friction from other engineers. The most effective engineers at FAANG tend to be those that automate flows around them; they figure out what problems affect engineers across the organization and fix them. For example, if an engineer reduces the time it takes to run tests by two minutes, they save hours of development time among hundreds of engineers.
Start-up Engineer
One could argue that these qualities also apply to FAANG engineers, and that's true. Still, the impact is different: While an engineer's lack of business awareness might not significantly harm a FAANG company, it can kill a start-up.
Deep business understanding. An engineer might be able to see how the current product iteration has value but that pursuing a particular technical aspect might lead to the actual market fit the start-up looks for. Building the right thing can have a disproportionate impact on the company.
Product-oriented mindset. A bug-free, easy-to-use product that provides a great user experience might be why users choose your product vs. the competition. Start-ups should find engineers that care about this.
User awareness: Being aware of users means, for example, engineers who care to build support-friendly tools so that it's easier to troubleshoot users' problems, ultimately giving users a pleasant support experience.
Market fit above perfect code: Yes, maintainable code matters, but at a start-up, the market fit is imperative. If you hire a developer who can't live around imperfect code, getting your product into the user's hands will be an uphill battle.
I will talk about Scale-up Engineers in an upcoming edition; it deserves a post on its own. Thanks for reading!