You are more than your technical skills
One failed interview after another, I felt ashamed. Would I ever become a software developer? What was the point of my computer science degree?
When interviewing for entry-level software engineering positions, my programming skills were mostly theoretical. These interviews graded me for my programming skills and nothing else, with most of them lacking a behavioral interview.
Coding was all that mattered.
With a few years of industry experience under my belt, my view changed. While programming language proficiency or debugging expertise is important, developers need to excel at more than just coding.
There are five key soft skills that truly make a software developer shine above the rest.
1. Effective communication
Do you explain concepts well to others?
Building software is a team sport. Software is built on a team composed of people with different experiences, beliefs, biases, and knowledge.
If you want to build a good product, you must work well together. After all, the system you design will mimic your organization’s communication structure — poor communication between team members will result in poorly-designed products, as explained by Conway’s Law.
The best software developers communicate complex technical concepts to non-technical folks or technical ones who are still learning. You will go far as a developer if you can communicate across roles and teach others.
Do you put yourself in users’ shoes?
As a software developer, I am driven by my product’s purpose. Sure, I love learning new technologies or geeking out about the latest dev tools, but what about why our work matters?
The best developers care about the purpose they’re building for, and they seek to understand the people they’re helping. There’s a common product management exercise called Empathy Mapping, which focuses on clearly outlining how a user thinks, feels, and interacts with the product. By understanding users’ behaviors and feelings, we are able to build a product they will truly use as intended.
Too often, products are built without first talking to users. Even as a developer on a team, understanding how your user thinks will yield questions and improvements to the overall product. Want more insight into users’ thoughts? Sit in on user research sessions, and see how your app is truly utilized.
Do you seek clever solutions?
One of the greatest superpowers of any software developer is their ability to google. When an impossible problem appears, the creative developer knows a solution likely already exists. And when it doesn’t, the developer isn’t afraid to brainstorm a new solution.
Problem-solving requires pizzazz. As a software developer, solutions aren’t handed over for them to mindlessly code. Instead, you must explore possibilities, weighing different technologies and your team’s skills. After gaining some experience to understand what technologies exist, the creativity of combining these solutions together becomes easier.
As a full-time software developer, you cannot fail — if a problem exists in your code, there is a solution, and you will find it. This will be the true test of your creativity.
Do your teammates trust you to get the job done?
My desk is filled with Post-its. I spend ten minutes every day reading through my to-do list. If someone asks me to do something, it gets written down.
On a team, people rely on you to get your work done, especially when you promise to complete a task. If you’re reliable, no one will need to check up on your progress, as you’ve proven you can take on responsibilities.
Leaders want software developers who don’t need any babysitting. They want direct reports who agree to do something and then follow through on their commitment. Believe it or not, many people aren’t reliable, so being a reliable developer will make you the go-to person for new tasks and opportunities.
Do you ask enough questions?
There are some people who never ask questions and others who do. I used to land in the former — questions, particularly in large groups, were anxiety-inducing. As I’ve progressed in my career, I’ve seen how beneficial asking questions can be, as they provide a chance for both you and the answerer to learn.
In fact, when I’m the one answering questions, I’m always grateful for the opportunity because I learn best through teaching.
In the tech industry, there is always more to learn. Curious developers are the ones who question the status quo, explore new technologies, and love to learn. Asking questions to challenge the way things have always been done is a great way to accelerate your team forward.
Questions are an opportunity to improve yourself, your team, and your product. Curious developers are the ones who drive the most change.
As a developer, you are more than your technical skills.
While soft skills are often harder to learn, they pay dividends.
- communicative to express your ideas.
- empathetic to understand your purpose.
- creative to solve any problem.
- reliable to get the job done.
- curious to dig for more.