Are you like me and looking for your first dev job? Maybe you’re a recent grad from a university or a bootcamp. On so many of the technical job zoom seminars I’ve attended they talk about the importance of those non-technical skills, also known as “soft skills.” In fact, some job counselors have said that a company might even give more weight to soft skills than to traditional hard or technical skills. As one interviewer told me, “What we really want is someone who we like and can learn quickly. Everything else is negotiable.” So how might we try to quantify those “soft skills.” I’m going to take a swing at it in this article. Here are some characteristics of soft skills that I’ve gleaned my recent wanderings in the looking-for-employment world:
People with a growth mindset are always ready for the next new learning adventure. They believe that their skills can be developed through hard work and feedback. This is opposed to people who do NOT have a growth mindset and feel that their talents are innate and unchangeable.
As a person with a growth mindset, you get to define for yourself what personal success looks like. From time to time, you’ll get to experience what looks like failure, but be able to use that so-called failure as a learning tool that prompts you to make a course adjustment instead of giving up. You also get to practice the fun art of visualization. As one teacher told me, “if you can visualize it, then that thing is within your ‘field’ and it is possible for you. If you cannot visualize it, then that thing is not for you.”
Creativity is somewhat hard to pin down. One way you know you’re in a creative space is if you’re engaging in what you’d call “day-dreaming.” During day-dreaming, you are released from the ordinary and can consider the extraordinary, out-of-the-box solutions and situations. Why do some people think it’s hard to be creative? Because to be really creative, you must look and be “ridiculous”. And who wants to appear ridiculous. But think of all the great inventions or societal ideas that we take for granted today that, at one time were considered preposterous--like the idea a person could fly in a machine. Or, back in my day, in the 80’s, the idea that there could be legal societally-recognized same-sex marriage: it wasn’t considered a possibility even in the Queer San Fran community.
Moral of the story: next time in a meeting to hash out new ideas when someone suggests the team needs to fly to Saturn don’t knock it! That idea will probably spark someone else’s creative idea that will be a little closer to Earth.
As software engineers, a big part of our day will not be so much being knee-deep in coding but rather communicating with a wide variety of people in our company such as: product management, account management, sales, sales as well as our immediate colleagues and bosses.
Part of developing communication skills has to do with developing a feedback look. If you have a concept in your mind that you want to communicate, then you make an attempt at it, notice what kind of feedback you get. Does it seem like the person understood? If not, then you get to experiment and find a more effective kind of communication. In terms of raw coding, one exercise I’ve done is to tell someone else what code to write and then see if they are able to do it correctly based on what you said. This is pair programming, of course. However the difference is that you are focusing on the communication aspect as opposed to necessarily getting the code correct. When you do this, you’ll find out how quickly your communication improves!
This one of my favorite softskills, but also one of the more nuanced and even difficult to define.
Emotional Intelligence (EI) has to do with your capacity to recognize your own own emotions and the emotions of others, then use that information to guide your own thinking and behavior, or to adapt to the given environment.
You can think of it like this: if you’re floating in the ocean and a wave comes along, you float with the wave instead of resisting it. You also keep your head above water so you can see where you’re going.
As a software engineer, in order to understand and empathize with our colleagues, bosses and customers, our cultivation of EI will help us create better software.
And there you have it! 4 soft skills that we can cultivate as software engineers: growth mindset, creativity, communication skills, and emotional intelligence. Combined with our technical skills, we’ll have all we need to bring our ideas into reality.
Keep coding out your dreams!