How to do a code review
Here's the part that resonated with me most:<p><pre><code>  A particular type of complexity is over-engineering, where developers have made the code more generic than 
  it needs to be, or added functionality that isn’t presently needed by the system. Reviewers should be 
  especially vigilant about over-engineering. Encourage developers to solve the problem they know needs to be 
  solved now, not the problem that the developer speculates might need to be solved in the future. The future 
  problem should be solved once it arrives and you can see its actual shape and requirements in the physical 
  universe.
</code></pre>
Note how Google does NOT say "make sure the code is properly architected". Instead they say "make sure the code is not over-engineered"! At top companies like Google, projects rarely fail because there isn't enough architecture. Instead projects end up costing 10x to 30x because of unnecessary complexity. Over-engineering is a trap that very good developers fall into all too often. I am glad to see Google has cautioned against this, because I can now point my fellow developers to this when they are about to fall into the same trap!