Hacker News new | past | comments | ask | show | jobs | submit login

One quality of good developers not often brought up is empathy. It's absent from this article and all of the comments thus far.

Empathy is quite important in a vast array of creative endeavors. Development is not an exception in my opinion. It's the trait that allows developers to know what a person needs even if it isn't what they're asking for.

Being able to put yourself into the shoes of another busy person working in a domain you may have little familiarity with is difficult. Trying to solve technical problems for that person when they are not technical is harder. Efficiently using that person's time and getting to the root of what the actual problem is, not necessarily what they ask you to do, is harder still.

Getting to the point where you know how to ask the minimal amount of questions to understand the actual problem that needs solving takes practice and experience. It requires good listening and comprehension skills, and comes from caring enough in a person's problems to get to the root of the issue; an exercise in empathy.

By getting to the root of the problem you end up with better, more useful software and solutions, with less iterations. Even having the conversations to achieve these understandings requires knowing your tools well enough to gauge what's possible, an innate curiosity to care enough to dive into whatever it is that needs solving, and enough experience to know when to say "yes," "yes, but," "no," or "I don't know," to ideas. And to not only say it, but mean it, and know it to be true.

Additionally, developers who are good at actually solving problems for people must be creative enough to improve upon that situation without being told how.

All of these traits are excellent separately, but combined produce developers who solve problems and create value, not developers that just write code.

Empathy is a trait of some of the best developers I've ever met or worked with and a lack of empathy has been a strong indicator of mediocre, bad, or hard to work with developers.

Empathy is the just the newest word for certain people to feel that they're better than everyone else (who lacks empathy?).

After a while it gets tiring keeping up with it all, I sometimes think I should try and identify the newest word to add to the word bingo software developers seem to feel the need to employ to differentiate themselves from everyone else.

This is a remarkably dismissive comment. Empathy is not just a new buzz word, it matters a great deal. Some of the best advice i have ever received as a developer was to "think like the client". That is a difficult thing to do, and i do not view it as a reason i am better, i view it as something i am constantly subpar at.

But thinking like your customer is, by definition, empathetic. Intimately understanding a customers needs and reactions to your software will not help you to write academically superior code, but it will help you create better products.

You would think someone who was good at this newfangled "empathy" stuff would've managed to start off their comment in a more positive way.

It's all necessary for writing software, but when someone starts telling me one specific aspect of it is more important than the others, then yes, I absolutely dismiss them. It's code for "I can't write good code, but it's alright because I'm a people person and that makes me more important than the ones who CAN write code".

It's just more egotistical bullshit that's more about the person making the statement than anything else.

This is a great point, I think a good developer -- has respect for other's code and perspective, he/she doesn't think that the previous developer did a bad job writing the code in first place. Many times the the code/solution that is better at times may not be good enough in long run -- also a good developer is one who would write code/logic in such a way that the future developers would understand it easily. Sometimes having good comments in code could easily increase longevity of the program

Not only does it help with customers, but also with other developers. A few lone wolves only scales so far.

I've thought this for awhile, it's encouraging to see someone else draw the same conclusion.

Programming is a really difficult skill to acquire and it tends to attract a lot of people that have below average social skills.

except for you, right? You're the special snowflake drowning in the sea of below average social skills.

Actually no, I have really difficult time with social skills, and I know a lot of other programmer types that struggle in the same areas I do. Where did I imply that I'm better than anyone else?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact