Ask HN: What non-programming skills have been crucial in your tech career?

  • * Writing. At large companies those who communicate the best do the best.

    * Soft skills. You can call it empathy, leadership, mind reading, or whatever. It all comes down to building trust. Environments that fail to establish trust are bad news, get out fast.

    * Organization. Organizational skills are what separate those who write a few lines of code from those who build magnificent applications.

  • A strong tolerance for bullshit and working alongside egos. Usually the egos get booted as you’re likely not the only one suffering and management do pick up on these things.

    Humility, mistake ownership, respect and giving credit where due just makes work life so much more pleasant. People like to work with other nice people, even if they’re not the strongest in a technical sense.

  • Articulation. Credibility. And projecting an air of confidence regardless of subject matter expertize.

  • In technical support, the ability to route around the differences in world view between yourself and the user is quite a valuable skill.

      Q: "Have you installed any software lately?"
      A: "no"
    
      Q: "Do you have any new programs?"
      A: "oh yeah, my nephew put this new game in"
    
    Figuring this out takes a while to do, but you eventually get very good at it. (Installing is something you do with hardware, in their minds... like installing a dishwasher, air conditioner, etc.)

    Also: The ability to remember that the computer/program/system is just a tool, to help the user get their job done.

  • Being comfortable saying 'I don't know' and admitting when I'm wrong.

  • Being humble and distributing credit. People like working with a teammate who recognizes their contributions (and shields them from mistakes) and managers like contributors who raise the morale and productivity of a team.

  • Public speaking. Whether it's as a presenter at a conference or user group or simply communicating with non-technical staff, the ability to communicate clearly and in understandable concepts without technical jargon is a surprisingly rare and valuable ability among programmers.