The time you spend honing your development skills, such as seeing patterns in code, refactoring code to be easier to maintain or extend, and writing tests does little to prepare skills in resolving conflict, establishing a team culture, or communicating technology in ways that non-technical people can understand.

— Patrick Kua, Talking With Tech Leads