Predictions for Software in 2021
I've been working in software for a while and writing about it for a bit, so I want to make some predictions about development in 2021. I want to make this an annual post, so in 2022 and onwards I'll reflect on the previous years predictions and also make new ones for the new year.
1. Beginning of the end for microservices
For a while now I've held the belief that microservices-based architecture has been a fad and a poor architectural choice. I think this will be the year that more software teams will realise their solutions do not require FAANG scale, and a well-designed monolith is robust enough to carry them for the foreseeable future. Additionally, I think upper management will realise that microservices are not a fix for poor developer culture. Letting each team do their own thing on a small component of the system leads to siloing and cliques and likely a toxic working environment. There must be a central place where all developers must work together and cooperate instead of letting them get their way in their own kingdom.
2. Some form of disruption in VCS
Git has reigned king for quite some time in the VCS space, and it's only gotten harder to use. GitHub has tried quite hard to make the process more streamlined and easier for newcomers, but there's only so much you can do around a system that's quite powerful but still less-than-user-friendly. There's nothing wrong with Git besides its complexity and ease of messing up one's repository. For many teams it's a great tool, but most teams don't need or don't use the majority of its features, so a simpler but just as robust VCS seems inevitable. I believe there will be a newcomer pushed by a major corporation that will cause waves in the VCS space and occupy some of the market share.
3. Discord will release a business chat platform
When I first used Discord, I thought I had opened Slack by mistake — their interfaces were quite similar back then! Nowadays, Discord has really done well for themselves becoming the platform of choice for social gaming. With Slack's purchase by Salesforce and general complaints about its service, it seems like the time is right for Discord to make a business-catered version of their services without the gaming references. There are other competitors like Teams and Mattermost, but it's by no means a saturated market, so it's worth a shot.
4. Developer autonomy will be reigned in
With microservices came a significant amount of autonomy in individual developers and teams. Due to the work-from-home status quo presented by the pandemic, developers have the ability to insert more autonomy into when they work and how they work. There are fewer meetings and people to interact with, and it's generally harder to talk to stakeholders when making decisions. I think the general software quality in the industry has decreased as a result, so management will likely institute more policies and guidelines to ensure developers are working as part of a team.