While coding undoubtedly demands hard logic, the most successful software engineers have a softer side. If you want to turn a good career into a great one, you’ll need to develop these five soft skills.
1. Speak fluent normie
Your biggest challenge as a developer is learning to explain complex technical concepts in terms non-techies can understand. You’ll need to be able to turn your clients’ ideas into code, which can be easier said than done.
The best programmers are aware that clients who don’t understand what computer programming can and can’t do may need a little help understanding what they actually want, sometimes through a process of trial and error.
You’ll also need to be good at communicating with software testers and UX designers and getting honest feedback from them – which includes being willing to listen when you don’t like it.
2. Be adaptable
Given the breakneck pace of innovation in the software industry, it’s not surprising that many software engineers struggle to keep up with the latest tools, languages and Javascript frameworks. Be willing to invest time and money in your continuing education, and to practice the skills you’ve learned, just as you’d practice a musical instrument. 70% of developers spend 5+ hours a week coding their own projects.
3. See the big picture
Don’t make the mistake of thinking coding is your only job. You’re building a product, so you need to understand the whole product and its client and end-users, as well as the pipeline and what other people in your team are doing.
4. Have empathy
As a software engineer, you’re turning someone’s idea into a tool people can use to achieve their goals. You need to put the end-users first, so have empathy for them: what problems do they have and how can your product help to solve them? How’s the click-through rate on your site? If it’s high, that’s a sign that your users find it easy to navigate. Remember UX metrics like this are the main way your success will be measured.
5. Learn to draw
While you don’t need to be proficient in technical drawing, you do need to be able to draw a good flowchart to explain your software. Keep it simple and be willing to draw several charts rather than cramming all the detail into one.
You’ll also need to be able to draw blueprints and visualisations for a project, and being able to model user flows visually will help you stay ahead of the game as more and more software engineers learn UX design.