DEV Community

Cover image for Technical Skills Are Great, but Communication and Curiosity Are Better
Kyle Galbraith
Kyle Galbraith

Posted on • Updated on • Originally published at blog.kylegalbraith.com

Technical Skills Are Great, but Communication and Curiosity Are Better

Emily Freeman posted this thread on Twitter not long ago.

The topic of hiring and interviewing developers is one that has been on the main stage for quite a while now. Hiring and the interviewing process is key to building diverse high functioning teams. But it's a topic that also has some very bad publicity.

Some times the interview process is full of bizarre technical challenges that lack any footing in real life. Other times the interview process is to lax and doesn't focus on getting to know the individual or how they work. In my opinion, both of these options can be bad.

In the former, you are ruling out candidates based on hypothetical situations. The situations don't actually evaluate what it would be like to work with them. Throwing bizarre technical challenges at folks is likely going to fail. This is because it's not evaluating people based on what the team needs and how they fit into that team.

The latter isn't much better. Software development takes a knack for wanting to learn and dig to the bottom of issues. It also requires being able to communicate and articulate what you are working on. So assessing someones ability to learn and communicate is as important as gauging their technical skills.

This is why this tweet from Emily Freeman jumped out to me.

The three traits she hires for are traits we should all be evaluating throughout the entire interview process.

Technical skills are great, and you need them in software development. But, communication and curiosity are powerhouse skills that can add exponential skill to a team.

But, why is that?

Curiosity feeds technical skills

Learning to program is step one in your development career.

Technical skills are going to change over time. The tech landscape can change in a matter of weeks and thus the skills that folks have today could be outdated next month.

To be successful and evolve in your career you need to be able to adapt to these changes. Stay curious about what is changing and why. That curiosity enables you to jumpstart your own learning.

Curiosity isn't about only being curious or interested in the new emerging technologies. It also means you are curious to understand the why behind a feature, bug or support issue you encounter.

In my time as a software engineer, the best folks I have worked with have an incredible balance between being pragmatic and curious. They walk the line between over engineering and just enough to scale to make great products. They also have a natural curiosity to understand concepts, problems, and features at a deeper level.

It's not surprising that these engineers have also a large breadth of technical skills. Curiosity to understand and try different approaches fuels the advancement of technical skills.

Hire folks that are curious enough to dig deeper. These folks are more than capable to learn whatever technical skills you need in your team. They will also have a curiosity to understand why things are the way they are and help propose different solutions.

Communication spreads knowledge

Working in a software development team is often 20-25% coding and 70-75% communicating.

Communication takes on many forms and too many different audiences. It might be face to face where you are pair programming on a tricky bug. Or it could be you are writing an email to your executive team. Either way, clear and concise communication is critical.

Being able to modulate communication to different audiences is critical as well. Sometimes team leads or product managers don't need the fine grain technical details. You have to be able to speak to things at the microscopic technical level and the big picture level.

Communication done well, increases the knowledge of the team. Maybe it's a quick README that has the necessary steps to configure your development environment. Or it could be a quick post in Slack about why emerging technology X is interesting.

It might sound like a rather simple skill, but communication is learned like any other technical skill. Thus, some folks are great at it and some are terrible. When it is there, teams can thrive and when it is missing they can be total dumpster fires.

Look for individuals that can communicate their ideas and thought processes. Confirm they can communicate complex ideas in easy to digest ways to folks at different levels of the problem.

Conclusion

When it comes to hiring in development teams we tend to get very caught up on the technical skills. But there is a swath of other skills that are even more important. Communication and curiosity are two of the skills that I value more than whether you know framework X or tool Y.

Why? Because those skills impact me and the team directly.

Someone who has the curiosity to digger deeper into issues and explores new ideas allows others to do the same on other problems or ideas. But that is only half of the equation. They must also be able to communicate their findings, ideas, and thoughts so others can consume them.

These two skills, highlight an individual that is accountable, responsible, and can deliver in a development team.

Are you hungry to learn even more about Amazon Web Services?

If you are looking to begin your AWS journey but feel lost on where to start, consider checking out my course. We focus on hosting, securing, and deploying static websites on AWS. Allowing us to learn over 6 different AWS services as we are using them. After you have mastered the basics there we can then dive into two bonus chapters to cover more advanced topics like Infrastructure as Code and Continuous Deployment.

Top comments (6)

Collapse
 
cheetah100 profile image
Peter Harrison

Been in the industry all my adult life. Technology is not strongly correlated with project success at all. You should of course use the right technology for the right job, but the best predictor of project success is team health and effective honest communication.

I did not understand this in my early career, but later was taught the importance of effective teamwork and honest communication. You can have two projects that are very similar, with similar technologies and similar skill sets, but wildly different outcomes caused by differences in teamwork.

When we talk about communication it isn't just speaking and listening, it is the wider culture of open discussions, respect for each other, treating everyone equally and valuing everyones views.

Too often prima-dona developers have so much invested in their reputation they actively undermine effective communication and teamwork. They do things like pull apart the work of other developers in code reviews and become possessive over their patch of code. A real professional is enthusiastic about mentoring less experienced developers, about leading by example, by being open when they make mistakes.

There is so much more to communication than simply communicating.

Collapse
 
maxwell_dev profile image
Max Antonucci

In our own hiring process recently, our company also looked a lot at how curiosity and communication work with the applicant. This consists of:

  • Ask what recent development articles they've read and what they learned
  • Ask about recent side-projects they did to see if they're exploring new ideas and tech
  • Pair programming on a coding task, focusing less on the solution reached and more on how they work with others to get there
  • Having them talk 1-1 with most of the team to ensure there's no deal-breaking friction

They all boil down to making sure the applicant is curious and communicates well. This structure hasn't let us down so far!

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Awesome post totally agree with this article.

I would always focus on the soft skills aspect of the developer.

If the developer is not able to communicate well it or generally being human it might be red flag for me.

Collapse
 
tscharke profile image
Thomas Scharke

I agree with your article, @kylegalbraith 🙏 Partly because the technology (frameworks, libraries, etc.) changing faster as we can look 🚤 And I'm super happy that you say…

Curiosity isn't about only being curious or interested in the new emerging technologies. It also means you are curious to understand the why

Sometimes I thought I’m alone (in the tech-world) with my curiosity to understand the why. Thanks that you see this also 🙇‍♂️

Communication is also a good point. The feedback what I get tells me, that I'm good in it in my native language. And I've to grow in this in the English language.

Collapse
 
olivermensahdev profile image
Oliver Mensah

Awesome write up. I appreciate you shared this with us.

Collapse
 
rifaimartin profile image
Rifai Martin

My CEO is always reminded of the importance of communication