Software engineers in many tech companies have two growth tracks - Engineering Management and Individual Contribution. At a very high level, managers take care of their team members' career growth, matching tasks to skill-sets, performance reviews, and planning among a long list of people-related activities (some companies have more hands-on engineering managers, but that is besides the point of this blog). Individual contributors, depending on the level they're functioning at, take on various technical tasks like architecture & design, coding, code reviews, dev-ops tasks and on-call support. It is a common belief that Individual Contributors' jobs only need technical skills, and you only need people skills if you're a manager. This belief is sadly reinforced by representations of software engineers as anti-social nerds in popular media (think Silicon Valley, The IT Crowd). They don't have many friends and don't know how to interact with other people in various social situations. After all, programmers only need to interact with computers, right?
Software engineering is a team sport and too often many of us miss the value of learning to Influence without authority.