DEV Community

Cover image for Three unusual qualities we look for to hire amazing developers
Douglas Parsons
Douglas Parsons

Posted on • Originally published at dgls.dev on

Three unusual qualities we look for to hire amazing developers

Here at Shamaazi, we’ve recently gone through a round of hiring… and wow, hiring is hard!

It’s challenging finding engineers who have the right qualities, attitude and personality to join a team. We’re a tiny company, with just 2 engineers, so any new teammates have a massive impact on our products and culture.

We’re super careful about who we hire because of this.

We don’t expect or search for rockstar developers who can recite algorithms and live and breath software. We don’t expect the world’s most qualified experts in the technology we use. We don’t expect people to spend every moment of their spare time programming.

The qualities we do look for are probably considered unusual compared to most software engineering outfits. Let's take a look at the three we use to ensure a good fit for working at Shamaazi.

Eagle-eyed attention to detail 🔍 #

We give our potential candidates a short engineering assignment as part of our hiring process. We explicitly request that they don't spend more than an hour on it, but it still gives us a vast amount of information that just simply isn't evident from their CV.

Reviewing these assignments has been eye-opening. Most solutions lack attention to detail in at least one area. We begin by asking relatively simple questions of the submissions:

  • Correctness – does the solution work for all inputs?
  • Validation – are the inputs validated, what happens if we try to break the system?
  • Testing – How do we know their solution is correct? Is there any proof that it reliably works?
  • Quality – How easy is their solution to understand, maintain or extend?

Most technical tests we’ve seen fail on at least two or three of these, if not all four. Quite simply, they lack attention to detail in both their quality and behaviour.

This lack of attention to detail also applies to CVs. We’ve seen poor grammar, typos and even sentences that don’t make sense! Quite frankly, if they can’t complete a short assignment with rigour, or can’t write a CV without errors, can we really trust them with a product that could shape the future of our company?

The ability to express clearly 🗣️ #

Writing good code, a good CV, or writing prose all have a lot in common. They are all forms of communication.

Writing good code is about communicating a set of requirements both to the computer, and to a future maintainer, CVs communicate your skills and knowledge to a potential employer, and prose is a form of communicating ideas by writing them down.

As a result, the ability to express yourself clearly is super important. Engineering teams don’t work in isolation, and working remotely causes a whole new set of challenges for communication. In order to stay well-aligned, agile, and have the ability to discuss complicated topics, we communicate constantly as a team. This is a fundamental aspect of a team being high-performing.

So, when reviewing engineers, we have to consider a few key questions: Does their code communicate its purpose clearly? Is it well structured? Well written? Does it clearly separate concerns? Does it have sensible naming? Does their CV communicate their strengths and experience eloquently and concisely? When prompted in an interview, can a candidate clearly express their thought-process? Can they articulate complicated ideas?

If the answer to all of these is ‘yes’, then we know we have a candidate who is going to be a delight to work with.

A positive outlook 😄 #

This one sounds strange, but I was first introduced to the idea by Patrick Collison, the Founder and CEO of Stripe. In his excellent talk ‘How to Scale’, Patrick discusses in great depth the difficulties in building the culture he wanted.

At an ideal company, we would go to work and everyone would be happy. People would love their jobs and be enthusiastic and supportive. The question then becomes: ‘how do we create a company where this is the culture? Where the atmosphere is happy’. This is an incredible challenge, one that has no easy solution.

As a side note, if anyone knows how to build a company that can turn unhappy people into happy ones, please let me know (I’d like to send my parents there)!

Thankfully, Patrick Collison also shared his ‘cheat’ to achieve this. Simply hire people who are happy, positive people already. This is the culture we want to build, so we’re taking the same shortcut he did at Stripe. By hiring happy people, we can ensure we maintain a happy culture.

Closing Thoughts #

As a tiny company, we have to be incredibly careful about the people we hire. They can have a massive impact on our products, for better or for worse, and contribute heavily towards our culture. Because of this, we deliberately look for these three qualities as signs of excellence in people.

