DEV Community

Cubicle Buddha
Cubicle Buddha

Posted on

What is the best quality a developer can have?

If you had to narrow it down to the most important aspect of a developers personality... what would that be?

What quality could an interview candidate have that would make you extra interested in hiring them?

Top comments (32)

Collapse
 
cubiclebuddha profile image
Cubicle Buddha • Edited

For me, the best quality is "humility" and a love of "not knowing."

As I mention in this article:

"it’s okay to not know the answer. You can’t learn unless you admit that you don’t know."

Collapse
 
ssimontis profile image
Scott Simontis

Another huge aspect of humility I personally struggle with is delegating. The world isn't going to end because I didn't write that module in some super fancy functional programming chained statement that lets me show off I know what a monad is.

I have been through a lot of abusive/dangerous/traumatic situations in life and it is hard for me to trust people, so sometimes I have to catch myself doubting my own teammates can get the job done and I have to recollect and possibly get out of the office for the rest of the day.

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

I have to catch myself doubting my own teammates can get the job done

That definitely hits home for me. I often find myself judging other people's code most harshly when I'm feeling my own feelings of inferiority. Ain't it funny how that works?

Sometimes I find that if I tell myself "you are a good developer who doesn't need to be ashamed of his skill level" I will suddenly feel less judgemental to others. If I can heal "the inner child" then I'm not as concerned with what other people are doing. And it also reminds me that they're on their own journey too. They might end up in my "fancy functional programming chained statement" world eventually (I do love FP btw), or they might not. But either way, they are probably dealing with their own inferiority. So thank you for reminding me of that. :)

Btw, you also gave a great solution too:

I have to recollect and possibly get out of the office for the rest of the day.

Sometimes a little bit of distance is all you need. :)

Great thoughts @ssimontis .

Collapse
 
nssimeonov profile image
Templar++

I'm open to argue about "humility", although we may understand different things here. One has to have some self-confidence and even a bit of arrogance - being too humble isn't good for you. Being over-confident is bad too - no argue about that of course.

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

Can't you be confident without being arrogant? I define humility as being confident while being willing to be wrong.

I also like this quote:

“True humility is not thinking less of yourself; it is thinking of yourself less.” ~ Rick Warren

And this one kind of touches on the empiricism aspects I was talking about in my article:

“Who is more humble? The scientist who looks at the universe with an open mind and accepts whatever the universe has to teach us, or somebody who says everything in this book must be considered the literal truth and never mind the fallibility of all the human beings involved?” ~ Carl Sagan

Collapse
 
nthmost profile image
circular firing squad captain

Curiosity and a willingness to accept the demonstrated expertise of others, especially those of a different background, personality type, skin color, gender, etc from you.

Collapse
 
wolfhoundjesse profile image
Jesse M. Holmes

Enthusiasm is so important. If I'm enthusiastic, I can suck at something new for a long time before I feel like giving up (and I won't). With the right team, it's contagious! Here's a comment from QA on our recent retrospective:

"[The team] saw all defects in Positive way and that was great and appreciable."

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

I wanna hire that QA engineer!

Collapse
 
wolfhoundjesse profile image
Jesse M. Holmes

You can't have her, she's with us! hehehe

Collapse
 
brunocw profile image
Bruno Costenaro

That's right, but I'm not convinced you can just "muster" Enthusiasm.
There's boring projects I dread doing and fun ones I would spend 20 hours a day coding.

Collapse
 
yulivee profile image
Sandra Schuhmacher

The ability to communicate effectivly with your team mates. I experienced it makes a huge difference on team productivity if one can effectively share ideas, progress in a project or feedback in code review.

Would rather hire someone with great communication skills and less good at coding than a senior who is unable to work with others.

I had people ghosting the team after a disagreement, a bad mentor who only ever gave negative feedback and was got personal in discusions, people not contributing to projects because they did not know what they should do and manager starting to micromanaging and extending the daily stand up to 1h because team communication wasn't working.

That burns some much time for nothing and makes working together a pain...

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

I wrote a bunch of stuff related to this question in an article called 50 Things I Wish I'd Known at My First Developer Job, but boiling down to one is hard.

Personally, I'd have trouble picking between curiosity, communication skills, and humility.

