People skills.
Empathy is hugely underrated and profoundly important. Whoever said "software is meant for other people to read, and only incidentally to be executed by machines" was on to something. All meaningful projects require cooperation and collaboration with other people. Most of the time, a solid coder with exceptional EQ will have more impact and effectiveness than an exceptional coder with indifferent (let alone subpar) people skills.
In small companies, a software engineer is a social job, it requires to talks with lot of people, specially with the customer (may be not all customers) but also, with others colleagues, with the people of infrastructure, sometime even with the people of finances (such as asking for a new server), with marketing or sales (if any), with design and so on.
In a big business, a software engineer is only a cogs that follows specific orders. I remember a blog of a former engineer of Microsoft that talked about it, he said that, in the past, Microsoft was direct, and having a technical meeting with Bill Gates was something usual. However, the company grow and those perks are long gone, now MS has a lot of bureaucracy and level and sub levels of complexity (so many executives and managers).