In the real world, technology and software development are about empathy as much as they're about engineering chops.
Writing successful software, even if you're just writing an API or component for another coder, requires an understanding of your users' wants and needs.
The typical real world IT project goes something like this: something is going wrong, and you're asked to fix it with software. The people asking you for these solutions frequently have no idea what they want, and wouldn't have the technical vocabulary to describe it to you even if they knew. Worse, sometimes they think they know exactly what they want, and you need the finesse to tell them why their idea is wrong and suggest a better one ...all while helping them to feel as though they're playing an important role in the process, which they actually are, just not in the ways they're intending to.
And that's fine, actually, because if they know how to describe and write their own code they wouldn't need you. That's why you have a job.
There are certainly engineering jobs where empathy plays less of a direct role. If you're designing processors at Intel, or writing software to sift through telescope data to discover asteroids, you will perhaps be less concerned with others' needs.
Know, however, that those kinds of jobs represent a very small portion of the opportunities out there in this amazing field.
Also remember this: if you're just a "good coder" your job can be fairly easily outsourced. What they can't outsource so easily is your empathy and your understanding of intangibles.