Effective Engineer by Edmond Lau

The Effective Engineer is a guide to master the techniques used by top software engineers to maximize their impact and make a meaningful difference. The book was written by Edmond Lau, a software engineer that for the past ten years worked with and led some of the best engineers in Silicon Valley at places including Google, Ooyala, Quora, and Quip.

This book shares actionable techniques and proven habits so you spend less time grinding on tedious tasks and more on what you actually care about.

1. Adopt the Right Mindset

Focus on High-Leverage Activities

The core idea of the book is to increase leverage, which is defined as follows:

Given the above formula, there are three ways to increase leverage:

  • increase impact
  • decrease time invested
  • work on something else

Three questions are provided, designed to guide engineers to higher leverage activities:

  1. How can I complete this activity in a shorter amount of time?
  2. How can I increase the value produced by this activity?
  3. Is there something else I can work on that will produce more value?

Optimize for Learning

Learning is a high-leverage activity due to its exponential growth. As engineers build their base of knowledge, the combination of learned skills increases the areas to which an engineer can contribute. An engineer should regularly invest in active learning. The following tasks are suggested:

  • Study code for core abstractions at your company.
  • Write more code.
  • Take classes on broad topics related to software engineering.
  • Pick the harshest critic for code review.
  • Participate in design discussions, even if they are unrelated.
  • Pick diverse projects.
  • Select teams with a few senior engineers so you can learn from their experience.

Prioritize Regularly

To stay committed to high-leverage activities, regularly review how you rank activities. A simple ordered to-do list is ok, however, an Eisenhower matrix to compare an activity’s importance and urgency is recommended.

2. Execute, Execute, Execute

Invest in Iteration Speed

The book strongly advocates for continuous delivery, which is “the ability to get changes of all types into production safely and quickly”. Some of the benefits of continuous delivery are:

  • Allows small changes.
  • Eliminates overhead of release process.
  • Reduces context switching.
  • Allows for new development techniques.
  • Enables faster iteration.

Effective engineers invest in tools to increase efficiency. Tools can range from shell scripts up to full automation platforms for testing and deployment. In addition to engineering efficiencies, it’s important to check for non-engineering bottlenecks like meetings.

Measure What You Want to Improve

It’s very important to find a good metric because metrics drive progress.

The book suggests asking the following questions:

  • Is there some way to measure the progress of what I’m doing?
  • If this task doesn’t move a core metric, is it worth doing?

A good metric possesses the following qualities:

  • Maximizes impact.
  • Actionable.
  • Responsive.
  • Robust.

Validate Your Ideas Early and Often

Avoid investing time into products with an unknown chance of success. Work towards a minimum viable product (MVP) and validated with a prototype.

Improve Your Project Estimation Skills

Use accurate estimates to drive project planning with the following techniques:

  • Decompose tasks into granular subtasks.
  • Model how long a task will take as a probability distribution.
  • The person who does the work does the estimate.
  • Beware of anchoring bias.
  • Validate estimate against historical data.
  • Budget for unknowns.

When estimating projects, define specific goals and measurable milestones. Reduce risk early by tackling the riskiest areas first. Approach rewrites with extreme caution.

Conclusion

I personally think that “Effective Engineer” is worth reading. It’s nothing completely new, but provides some tips and techniques that are easy to understand and adopt. Additionally it shares a mindset and breaks down the exact steps you can take to maximize your impact as a software engineer.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store