If we can find people to hire who show three key qualities: a happy outlook, the ability to express themselves clearly, and a keen eye for details, then we know they will be a brilliant hire.


Would you like to hear more about our hiring process? Do you want to know more about the problems people have in our technical assessment, or the common errors on CVs? Get in touch and let me know.


Enjoyed this post? Want to share your thoughts on the matter? Found this article helpful? Disagree with me? Let me know by messaging me on Twitter.

Top comments (20)

Collapse
 
jennrmillerdev profile image
Jen Miller • Edited

By hiring happy people, we can ensure we maintain a happy culture.

I do get what you are trying to say here. I think though, you want to hire people that can enable a 'happy culture', but not necessary those that are happy. I've seen people who are not outwardly 'happy', but are very good leaders and motivate their teams well.

Hiring based on ultra subjective things like how happy are they are in their current state feels like many candidates will be left out. After all, many candidates are very unhappy they have to look for a job at all. Happiness doesn't equate to professionalism and ability.

By adding a happiness factor to your interview, it forces your candidates to create a fake happy or bubbly persona simply to pass yet another gatekeeper. Sure, you might be able to detect this, but it's unpleasant to both sides....

I've been on teams where people were initially happy and excited but the project just sucked and morale tanked. So happiness at the time of hiring doesn't mean much., but I do agree, a 'happy' culture is almost always more enjoyable to work in.

Anyways, my 2 cents.

Collapse
 
dglsparsons profile image
Douglas Parsons • Edited

Hey, thanks for the response.

You're absolutely right hiring people who contribute to a happy culture, rather than people who are simply 'happy'.

The idea isnt to force people to be something they aren't, especially in interviews. I personally feel like interviews are more to get to know someone as a human, rather than a CV, and they also are an opportunity for a candidate to learn about the company. They aren't a place to grill candidates on imaginary scenarios and make them sweat, or to force them to be someone they arent.

The point I'm ultimately trying to make though, is that the impact individuals have on a collective culture is something that needs considering as part of hiring.

I hope that all makes sense.

Thanks for the interesting discussion 😊

Collapse
 
entomy profile image
Patrick Kelly

I get what you're trying to say, and I think it's great. I think the only reason why I see a contradiction here at all is I have a psych and medical background and program as a hobby.

Eagle eyed attention to detail is something you're going to get out of autism or people with a higher degree of autistic traits, which invariably contradicts clear expression in many areas. I can say even from personal experience, explanations of things tends to be either way too succinct, or also soap-box style or improvisational deep dives into subjects.

The other way you can get sharp attention to detail, especially in the more logical processes expected in software development, is through a trait/symptom called alexithymia, which given how common it is with PTSD, ADHD, anorexia, bulemia, autism, and traumatic brain injury, and how alexithymia works in general, highly positive thinking is contradicted. Furthermore, the very nature of alexithymia impedes clear expression of emotion.

Someone without either of these is going to think much more generally, and less detailed.

Finding these things in the same person is unlikely. I think you'll find better luck having a mixed staff with these traits that work well together.

Collapse
 
dglsparsons profile image
Douglas Parsons

Hey, Thanks for the response. You raise some super interesting points.

I think you tread a slightly tricky line though - while it's true that autism can lead to obsessive attention to detail, I don't think taking care in your work and paying attention to detail is necessarily a sign of autistic behaviour.

You're absolutely spot on saying that finding the combination of qualities is unlikely. I think that's a big part of what makes hiring so difficult though.

Collapse
 
entomy profile image
Patrick Kelly

I don't think taking care in your work and paying attention to detail is necessarily a sign of autistic behaviour.

Right, it's much more than just that.

Best of luck, however you go about it.

Collapse
 
char502 profile image
Charlotte

Hi, could you give me some insight to your technical assessment, that is an area where i'm struggling at the moment?

Collapse
 
dglsparsons profile image
Douglas Parsons

