Lessons from Software Engineering at Google: Part 3 - Communication Skills