This document provides an overview of non-technical skills that are important for developers to have. It discusses 11 key skills: 1) personal productivity, 2) responsibility, 3) juggling multiple tasks, 4) understanding business context, 5) forging compromises between business and technology, 6) managing relations with other people, 7) efficient communication and positive politics, 8) managing technical teams, 9) managing ambiguity, and 10) expanding client relationships. For each skill, it provides brief explanations and recommendations on how to develop that skill. It also discusses two trends in work structures: moving from vertical to horizontal structures, and from office jobs to more remote work.