With 2016 (mercifully) almost over, it’s time to look to the future, this time with a focus on the world of software development. What will the hip web framework of 2017 be? What will startups build their products on? How will they collaborate? Where will developers work?
I don’t have a crystal ball, but I do have some ideas.
Open data will get bigger
Earlier this year, I interviewed a recent transplant to the UK. He’d moved here a few years previously, and was looking for a new school for his kids. As a relative newcomer, he didn’t really know what schools were best.
Sure, league table results are public. But they don’t paint a picture of the crime rate surrounding a school, or how good public transportation links are.
So, he built something that did just that. His website visualizes crime, transport, poverty, and healthcare statistics, contextualized by nearby schools. And he could do that thanks to open data.
Open data is exactly that. Government data that’s shared, openly. It pertains to things like how well government departments are working, to crime stats, and everything in-between. Governments that choose to release open data do it for the sake of transparency.
And quite often, it’s distributed in formats that are conducive for developers to work with it – like CSV, TSV, JSON, XML, Excel, and sometimes as entire SQLite databases.
I want to stress that this is totally anecdotal, and not at all scientific, but over the past few years, the number of founders I’ve met that have been taking advantage of open data has soared.
Over the past twelve months, it seems as though it’s almost hit a critical mass. This paints an optimistic picture of open data usage in 2017.
Public-sector software development jobs will get increasingly attractive
Developers worth their salt have always gravitated towards private sector jobs, particularly in VC funded startups. The reasons are obvious.
Pay, which is number one, is usually better. There are stock options. Then there’s the frivolities. You don’t have to wear a suit, and there are perks, like free snacks and ping-pong, and you get to work with interesting technologies.
Public sector jobs traditionally haven’t had the same appeal. But that’s starting to change.
Starting with the UK’s Government Digital Service, and following with the United States Digital Service, it’s now enticing to be a public-sector developer. These departments work like a startup-within-government.
The key difference is in development approach. Developers are given a deliverable, and they’re pretty much left alone to get on with it, using the tools, languages, and frameworks they feel are appropriate. Transparency is encouraged, and the work culture is generally more relaxed.
This, obviously, has been a massive success. In the UK, it’s had a transformative effect on how people access government services, making it easier to do things like pay taxes or access benefits.
Machine learning as a service (MLaaS) will continue to mature
An increasingly large number of enterprise and individuals have realized that there are huge benefits to machine learning. The technology can be applied in tasks as diverse as fraud monitoring, to image identification and tagging. The problem is that machine learning is damn hard.
It’s hard to learn. The fundamental theories behind it are deeply complicated and confusing, and require arduous hours of study just to wrap your head around it.
When you actually reach the point where you can build machine learning apps, you quickly run into the realization that running large jobs at scale can be computationally expensive.
Which is where MLaaS comes in. There are dozens of products in this sector right now – AmazonML, AzureML, Google Prediction API, and BigML to name but a few.
They all differ in their approach and execution, but the fundamentals are all the same – they are pre-configured environments that allow anyone to write their own machine learning and deep learning programs, which can be integrated into other applications.
Many of them allow the user to scale the resources used, thereby allowing people to process large mountains of information in short order. And a great many of MLaaS products also include libraries and tools which vastly simplify the development process.
Given the astronomical interest in machine learning right now, it’s inevitable that these products will continue to mature.
Github will become a project management one-stop-shop
At first, Github was just a reliable place to store code and manage collaborative software products. It still is. But it’s evolving.
In September this year, it announced a whole bunch of new project management features, including something that’s faintly reminiscent of Trello, and another feature that allows you to review code line-by-line.
It’s all super cool stuff. And given that many developers use Github to host their projects, it’s hard not to imagine developers taking the leap, and using it as their main project management tool.
Elixir and Phoenix will continue to soar
Okay, I’m calling it. Elixir and Phoenix will be the hip programming language and web framework of 2017. Kinda like CoffeeScript in 2014, expect to see it everywhere.
The Erlang VM is a tried-and-tested (and dare I say, cool) piece of technology. It’s almost twenty years old. It’s blazing fast, and has awesome support for concurrency. Built upon this is Elixir – a relatively new functional programming language designed for productivity.
Despite the relative youth of Elixir, it’s already got an active community who build awesome shit around it. One such example is Phoenix – a web framework for Elixir that’s ideal for sites with lots of concurrent users.
There’s a lot of enthusiasm for these two technologies, and they’re quickly gaining momentum. It’ll be interesting to see how they continue to evolve throughout 2017, and what developers build with them.