Are programmers an endangered species?
Posted by: Aoife McGlacken
When: 15 March 2017
We’ve been hearing that programming is becoming obsolete for years, and there’s no doubt that the more tasks we automate, and the more reusable components we build, the less there is left to do, right? When products like PowerApps offer non-technical users a means to cobble apps together themselves in minutes, why even look to developers? And why build your own bespoke, behemoth systems from scratch when things like Dynamics 365 and SharePoint already offer all you could need?
The role of the programmer, their place in the world, is evolving and changing constantly. But is this really the end of programming as we know it?
Bridging the gap
In every business, there is an endless supply of little day-to-day tasks and problems that need solving. We’re seeing new tools coming into the market all the time, enabling end-users to build their own workflows and solutions in minutes, all without the need for a developer or even a single line of code. One example is Microsoft PowerApps, a code-free tool that allows users to quickly build apps in a visual, friendly UI. Offering pre-built templates, along with plenty of options for more ambitious customisations, it gives users a lot of power to play around with.
There is no “one size fits all” approach, however, and there never can be. The more something is simplified, packaged, and homogenised, the more assumptions it will need to make, and the more rigid it must be in sticking to the typical, supported use cases. We all know real-life requirements are seldom, if ever, typical, and this is when programmers must step in to bridge the gap.
On the other side of it, many businesses are also looking to consolidate all the bespoke bits and bobs they’ve accumulated over the years into single “do-everything” systems, with centralised document storage, collaboration tools, CRM and BPM features, and more. Products like SharePoint and Dynamics 365 can address many of these needs out-of-the-box, all while offering insane levels of advanced configuration as needed.
For systems that try to be everything, however, there is an inevitable balancing act between flexibility and complexity. Sure, we can offer you tens of thousands of configurable options and combinations, but can a normal user navigate these safely? Or do we now need someone with a deep, specialised understanding of the system, related systems, the back-end, the risks, and the wider impact?
The new role of the programmer starts to become clear: instead of building everything from scratch, we’ll often find ourselves playing the Technical Architect, the Solution Architect, the System Administrator. We sit down with people to define the specs. We are devising and planning solutions that can satisfy the more uncommon business needs. We can use these massively versatile products as a platform, and build even higher. We are the configuration and customisation wizards.
And, just occasionally, someone will still ask for something utterly bizarre, and it’ll be time to dust off the old drawing board and come up with something brand new.
So new products and systems won’t put an end to programming, just as WordPress didn’t put an end to web design. Although WordPress and its ilk empowered end-users to build and maintain their own websites, it did not (and could never) kill the demand for advanced and highly-customised design, specific and granular requirements, a unique vision, sophisticated branding, and a tailored user experience. No single solution can ever deliver everything and anything to everyone – at least, not without a lot of intervention from developers.
There can be incredible advantages to using big, fat consolidated systems, and there’s a lot to be said for the ease and speed of DIY development, too. However, there will always be a need for diverse solutions, as vivid and varied as the businesses who use them. At Ergo, we’ve learned, through working with our customers, that every challenge is different, and that means every solution must be different. In finding the right fit and balance, you can never completely remove the need for the technical expertise, problem-solving skills, creativity, innovation, and the insight of programmers.