Why developers need to look beyond code

An image of Earth, next to an illustration of Bit the Raccoon.

You already know that programming involves you in continuous learning. It’s easy to think of the objects of that learning as technologies: functional programming languages, key vaults, source scanners, and so on. Those are indeed important and valuable.

Our technologies aren’t the only things changing, though. We always apply them within a larger cultural context, and we’re under-trained to deal with those changes.

Things we know that aren’t so

As a warm-up, recall Kevin Deldycke’s list of “Awesome Falsehoods” for programmers, including: “My system will never have to deal with names from China”, “A time stamp of sufficient precision can safely be considered unique”, “My software is only used internally/locally, so I don’t have to worry about time-zones” and “Places have only one official address”.

Twenty years ago, naive applications assumed gender was an unremarkable, immutable, single-bit attribute; current interpretation of the 2010 Equality Act elevates such data design choices into the realm of legal consequences.

I don’t know what the world of even the near future will be, and I’m sceptical of those who say they do. A few trends are so potent and certain, though, that they deserve our attention before they surprise us.

Traditional banks aren’t set in stone

From their material architecture to their public relations style, banks make an impression of permanence and gravity. This is just a cultural convention, though. The rising generation in industrial countries goes about its business with less and less use of cash and cheques, and often without traditional banking at all.

In 2012, the World Bank wrote about the “problem” of the unbanked. It increasingly appears that many of the world’s young and poor – a majority of the world population still! – will meet their needs without ever joining the ranks of the “banked”. They don’t seem themselves losing the banking game; they aren’t even playing that game.

Credit cards may face similar changes. At the same time as global credit-card use continues to grow around 3 percent annually, such alternative practices as Buy Now Pay Later (BNPL) are exploding at a rate of over 22% per annum. While BNPL brings its own risks for consumers, vendors, and the larger economy, these factors may remain secondary in the face of marketplace adoption. If you’re a financial programmer, you need to learn not just Angular and continuous integration (CI), but also the BNPL vocabulary.

Super apps

These shifts in consumer finance complement the “Rise of the Super App“. For more and more people – perhaps a majority, before long – money lives in their mobile phones. We’re long past the times of money conceived as precious metal, money as tangible currency, or even money as figures on a full-sized computer screen. Behemoth computing platforms like WeChat, Facebook, and Snapchat are where consumers and businesses conduct their social and economic transactions.

Keep in mind the phenomenal growth rates involved. When usage of something like M-Pesa grows 50 percent or more each year, that necessarily means the average tenure of users is well under a year. Whatever habits or practices are accepted now might well become obsolete in just a few months with recruitment of a whole new generation of users.

Devs and demographics

Further complementing these shifts are the demographics involved. Coding is the fastest-growing employment sector in the UK, with private industry adding around 25,000 programmers a year.

India graduates about ten times as many computer scientists and software engineers annually.

Nigeria, Kenya, Egypt, and several more countries not often regarded as technology centres also appear to be growing at least tens of thousands of new programmers each year.

The point is not to fear these changes, but simply to recognise their reality. The consumers and the providers of the business applications of the coming years will have different backgrounds, expectations, and daily lifestyles from those who have dominated computing to this point.

If we, as developers, insist on just sticking to the “bits and bytes”, it might soon be a challenge to keep doing what we do. There are no guarantees that the specific jobs of today will continue. When we open ourselves up just a little to new end-user expectations and populations, though, whole new worlds of opportunity appear.

Learn more