DEV Community

Cover image for 5 non-programming skills for a software developer to learn in 2021
Isabel Nyo
Isabel Nyo

Posted on • Updated on

5 non-programming skills for a software developer to learn in 2021

Learning new skills is part of a software developer's role due to the frequent changes and advancements in technology and frameworks. I personally know quite a few developers who are learning Rust right now.

However, just learning programming skills isn't enough if you want to succeed and get ahead in your software developer's career.

Let me tell you why.

The future is going to be filled with software developers, who are working from anywhere, any time, almost independently, using async communication and technology. Therefore, to be an efficient and effective software developer in the future, first and foremost, they need to have T-shaped skills. What’s a T-shaped skills, I hear you ask. According to Wikipedia, it’s described as:

The concept of T-shaped skills, or T-shaped persons is a metaphor used in job recruitment to describe the abilities of persons in the workforce. The vertical bar on the letter T represents the depth of related skills and expertise in a single field, whereas the horizontal bar is the ability to collaborate across disciplines with experts in other areas and to apply knowledge in areas of expertise other than one’s own.

For example, in the case of a software developer, the vertical bar on the letter T is the technical and software development skills that the person possesses, either through formal qualification like an undergraduate degree in Computer Science, Information Systems and the likes, or through experiences like working as a software engineer or web developer, or both. The horizontal bar on the letter T is the more nuanced part of the T-shaped skills, which is the breath of skills in adjacent domains such as product management, design, user experience and so on.

Without any further ado, here are 5 non-programming skills that software developers should learn in 2021.

  1. Analytics
  2. Visual Design
  3. Presentation
  4. Writing
  5. Psychology


I am using the term Analytics very loosely and broadly here as it includes all kinds of metrics and measurements. Firstly, it’s important for a software developer to have a very good understanding of their own performance and throughput. Secondly, business metrics such as customer acquisition, engagement on features, conversion and so on are important for a software developer so that they can make trade-off decisions when prioritising work.

Visual Design

A picture is worth a thousand words. As software developers start dealing and working with people from different disciplines in an async mode rather than face to face communication, visual communication will become a medium where it’s the quickest and most effective way to achieve a shared understanding across all disciplines. This is due to how our human brains work. According to research compiled by 3M, the corporation behind Post-it Notes, visuals are processed 60,000 times faster than text, which means you can get everyone on the same page quicker by painting a picture, literally.


Whether you call it a presentation or public speaking, the gist of this skill lies in being able to convey information effectively to an audience and getting them to produce an outcome that you need from them; whether it’s about getting buy-in from stakeholders on a project, inspiring others to take on a new initiative, or educating your counterparts on technical details of your craft, having a solid presentation skill will help you do your job make more impact in your role.


Being able to communicate effectively is one of the essential skills for software developers, more than you think. In this day and age where remote work is the norm, async written communication is a recommended medium. Whether it’s emails, memos, blog posts or documentation, it’s necessary to keep your content crisp, clear and engaging.

Writing is one of those skills that you get better with deliberate and consistent practice. I can say this with certainty because English isn’t my first language and I didn’t even start speaking English or writing more than 10 English words every day until I was 15. My usual advice for developers to hone their writing skill is by starting a blog. If you are not comfortable to start a blog straight away yet, start by committing to writing 100 words a day for a month about your day. You don’t need to share this with anyone if you don’t want to. And then challenge yourself to write 300 words a day the next month, 500 words the month after, until you get comfortable enough to start your own blog or start writing on Medium.


One of the reasons why software developers sometimes make bad team members is they think logically, sometimes too logically. You can’t expect people to be always logical, reasonable, and to act according to your predefined assumptions. You can’t create an if-then-else statements around real-life problems and execute them repeatedly, expecting the same answer or reaction every time. So having the ability to hack into people’s minds becomes a useful skill to have as you will be able to more attune to unique needs of your colleagues, managers and stakeholders, understand what makes them tick and work with them effectively.

The future of work is here

The technology industry is one of the fastest growing industries today. The future of work has arrived for software developers. I know for a fact that it is different than work we know previously and thus requires different mindsets and skills from software developers to be effective in their role. What’s more — it is estimated that sixty percent of all new jobs in the twenty-first century will require skills that only twenty percent of the current workforce possesses. What this means is that you will need to be flexible, adaptable and always be learning and growing in your career to thrive in the future of work. So build these T-shaped skills and set yourself up for success in your role today and beyond!

Here's a YouTube video that summaries key points in this article.
5 Non Programming Skills That Software Developers Should Learn In 2021

Author's bio

Isabel Nyo is a technology leader with almost 20 years of experience in the tech industry, with startups to Fortune 500 tech companies. She is the author of The Engineering Manager’s How-to Guide, Nail That Interview and Career Guide for Software Developers. She provides career advice & resources for software engineers and engineering managers via her website.

Top comments (5)

laviku profile image

I've always thought that a web developer should learn about psychology, at the end we are developing things for other human beings, be able to understand certain behaviors would help us to get the right requirements and even know something that our client was not able to explain.

eisabai profile image
Isabel Nyo

Yes totally! Understanding psychology helps software developers in building customer empathy.

mcdtbo profile image
Thabo Pali

I have often found subjects or books on psychology intriguing and fascinating at the same time. The ability to psycho analyze people is a powerful skill/tool to have. Are there any recommendations you have in the form of books or blogs?

eisabai profile image
Isabel Nyo

You can study psychology by observing everyday events around us; being fully present in the moment and interpreting causes of actions and behaviours. You can also learn it from books, movies, documentaries and the likes. If you are more of a visual learner, check out my sketchnotes and summaries of five timeless books for leaders.
If you have time for only five books this year, let it be them: