
Ask HN: Which non-technical skills are important for Software Engineers? - ck425
I was discussing non-technical skills (soft skills if you like) and how we recruit for them with a colleague yesterday. Interestingly we were both of the opinion that they are equally as important as technical skills but that learning them is harder and therefore we should hire more for them than specific technical skills.<p>I wanted to ask the community, which non-technical skills do you think are most important for Software Engineers and more importantly what specific steps can someone take to develop those skills?
======
programd
Learn to write. This is a widely applicable skill, not just for engineers of
course. You'll be writing all sorts of technical documentation, code comments,
bug reports, proposals, post-mortems, blog articles, architecture
descriptions, random emails, etc, etc. This should really be a skill you learn
in school, but I don't think it's stressed enough in engineering schools.

Fortunately it's not hard to get good at this. Mostly find some good examples
and copy their general format. You'll go far if you just commit to writing
good documentation for whatever project you're working on currently, then it
just gets easier with practice. But you have to commit and never skimp on the
docs - even if you don't enjoy it. It ain't done until the documentation is
done.

Oh, and learn to touch type.

And vi. You'll be able to use vi for the rest of your life on every computing
machine ever built :)

------
aqsis
Good communication, both ways. As an engineer, you'll be faced with situations
where you have to explain something highly technical to someone not so
technical, and more likely more often, understand what someone non-technical
is asking for. Being able to interpret non-technical requirements into
technical requirements is a really valuable skill.

