Skip to main content

Command Palette

Search for a command to run...

Essential Soft Skills for Software Engineers

Updated
4 min read
Essential Soft Skills for Software Engineers

As a technical person, it’s always been easy for me to focus on hard skills, numbers, and statistics. This worked well through school, personal projects and smaller teams; environments where I could accomplish a ton on my own.

But now I’m working in a large corporate & collaborative environment, where I’ve had to change how I approach my engineering role. Primarily the soft skills. So here’s a list of the soft skills that will help you in the real tech industry.


Be Approachable

  • In software, there are going to be problems. People are going to have questions. Make sure that your colleagues feel comfortable addressing you with their concerns.

  • Do NOT be smug, arrogant or egocentric (we all know devs like this, and working with them is a nightmare).

  • For being approachable, my most important piece of advice is to communicate in a friendly and understanding way.

  • Don’t be afraid to smile and laugh!

  • Don’t be afraid to be vulnerable, particularly about times in your career where you’ve made mistakes or didn’t know everything.

Being relatable like this will make you much more approachable. Don’t be the person who people are scared to communicate with when something goes wrong.


Present Yourself Well

I have seen this specific soft skill determine entire careers.

You can be a genius engineer with all the accomplishments who graduated from a top school, and still have issues finding employment if you’re not presenting yourself properly.

  • Make sure you are well groomed! Keep your hair maintained (both facial and head hair), and dress well.

  • Dressing well doesn’t mean wearing a full suit everywhere you go. Learn about the different dress codes: Casual, business casual, business etc., and find outfits within these styles that fit your personality and body type.

  • And finally: speak clearly. Especially in IT industries, where many don’t speak English as their first language.

    • Try to avoid slang, swearing, and make sure to pronounce properly.

    • Especially around new people.


Take Responsibility

  • You’re going to make mistakes. And that’s okay. No one expects you to be perfect.

  • But what they do expect is honesty and proactivity.

  • When something goes wrong, don’t be scared to let people know.

  • Address these problems head-on, and be proactive about finding a solution.

This will both help your team solve the issue, as well as build respect from your team as they see you addressed the issue honestly.


Be Patient

In the corporate world, it is not as simple as just writing code that works. There will be other factors, like:

  • the organization’s coding standards

  • extensive testing

  • scalability

  • compliance

Learn to conform to these practices, even if you don’t want to.

As much as I wanted to dislike these things at first, I soon realized that they are in place for a reason. You must understand that the corporate environment is much different than school and your personal projects.

These companies are managing thousands of engineers, and have to make sure their products and infrastructure are safe from developer error, outside threats and hardware failure.


Don’t Participate in the Blame Game

This one is easy. When there is a problem, don’t immediately go…

“Our dev environment is broken because <name_here> did X,Y & Z.”

Instead, frame it in a way that is not accusatory. Maybe say…

“Our dev environment is down. I was wondering if there were any changes recently that could have led to this? If so, can you send some links so I can see what changed? (PRs, Documentation, etc).”

This way you can collaborate on finding and understanding the solution, without creating a potential rift in your professional relationship.


Always Bring Up Something Positive in Negative Situations

I like to think that there is always a positive outlook on something.

There have been many instances where a bug or a failure has led me to learning something extremely valuable. I have had issues where I’ve had to redo a large part of an application.

  • This might seem annoying at first, and you are completely justified to be annoyed.

  • But you may learn a thing or two, and likely it will be even better the second time.

And at the end when you’re all done, make sure to bring up how much you’ve learned because of it.

And this isn’t just about bugs or even just IT. This can be generally good life advice. Whether you encounter a problem or have to give negative criticism, there is always a way to frame it that does not completely ruin the morale of the people involved.