Career Advice

5 Non-Technical Skills Every Software Engineer Should Have

Written by RippleMatch | Sep 6, 2019 10:33:00 PM

As a software engineer beginning your job search, you might be the most concerned with memorizing CS fundamentals, perfecting your whiteboarding technique, and organizing your GitHub portfolio. Going through multiple rounds of technical screens when interviewing for a new job can be pretty daunting, but it’s important to remember that people hire people, not resumes or code assessments. 

 

As a technical recruiter who has interviewed hundreds of candidates, I’ve collected some key skills that are essential to being a strong addition to a software engineering team. On top of your technical preparation, be sure to review how the following soft skills make their way into your interview pitch and as you begin your career as a software engineer.

 

Ability to Learn/Passion to learn

This skill is listed first because it’s important for any employee looking for a job – but even more so for those working in tech. Not many industries are constantly changing like the tech world is. Whether you’re looking at general best practices, or the languages and tools themselves, the tech sector is constantly updating. If you do not have a passion, or at least an interest in learning these new theories and staying up to date on the most cutting edge tech, then you can very easily find your skillset no longer relevant. 

Displaying this characteristic tends to be easier than most soft skills. On a resume, for example, it can be as simple as clearly stating your responsibilities as you move from role to role:

EX:

  • Position 1: Responsible for developing UI features for our content web site using React
  • Position 2: Responsible for creating API endpoints for our platform using Node/React
  • Position 3: Responsible for breaking down Monolith Application into microservices using Node and Golang

In an interview, it tends to be just as easy, but I recommend giving your interviewer info not already provided on your resume. Some great ideas for this are mentioning personal projects you’ve been working on, referencing an article about a new theory or tool you’re interested in, or even just asking the right questions about where the team is headed with a certain product.

 

Self-awareness

While a passion to develop and grow as an engineer is essential, it’s important to balance that with some strong self-awareness. This skill is useful to an engineer in a couple ways:

First and foremost, it is important to know what you can and cannot do. Do not tell an employer you are set to lead a team if you have trouble delegating and relaying feedback to team members. Do not say you’ve been reading up on Python and have done extensive personal projects with it if you’ve just dabbled a bit. If you tell an employer you can do something when you cannot, you’re going to have a bad time.

Secondly, it’s important to know when things are out of your control. Building solid software is a team effort, and if you exhaust yourself over getting upset at issues or changes that are coming down the chain of command, it will impact your work, and even more, your attitude. This can be very difficult after spending a month on a project that gets cancelled or put to the side, but it’s crucial to keep a level head and move forward. (If it continues to be a problem, speak up.)

This skill tends to be difficult to display, but you can easily showcase it by discussing a time you made a mistake and learned from it or a situation where you overcame an obstacle and learned more about yourself.

 

Ability to take Criticism

Being self-aware is critical, but it will not take you very far if you are unable to take criticism well. For a less experienced engineer who just spent weeks putting together the best feature/app they’ve built, it can be devastating to have a senior engineer come in and point out several mistakes then fix them in a short time. The ability to take criticism here will not only help you learn new skills from a more experienced team member, but it will also maintain a healthy relationship with a work superior. 

This skill as a whole involves being a good listener, but having appropriate responses to criticism is the differentiator. Here’s an example:

  • Taking Criticism Poorly: “I did that because when I learned how to build out that feature I was told to do it this way.”
  • Taking Criticism Well: “That’s a good solution. Are there any other areas I should implement that method/approach?

Similar to self-awareness, this skill is best displayed by your ability to learn from your mistakes. One difference, though, can be explaining a time you disagreed with the criticism and were able to respond appropriately. Sometimes you will come across team members with different beliefs, so it’s good to be able to understand those while not just giving up on your own.

 

Communication

Communication is another universally desired soft skill, and in engineering, it can really set you apart from other candidates. All the previous skills can be mentioned here, because the way you communicate can be a revealing factor. I could write an entire article all the many forms of communication that help a team function well, but for this one, we’ll focus on the big one: clearly explaining what you’re working on.

Engineering, like most industries, is filled with jargon that very clearly explains concepts and features. This jargon also makes sure that team members are able to explain their work in sprint meetings and one-on-ones with management. Most engineering teams, especially Agile ones, will heavily require this ability, so staying familiar with technical terms and using them appropriately is essential.

This is by far the easiest skill to display, considering you will consistently be communicating, so my advice here is to stick to what you know. In an interview or meeting, don’t start discussing an area with which you are unfamiliar. Save these discussions for one-on-ones or just private conversations where you can ask questions and learn from a mentor.

 

Individualism

Underneath all the soft skills you possess is a contributor and problem solver different from the rest of the team. While uniformity is important to an engineering team functioning well, individualism is what drives it to be its best. In a nutshell, many heads are better than one.

This skill incorporates all the others you possess and allows you to approach challenges differently from each team member. 

  • Passion to Learn: Each team member will care for different tech and even different hobbies that separate them from others. Use your personal interests to provide insight on future tools and methodologies that could help the team.
  • Self-awareness: Your growth and contribution may be recognized by the team, but ultimately you decide where you will advance in a tech career. Instead of just listening to management and working on what’s assigned, ask about developing skills you feel you lack or would like to develop further.
  • Taking Criticism: Authority does not always make someone right, so make sure you clearly explain yourself and why you did something. Your approach may have strayed from the standard, but maybe you found an easier way to accomplish the same goal.
  • Communication: I’ll say it again, people hire people. Be yourself, allow your personality to come out in your work life. 

Individualism as a skill is another one that’s easy to display. Express your own ideas, in a concise and professional manner. In an interview, it’s as simple as making suggestions to how a company could improve their processes or product. If you’re lucky, maybe you’ll mention something they’re already discussing internally, making you a viable addition for the new project.

 

Of course, there are many other soft skills that can help you be a better team member, but this list of core skills is a great starting point. If you find that you lack one of these skills, find interesting ways to work on them. Some are as easy as spending some more time reading, or listening to tech podcasts. The key is recognizing that your technical abilities are great, but these skills will help you be a valuable overall team addition.