by Ryan Williams
Trending Developer Skills, Based on my Analysis of “Ask HN: Who’s Hiring?”
For people learning to code and for experienced software developers alike, change is constant. There is always something new to learn. This includes programming languages, web frameworks, DevOps automation, mobile devices, front-end and back-end development, SQL and NoSQL databases, and so on.
I’ve been developing for 18 years. Even as I write this, I am learning about natural language processing, engineering management, Elixir, Docker and more. It never ends.
But then again, maybe that’s one of the things that interested you about coding in the first place. It’s the rush of that initial “Hello World” that makes you feel creative and powerful at the same time. It’s exciting to feel that again and again when we work with new technologies.
As a self-taught web developer who loves to learn new technologies, this aspect of software development has always fascinated me.
A few years ago, I became curious about identifying emerging technologies and predicting them. So I created Hacker News Hiring Trends, or HN Hiring Trends for short. Hacker News is one of the most popular discussion boards for programmers. It is also one of the best places to discover new technologies. Every month Hacker News hosts a thread called “Ask HN: Who is Hiring?” Users also post jobs opportunities from their companies on this thread.
The fact that these job opportunities are posted monthly and that most are from start-ups (new technologies are usually created or used in start-ups) makes this the ideal environment to capture data. Data which can be used to discover trends.
While there already existed projects which track of programming language trends, such as TIOBE’s programming language index and RedMonk’s Programming Language Rankings, something was missing. The focus was purely on programming languages. With so much involved in creating software today, programming languages is only one of many choices. Google Trends serves as another source of inspiration. But it’s scope is the entire Internet. Again, the HN postings present a focused dataset every month.
Now, let’s dig into the latest trends.
React’s rapid rise
Battle for the server side
PostgreSQL a clear database winner
Choosing a database technology is the safest selection in the stack. There are plenty of mature choices available. Databases, particularly relational databases like MySQL and PostgreSQL, have been around forever. They often outlast the other layers in an application. Nonetheless, one clear winner in these rankings has been PostgreSQL. Not only is it dominating MySQL now, but it is also beating MongoDB. And by the same margin. I was surprised that Heroku launched its PaaS with PostgreSQL as the primary database engine.
Speaking of MongoDB, its popularity appears to be numbered. I question if PostgreSQL saved the relational database from the NoSQL revolution. Or did the concept burn itself out because developers went back to safer choices?
It wasn’t too long ago, November 2016 to be exact, that iOS was a top 10 hiring term. Consistently in the top 20, iOS along with Android are still important development skills that hiring managers look for. But, there is a strong shift from native mobile development to hybrid, led by React Native. React Native has, in recent months, overtaken Swift, the primary programming language for native iOS development.
Container adoption within DevOps
DevOps is another area that’s been hot in recent years. It is a top 10 term in job posting as well, with containers driving a lot of that growth. By containers, most think of the Docker, which is gaining ground fast and nearing the top 10. But, there’s also Kubernetes. It has been out for two years and is already approaching the top 20. With the rise of containers, which makes managing configuration and deployment easier, virtual machines are taking a hit. This can be seen in Vagrant’s declining popularity as a development environment tool.
Frameworks come and go, but languages never die
Of course, programming languages drive much of what we do as developers. But out of the top 20 terms in July 2017, only 5 are programming languages:
· Python (#2)
· Java (#8)
· Ruby (#13)
· C++ (#20)
Next big thing
What would a trends analysis today be without including artificial intelligence and machine learning? Over the last few years, we’ve seen most of the big tech companies embark on major AI initiatives. From self-driving cars to home assistants, these applications are making their way into our lives. But as developers, what does it mean?
Let’s take a look. Machine learning hit the #6 spot in July 2017 and is now mentioned in 12% of all postings. From the trends, you can see that machine learning and AI both experienced a significant upward spike. It means I need to open some new tabs.
Hacker News Hiring Trends publishes every month. Subscribe and you will receive the latest trends. Have a language, framework, or library that you think is missing? Leave a comment below or on Twitter. Also, check out ScoutZen to track trends and analyze tech communities.