Are You an Effective Engineer?
How come Twitter has 7500 employees, whereas FTX – the crypto exchange company – grew to $18B with just 6 engineers?
If you ask their CEO, Sam Bankman-Fried, this is not an accident.
In fact, many of their 10- and 100x-ers were rejected by bigger employers like Twitter.
Sam claims these engineers learned to be effective on the job.
Having interviewed hundreds of high-performing engineers and leaders at big tech companies, Edmond Lau tells us how this is possible in his book The Effective Engineer.
Effective engineers do not work more hours.
They simply follow a few simple rules:
1/ Prioritize High-Leverage Work
Effective engineers recognize time as their most precious asset.
They use leverage (value per unit time), as their primary metric.
To increase your leverage, ask yourself before any activity:
- What if this was simple? (decrease time cost)
- What if this was huge? (increase value)
- What else could I be doing? (opportunity cost)
High-leverage work is writing an automation tool in 1 hour that will save you 10 minutes a day. That would save you a full work week every year. (This is why effective engineers also obsess over seemingly silly things like touch typing and keybindings.)
Low-leverage work is debugging. A junior dev may spend hours or days searching for a bug, neither progressing nor learning. Luckily, fruitless debugging can be prevented with a healthy dose of TDD: It enforces cleaner API design and atomic development.
2/ Give Accurate Time-Estimates
Netscape's browser was delayed by 2 years and its market share plummeted from 80% to 20% as a consequence.
Missing deadlines is deadly. Here's how to avoid it:
- Decompose your project into granular tasks that are easier to estimate.
- Use the most likely estimate, not the best-case (be wary of anchoring bias from pushy manager).
- Compare your estimate against historical completion times for similar tasks.
3/ Grow Your Team
Your career success depends largely on your company and team’s success, and the success of your company or team depends on more than just your individual contributions. You’ll accomplish much more if those around you are aligned with you rather than against you, and you can do that by investing in their success.
— Edmond Lau
It might seem like keeping knowledge to yourself increases your value.
Not so, growing your team will benefit your career. But it will also free up your workday. And you won't get paged while hiking.
Examples of growing your team include:
- Code labs.
- Shared code ownership.
- Onboarding a team member.
Follow these rules and you'll become a force multiplier.
Your leverage is ultimately capped by your environment.
You might be at a company that is either immature or fake:
- Like a startup whose sole purpose is impressing investors and vision is measured in weeks.
- Or a big corp whose office politics conflates high-visibility work with high value.
If so, consider jumping.