Skip to content
KYND Dev

The Effective Engineer - Edmond Lau (currently-reading)

Books4 min read

The Effective Engineer: How to Leverage Your Efforts in Software Engineering to Make a Disproportionate and Meaningful Impact

Authors: An ex-googler, who help to create the Google Maps service. Then, he left Google and create FriendFeed.

The book covers one useful framework, called leverage, for analyzing the effectiveness of different activities. leverage activity Engineering is much more about leverage than just programming ability. Effectiveness is correlated with hours of effort “nine-to-five” culture.

Don’t work hard —> Work smart

Introduction:

The book start with some questions from author when he was working on his startup:

  1. Is putting 70 to 80 hour weeks really the most effective way of ensuring one startup’s success?
  2. Could we work smarter and reduce some of effort and achieved the same impact or possibly more?

In fact, working for more hours isn’t the most effective way to increate output but they can leads to decreases productivity. To be effective engineers, we need to able to identify which activities produce more impact with smaller time investments. Not all work is created equal, well-intentioned translate into impact.

What makes an Effective Engineer?

It’s not measured by how many hours, amount of effort, or number of tasks… At the end of the day, hard working engineer release a feature which they’ve putting so many hours but no one use, it’s not effective

Work less and accomplish more The effective engineer, they are the people who let things done, ship product that users love, launch feature that customers pay for, build tools that boost team productivity, and deploy systems that help companies scale … IN A REASONABLE OF TIME

Effective engineers focus on value and impact, they know how to choose which results to deliver.

The book is organized into three parts. Part 1: mindsets that allow us to reason more rigorously about and increase our effectiveness.

  1. Leverage
  2. Optimizing for learning
  3. Regular prioritization
  4. Iterating quickly
  5. Validating ideas
  6. Measurement
  7. Estimation skills
  8. Balance between quality and pragmatism
  9. Minimize burden
  10. Invest in team’s growth

Part 1: Adopt the Right Mindsets

Focus on High-Leverage Activities

Tech talks and code labs is good way to give ours hires an overview of codebase and the engineering focus areas, and taught them how to use our development and debugging tools.

“Leverage is defined by a simple equation. It’s the value, or impact, produced per time invested:”

Leverage is the return on investment for the effort that’s put in.

Effective Engineers are the ones who get things done effectively -and who focus their limited time on the tasks that produce the most value.

The time is the most limited resource => Leverage is critical

No matter who you are, at some point in your career, you’ll realize that there’s more work to be done than time available => Prioritizing

“Pareto principle, or 80–20 rule”

FOCUS ON HIGH-ROI activity.

1% time investment can have an outsized influence on the productivity and effectiveness of the other 99% of work hours Ex: Pointing out a useful UNIX command could save minutes or hours on basic tasks.

Increase Leverage in 3 ways:

  1. Reduce the time to compare a certain activity
  2. Increase the output of a certain activity
  3. Shifting to higher-leverage activities

Ex: We can increase the meeting’s leverage by:

  • Reduce the meeting time to half-hour meeting instead of a one-hour meeting to get the same amount done in less time
  • Preparing agenda, meeting goal beforehand so that the meeting is focused and more productive
  • If in-person meeting isn’t necessary, replace the meeting with a email discussion and spending time on more important things

By doing above methods, we shorten the time required for an activity, increase its impact or shift to a higher-leverage activity. We become a more effective engineer

Just constantly keep one lesson in mind: Focus on high-leverage activities

Key takeaways:

  • User leverage to measure your engineer effectiveness: Focus on high return on investment (ROI)
  • Systematically increase the leverage of your time (reduce time, increase impact, shift to high-leverage works)
  • Focus on leverage points: time is limited asset => eliminate bad habits, focus high leverage

Optimize for Learning: Adopt growing mindset, invest in your rate of learning

When Edmond Lau in Google first time: Exciting new things to learn are everywhere / soak in all the knowledge / codelabs / tech talks

He left Google after 2 years when he realized that Google was no longer the optimal place for him to learn, his learning curve had plateaued. He consumed most of training material, deigns, documents => It’s time for next adventure.

Google: Good for learn large-scale machine learning, self-driving cars, wearable computers… Other startups: Amazingly talented people, grow great engineering teams, company culture…

Adopt a Growth Mindset

Edmond Lau used to be an introvert person, he turned down coffee meeting with people he didn’t know, stay away from big parties… but then he realize that avoiding social events wasn’t a good idea to meeting new people => He says yes to the social event, showed up to parties and meetups. Practiced to telling better stories

How we view our own intelligence, character, and abilities profoundly effects how we lead our lives

If you believe your level of intelligence to be set and unchangeable, why waste time and effort trying and failing to learn?

Invest in Your Rate of Learning

Learning likes interest and compounds:

  1. It’s follow an exponential growth curve. Knowledge gives you a foundation, enabling you to gain more knowledge even faster.
  2. The earlier that you optimize for learning, the more time your learning has to compound. For example, a good first job, make it easier to get a better second job, which then affects future career opportunities.
  3. Due to compounding, even small deltas in your own learning rate make a big difference over the long run.

Treat yourself like a startup. Startup initially prioritize learning over profitability to increase their chances of success. They launch beta versions of their product and then iterate and adapt as they learn what customers actually want. => Thinking your self as a startup or product in beta, work-in-progress that needs to be invested and iterated on every single day.

Think about just improve your self just 1% per day and build upon that every single day.

Seek Work Environments Conductive to Learning

We spend too much of our time at work, the best way to leverage our learning rate is our choice of work environment.

  1. Fast growth: growth make it easier to attract strong talent and build a strong team, which feeds back to generate even more growth
  2. Training: onboarding program, mentorship program is very good for increase your learning rate
  3. Openness: Look for a culture of curiosity, where everyone is encourage to ask question
  4. Pace: At startups, the aggressive risk-taking and oftentimes longer hours can contribute to an increased learning rate
  5. People: Surrounding yourself with people who are smarter, more talented and more creative than you means surrounding yourself with potential teachers and mentors.
  6. Autonomy: The freedom to choose what to work on and how to do it drives our ability to learn. It’s good to have autonomy to choose what projects to work on or switch teams often.