From artificial intelligence (AI) and machine learning to IoT and blockchain, the pace of technology change is both exciting and daunting, especially for those tasked with enticing new talent to the industry. Companies have claimed for years that computer science and software engineering degrees do not deliver ‘work ready’ employees; with acceleration in technology innovation, what are the options for the developers for the future?
In fact, as Alexis Shirtliff, Technical Director, DCSL Software, explains, there is no need for developers to focus on any one specific toolset or technology area; instead, they need versatility, communication skills and an ability to see the big picture – all underpinned by a strong foundation in IT process and methodology.
AI, IoT or Blockchain
When a high street bank can be brought to its knees by a mismanaged IT development, the fundamental importance of technology to every business becomes painfully clear. Alongside extraordinary innovation, there is now far greater understanding of technology from businesses, as well as ever higher expectations regarding quality and app-influenced user experience.
How does this shift affect the requirements for the developers of the future? Should they be fine-tuning AI expertise? Unlocking the mysteries of blockchain or understanding the opportunities of IoT? Or is this focus on bleeding edge technologies missing the point?
These three technology areas demonstrate perfectly the new mindset requirements of the developer of the future. IoT is becoming business as usual; soon it will be hard to consider a device that isn’t connected in some way. As a result, technology maturity means devices can be connected to any data source, network or cloud infrastructure with pretty much any language. There is no one specific IoT toolset or skillet; developers simply need to understand the concepts and visualise the opportunities.
AI development is increasingly based on a ‘toolset as a service’ model; a developer can plug into a growing raft of amazing tools from IBM, Microsoft, Google et al, that enable AI style functionality. Want to embed facial recognition to support a specific development? There is no need for old-fashioned coding, simply choose the right toolset and get started. The skill is, again, in picturing the possible and determining the best toolset for the job.
Blockchain, on the other hand, is less likely to stand the test of time. The role of distributed ledgers may evolve, but there appears to be little value in any future developer heading down that rabbit hole right now. As, when and if the technology gains mainstream acceptance, without doubt, tools as a service will appear that enable developers to leverage blockchain as required.
Depth and Breadth
This new accessibility provides developers with unprecedented opportunities to rapidly embrace innovative technologies. There far less risk of being sidelined as a result of a dated skill set. Indeed, developers now have an extraordinary range and diversity of toolsets to support amazingly innovative solutions. Rather than specialising in any one technology, or language, developers require a different approach. It is a new mindset, rather than new technology expertise per se, that is required; an ability to be versatile and to embrace skills across the entire technology stack; from back-end database integration to front-end user experience.
How does this affect the way developers of the future are attracted by technology at school, prepared at university and then enticed into the industry? While there are concerns that teachers lack the technical skills and confidence required to inspire the next generation, that shouldn’t really be the constraint. How many youngsters are intuitively gaining amazing technical skills through their daily use of Minecraft, for example? The key is to understand how best to build on this interest and confidence in a way that relates to the next stage of education without forcing children down a technology-specific cul de sac.
The fact is that the developers of the future will need a raft of soft skills that perhaps were not in the traditional remit – including great communication, as well as an ability to visualise possible outcomes and solutions. The skills to rapidly understand customer expectations and create a compelling response, to collaborate with a development team that could be scattered across the world and the ability to recognise which tools to apply to a specific development are now incredibly valuable. And that does not always mean the latest or most exciting: developers will always want to get a chance to use the newest and shiniest new toolkit on the block, being able to recognise when not to reinvent the wheel is also an essential skill.
Underpinning all of this, therefore, must be the fundamental discipline of good, well structured IT development. The ability to follow proven methodologies such as agile is absolutely critical in an era of incredibly high customer expectation and a demand for continuous – even daily – feedback and project update. And it is this foundation in development best practice, the ability to follow a process, that will stand the developers of the future in great stead, irrespective of technology change or innovation.
Technology education has always created conflict – should an individual opt for a vendor-led course to attain a specific skill set, or opt for a broader, more generic education? What should companies expect from recent graduates and how much additional investment is required to make individuals work ready? While the rise in AI and blockchain, machine learning and IoT may appear to suggest that young developers need to push the boundaries, the fact is that it has never been easier to access and embrace new and innovative technologies. What is required from the developer of the future is the right mindset; the ability to balance innovation with proven solutions, the skills to communicate with clients and colleagues and the vision to create technology solutions that truly enable, not disable, a business.