Tech Choices for IT Leaders in Education

What languages, operating systems and databases will best prepare students for industry?

Scott
6 min readAug 12, 2020

--

Following on from my previous article on the lessons of Slide Rules and LISP, I wanted to see how things have changes since my early developer years and what insights can be taken from this for the educators of today who are preparing students for jobs tomorrow.

Each year Stack Overflow conduct a survey across their enormous community of developers. The most recent survey was completed by 90,000 developers.

Geographic coverage of Stack Overflow’s Developer survey (n=88,615)

90% of developers in this study have college education or higher, indicating that formal software development education is very important for the industry.

As such, Heads of Technology, Computer Science, or IT at colleges face the unenviable challenge of sifting through a myriad of technologies and systems and picking the right ones that both, give their students in-demand, valuable skills, but are also realistic within the education setting — meaning they need to be commercially viable for the college, maintainable and easy enough for the staff to support and teach.

I’m going to look at three main areas;

  • Languages,
  • Operating systems (OS), and,
  • Databases

Why did I choose these, and not the other categories in the survey such as frameworks, libraries or tools? Language, OS and Database are the minimum must-haves for any project, plus I have a personal bias, I suppose. My development career was all about languages, OS and databases — so frameworks and libraries are a bit of a dark-art to me.

Hovoríš Python?

(translation: Do you Speak Python?)

When it comes to languages, Javascript has been the number one language for seven years in a row, but Python is rapidly heading for the top spot, having now surpassed what used to the be the go-to language in my early dev years, Java.

It’s also interesting to see that median salary for Python sits right in the middle of the salary range, with Java at the bottom. Java is infact even lower paid than the most dreaded language, VBA.

As a recent convert to Python, I can see why its popularity is increasing. It is really easy to get going, quite forgiving for the novice and yet very powerful.

My eldest daughter‘s first coding experience at school was with Python when she was nine. I think the ease of adoption and flexibility of the language will see it become the go-to language for education. For this reason (amongst several others), I think we’ll see Python continue to rise up the ranks as more school and college leavers enter the work place with this language in their tool-belt. Likewise, I believe that the average age a developer writes their first line of code from 16, as shown in this survey, to early teens.

If Python is the language, what’s the platform and database?

Perhaps the most visually pleasing diagram on the stack overflow survey is the technology correlation chart.

Two things jump out at me from following the links from Python on this chart:

  1. The most loved database, Redis is the second most used database with Python
  2. Strangely, although the primary operating system is Windows, the rising star language (Python) and most loved database (Redis) are more correlated with Linux, which is the third most used operating system
Windows is the 2nd Most Used Platform, and Redis the most loved database

That doesn’t make comfortable reading for schools and colleges where Windows is often the preferred choice, why is this?

To answer this, I looked at this article on Windows and On-Premise technologies that featured Redis, too.

It seems that official support for Redis on Windows has ended, leaving a potential hole in the market. Fortunately a company called Memurai has developed a solution that delivers to this need.

I spoke with Memurai to get their opinion. They said:

“Memurai was developed because of the immediate and real need for a Redis compatible solution that worked natively on Windows. Whilst there are Cloud native alternative for Redis many enterprises, schools and developers needed to run Redis in a Windows environment. Since launching, we’re proud to have had tremendous feedback across insurance, finance, IoT, medical, industrial and education sectors.”

I asked about the correlation in the chart above. Why, if Redis is the most loved database, is it only linked to Linux and not to the most used platform, Windows?

“Redis is Linux native. Few years ago the Microsoft Open Tech initiative encouraged the port of Redis to Windows. Whilst this existed long enough to get significant developer adoption, the project is retired, archived without any support. Many developers who built systems on top of Redis on Windows are looking for upgrade options. Memurai now offers a solid alternative for those developers with a solution that is Windows native, Redis compatible and an in-place upgrade for the archived version. In fact, Memurai can actually deliver better performance than Redis itself for certain workloads.”

If you want to check out the performance, you can check out their Redis benchmark.

So with this all mind, it seems we’ve found a nice package of technologies that can be used in schools and colleges today to help prepare students for work in industry.

Actually, during this conversation, Memurai told me about a few colleagues they are working with in the UK:

"We work with a number of colleges in Cambridge, UK. We’ve been supporting Heads of IT and Heads of Computer Science to create environments for their students that both reflect industry norms, and also adhere to the college’s specific operational constraints”

Recommendation

What Language, OS and Database should schools and colleges choose?

If you are responsible for setting the IT curriculum and need to make a choice on languages, operating systems and databases, this is my recommendation:

Language:

Given the popularity, growth and ease of entry that Python provides. Python should be at the top of your short list.

Operating System:

The survey distinguishes between operating systems used for development and platforms used for deployment.

The operating systems are Linux, Windows, MacOS and BSD, whereas there is a broader selection of platforms. Platforms typically designate the system the final developed product will run on, and these will support specific type of operating system.

Windows is the most used operating system for development and the second most used for deployment (platform), so for an educational institution Windows will be the natural choice.

Database:

Being the most loved, most in-demand database technology, Redis is the choice here.

Thanks to the Memurai solution, schools and colleges have at their disposal a solid and reliable Redis compatible cache and data store for the Windows system.

In Summary

There’s never been a greater need for schools and colleges to introduce and grow programming and software development into the curriculum.

As students progress through education the languages, systems and tools they need must be grounded in what industry is demanding.

The data leads us to conclude that Python, Windows and Redis will continue to grow in use, and with that, Memurai will continue to play a strong role in the Windows environment too.

Thank you to the team at Memurai for speaking with me on this topic.

Heads of IT, Computer Science

If you are responsible for IT or Computer Science at a college I’m sure Memurai would only be too happy to share more details of the work they’ve been doing with the Cambridge colleges, get in touch with them here.

--

--

Scott

A techie at heart, who loves finding innovative tech and helping people understand what’s possible and what might come. https://wellthatsinteresting.tech