Collapse
 
sapien profile image
Prateek Thapa

Empathy, Curiosity, Persistence, and Humility

Collapse
 
chasemiller profile image
Chase Miller • Edited

I like that you called out empathy. Frances Frei's TED Talk on trust has stuck with me for a long time. She advocates that trust has three components: authenticity, logic and - as you called out - empathy.

When I hire, I look for someone that will fit well with the team in question, and someone who is untrustworthy will never be a good fit.

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

You can only pick one! Just kidding, these are all great answers. :)

Collapse
 
nssimeonov profile image
Templar++

Empathy? Still speaking for software developers? Since when dealing with other people helps us create programs for computers? If you have a good specs may not even need to talk or chat to anyone

Collapse
 
sapien profile image
Prateek Thapa

Great software are made by great teams. :)

Thread Thread
 
nssimeonov profile image
Templar++

A balance is required, but empaty isn't the first thing that comes to mind, when talking about software development, engineering or construction.

Thread Thread
 
sapien profile image
Prateek Thapa

Okay :)

Thread Thread
 
cubiclebuddha profile image
Cubicle Buddha

If you have a good specs may not even need to talk or chat to anyone

Judging from your use of the word “specs,” it seems to me that your experience with software development has mostly been with waterfall processes (or some variant where specs are created up front and the developer has little to say about the requirements for the feature). Or perhaps you worked with people who use the word “Agile” but don’t embody Agile’s iterative learning approach.

But for some developers, the ideal situation is where you accept the fact that we can’t know what the user wants— and when you can’t know, you don’t write specs. So you follow an iterative (I.e. Agile) process so you can develop -> learn -> develop -> learn.

And learning about your users involves being able to empathize with your uses needs so you can properly listen to what they really want you to build. And sometimes they don’t know until they’ve tried your software. That’s why in my opinion specs don’t work.

Collapse
 
brunocw profile image
Bruno Costenaro

Discipline to endure the boring parts of the job

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

Great point. What techniques have helped you deal with the boring parts of the job?

Collapse
 
brunocw profile image
Bruno Costenaro • Edited

I'm terrible at focusing, but i found out putting soundscapes on my headphones helps me get less distracted.
mynoise.net/ has great selections.
I'm a huge fan of the Japanese Garden one.

Collapse
 
nssimeonov profile image
Templar++

Ability to improvise, because you will have to figure out complex issues without help from anyone, understand and fix undocumented (or even worse - poorly documented) code, APIs and databases.

And because one day you will reach a level, where none of your questions will be already answered on stackoverflow.

Collapse
 
realabbas profile image
Ali Abbas
  • Curiousity to Learn
  • Knows How to Google
  • Knows How to Integrate Code from Stack Overflow
  • Read about latest Technologies
  • Knows how to solve a particular problem
  • Knows Project Management Tools
  • Knows Project Development Pipeline

Quite possible that he may not the answer at that instant but surely figures out a way to solve it

Collapse
 
aminmansuri profile image
hidden_dude

To be able to deliver consistently on estimates?

(I know, sounds boring compared to what others say.. but..)

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

Is that a skill that you think developers can actually develop?

Collapse
 
aminmansuri profile image
hidden_dude • Edited

I'm the wrong guy to ask..

But I suppose they could.. I'm not sure how though.
I know a few people that can do this.

They say.. It will take me 2 weeks to finish that. And they always meet or beat their own estimate.

There are techniques for this of course. One is to break down the features to tiny tasks in your head and then be able to be sincere with your own abilities (that's the hard part for me).

Collapse
 
sym profile image
Ryan Carter

The ability to communicate well with people. They "over-communicate" even. Why? Software is as much about people and it is about code.

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

Haha, yea it’s interesting how they leave that out in college when they’re describing software development. It’s one of the reasons my next couple of articles focus on giving and accepting feedback to coworkers (since that’s an area where communication is extremely important).

Collapse
 
djangotricks profile image
Aidas Bendoraitis • Edited

I would go for diligence. Curiosity is also an important quality.

Collapse
 
bradwellsb profile image
Bradley Wells

The ability to learn. This could be the capacity to teach oneself, or it could be the willingness to learn from others.