Hey, thanks for asking. Are there any particular problems you're having, or is it more about the approach?

Collapse
 
char502 profile image
Charlotte

The approach is certainly a big part of it, after nerves of course :-/

Thread Thread
 
dglsparsons profile image
Douglas Parsons

I totally understand that.

Approach wise - it's really hard. In part because every company and technical assessment is looking for something different. Some companies look for candidates who go above and beyond, others look for succinct solutions that solve a given problem as neatly and consicely as possible.

We definitely review assignments looking for the latter.

For me, the key thing has always just been to have a go, and see what they think. If they don't like it, you can always ask for explicit reasons why and use it as a learning opportunity for next time. I recently had a friend who did exactly this, they told him he hadn't gone above and beyond enough, so he went back expanding his solution and got the job.

Nerves wise - the worst that can happen is you get a free code review. I know it's hard, the first time I had to do one was terrifying, but sitting the other side of the fence there really isn't anything to be nervous of.

If youd find it helpful, I could send you our assignment? You can ask questions, and I could give feedback on what you manage to do with it.

Thread Thread
 
char502 profile image
Charlotte

Hi Douglas,
Thanks for taking the time to send such a detailed response i'll certainly take that all on board for the future.
Is your assignment for a web developer or a software engineer? I recently had a test for a software engineer (they definitely seem to be overlapping these days) and being self-taught web developer I barely had any clue where to start which was demoralising as I've been spending a lot of time recently trying to get better at algorithms. Despite my efforts I'm still finding things that completely baffle me.
That said I'm willing to take a look if that's ok, I'm stubborn enough not to back away from a challenge no matter how many time I get knocked down lol

Thread Thread
 
dglsparsons profile image
Douglas Parsons

Hey, Sorry for being slow to get back to you. Been a busy few days.

How are you defining the two? In my mind, a web developer is just a more nuanced type of Software Engineer, focussing on UI/UX and backends. There's certainly a big crossover though.

Algorithms are a funny one - 99% of the time you don't need them, yet people insist on assessing with them.

Thread Thread
 
char502 profile image
Charlotte • Edited

Hi,
No problem at all, completely understand with the run up to Christmas etc.
I'm at the interviewing stage with companies and my experience so far is that, when going for a web developer role you get some kind of assignment where you are asked to build a basic front-end or add some functionality to an existing front-end. When going for a software engineering role you get asked design patterns, more complicated algorithms and O notation etc (I had a couple leaning towards software engineering recently and I was thinking, what the heck, I haven't covered that yet do I need to??) so it can get a little confusing and demoralising looking at the mountain of things I don't know.
I would like to take a look at your assignment if that's ok, it's all practice and helps me to understand where my gaps are so I can be better prepared next time?

Collapse
 
ky1e_s profile image
Kyle Stephens

Nothing unusual about those qualities but definitely agree that they're super important to have!

Collapse
 
dglsparsons profile image
Douglas Parsons

Hey, we don't make it explicitly clear, no.

Collapse
 
annajmcdougall profile image
Anna J McDougall

It's OK Douglas, it's now explicitly clear to everyone who Googles the company in future! 😂

Thread Thread
 
dglsparsons profile image
Douglas Parsons

Good, it's not our intention to hide anything! And if people do their homework on the company, then it's only a good thing.

Collapse
 
princeluxgrey profile image
Prince Lux Grey

Great post, I have about 5 yrs from now until I start finding a job so knowing what recruiters look might pump up my chances to get in and work on them after the Highschool.

Collapse
 
dglsparsons profile image
Douglas Parsons

You're well ahead of the curve paying careful attention then. Keep it up!

Collapse
 
topphestmark profile image
Topp

Or hire a dog that always make sure that everyone is happy! Looks like the company you're currently working for understand the machines better than human. Also my 2 cent, you're welcome :)

Collapse
 
pandaquests profile image
Panda Quests

If you wanted to add a non-tangible attribute, I would add be a good person and remove happy instead.