An often overlooked but important skill for software developers is the ability to explain your coding/architectural decisions. Communicating “why” gets you a lot further with colleagues than communicating “what.”
— Nicholas C. Zakas (@slicknet) January 15, 2019