Crystal Ball Time

Here is an interesting survey from our friends at Code Project. They asked their developer community to predict what developer programming skills will be important over the next three years. The survey period was in early April, in the early stages of the pandemic, so we don’t know if the responses would be different at the time this post was written.

We’ve ranked the standard responses below, and you’ll find some of the more poignant comments further on. In this survey, developers were presented with a list of logical responses and asked to rate them by importance.

Survey Results

What programming skills will be important for developers over the next 3 years?Survey period April 6, - April 13, 2020
ResponseVotes*Response % (n=773)% Error (95% confidence/1.96)
Data Structures and Algorithms39351%3.52%
People skills33443%3.49%
Artificial Intelligence33143%3.49%
Containers (Docker and Kubernetes)26634%3.35%
Parallelization / Vectorization18023%2.98%
UNIX or Linux15921%2.85%
Programming for GPUs and other hardware accelerators11615%2.52%
Quantum Computing689%2.00%
Other (please comment)395%1.54%
*Survey respondents could choose more than one answer, so the response percentage total exceeds 100%.

Security Rises to the TopFrom our survey above, we see that security was rated as the most important programming skill, which is logical, since it is a discipline that is pervasive in everything that’s coded or related to programming. Data structures and algorithms are core strengths, so again — not a surprise that it ranked high on the list. “People skills” was the only interpersonal skill listed, and it ranked high, indicating that not everything is coding alone. Artificial Intelligence follows on the list as a major subcategory, and then the list of choices narrows down to more technical selections.Deeper DiveWhile the closed-ended selections give us objective data, it’s the open-ended comments that provide us a portal into the mindset of the developer, and some humor. Here is a list of the comments and suggestions on skills that developers felt were missing from the survey:

  • Creativity.  An interesting comment in that creativity is a skill based on knowledge.   Creativity is a great problem-solving skill and fits into the persona of a developer.
  • Being logical, which can be used in any field of programming.
  • Embedded systems. A specific practical skill suggested because of the proliferation of embedded controllers.
  • Machine learning. Once the new kid on the block, machine learning is heading toward ubiquity.
  • Virtual Reality, Augmented Reality, Mixed Reality, and Extended Reality. Another technology group becoming more pervasive in applications.
  • Debugging. “Will always be THE most important skill.”
  • Being able to sit in a chair for 8-12 hours a day. Self-explanatory.

… Perhaps the Best Comment

One commenter observed with ominous perspicacity, “If we have learned nothing else from Covid19, the future is impossible to predict. Trying to predict the future in the next 3 years, a ridiculously short period, is PARTICULARLY IMPOSSIBLE. Any number of disasters, natural or man-made could wipe us all off of the face of the earth.”

While we face an uncertain future, this programming skill survey provides a glimpse of the complexity of what programmers face and the challenges they have. From a marketing perspective, a balanced approach offering technical content as well as thought-leadership content may be used to enhance skills such as logic, creativity, people skills, and yes, being able to sit in a chair for 8-12 hours a day.