Becoming a developer of the future

Watching the rate that technology is changing the world and how artificial intelligence is increasingly able to carry out more complex tasks that have traditionally require humans, large numbers of us are set to find the tasks and roles we currently do replaced. I’ve been thinking for a while what the different jobs currently held by people in the IT sector will look like.

Yesterday I talked about becoming an IT professional of the future, the first in a series targeted at both current IT professionals and those looking at moving into the sector.

As I mentioned yesterday, reviewing what I’ve seen and witnessed from the past 20 years I’ve been in IT, I can say comfortably that to date, only graphic designers have had a real shake up. Most developers I meet still think they’re completely safe if their job. Given how hard they struggle and work on the projects they are part of, they believe it’s complex, hard, slow work. A constant back-and-forth between them and the business to keep trying to understand what is required.

At the same time I’ve also noticed that there is a growing gap between developers and the rest of the business around them:

  1. Developers won’t admit that most of their time isn’t spent solving business problems… it’s actually spent following the same rules and guidelines (called coding standards, coding practises or patterns) defined by someone other than them.
  2. The business around them doesn’t yet realise only around 20% of a developers coding time is efficient time actually spent coding those few lines of code that actually do something like storing data, sending an email or validating an input.

The problem here is that businesses are starting to get educated on this ‘wastage’ and are looking for ways to address it. We realised this wastage some time ago and have built an entire product and service around addressing this very problem. And we’re not alone in doing this.

Keeping things simple, just like self drive cars will replace taxi and bus drivers soon, the future we see (and are building the products and services around) is a future where the business (and I say that loosely as it’s probably a sales, marketing or business analyst) will define – much like they do today – what they want to happen in the sense of a work-flow and technology will build it for them. This is the next evolutionary step from drag and drop user interface design… drag and drop inter-connected components with self documentation and self/pre-built tests. If you don’t believe me, how often have you heard the term ‘automation’ bantered around. That’s really what we’re talking about here. The automation of the process of getting an idea out of the head of the people in your business and into software. Currently that’s a developer… but not for much longer. Computers are much faster and far more reliable and producing consistent results – even if the results isn’t perfect, at-least it’s consistent and consistency allows business to adapt and innovate faster.

Once the business has defined, for example:

  1. Collect an email address, first and last name as input data to this work flow.
  2. Validate all three have been provided and that the email address is a ‘valid’ email address.
  3. Return an error if validation fails.
  4. Get the ‘welcome’ email template.
  5. Merge the input data with the email template
  6. Send the merged email template to the email address from the input data

What need is there really for a developer? There’s enough components and frameworks available to do all of this work, it just needs a product or service that brings it together in a simple enough way for a non-technical developer to define. There’s little need for an operations or server administrator either as this can self deploy into Azure or Amazon – a few years ago we started to call this DevOps and automated deployments. Just to be clear you can’t replace everything a developer does. To-date we can only replace around 80% of what a developer does.

What this will inevitably led to, for short time (say a few years while everyone adjusts) is a situation where:

  • Junior developers will plug together the simple 15% of the remaining work that requires human intervention until technology catches and starts to replace them again.
  • Senior developers/junior architects will build the large components and core level code – the stuff we mostly don’t touch because it just works and no ones brave enough to try and update it.

And just to be clear, this is already possible, the future is already here for developers and business. As more and more businesses switch over to this model of development, the industry will rapidly change.

This doesn’t leave much room for intermediate levelled developers or an easy path for juniors to be up-skilled to senior levelled developers or move into architecture. The level of experience and broad knowledge will just be lacking, so the path forward will be based more on taught learning rather than learnt by trial and error/failure and success.

Business will struggle at a certain point as senior developers/architects become more in-demand and the up-skilling path from junior/intermediate will lack a vast amount or the trial and error work developers currently do. Business who are making this move now are currently preparing for this by ensuring intermediate levelled developers are getting the paths and necessary exposure needed now. We expect as the industry adopts more of this automation, that the gains in productivity and lower costs will be used to justify any knowledge gap that evolves. At that point, we can’t be sure how secure or full-filling your career will be if there is no viable or realistic path forward with the project, team or business you are in when you and your peers a scrambling for the same limited pool of training/up-skilling funding.

If you’re a developer or looking at moving into development, don’t fight the change, get ahead of it. Look for careers with companies that are building these types of automation products and services like us. This is where you’ll have the broadest exposure and experiences to all that development has to offer. In a much shorter time you’ll find you have more experience and knowledge than your peers. This might mean joining a start-up project or company. This might mean getting out of your comfort zone, but the rewards will be far greater when you think forward to the future.

Next week I’ll cover my thoughts on analysts and finally testers.

Leave a Reply

Your email address will not be published. Required fields are marked *