Narrowing the gap between workforce skills and technology complexity
As technology evolves those tasked with building and maintaining it must continually learn new skills or be left behind. But have we now reached a crunch point where only a very small elite can grasp the skills needed to make technology work? Where this elite continually increase technology complexity rather than simplify it? If so what does this mean for the majority of technology professionals and the businesses they work for? This blog examines the questions from the view point of web technology before outlining some bold fixes.
Web = Complexity
Consider the following common technology vision.
Modern CIOs or CTOs want to deliver their services with web technology, ideally using cloud services, APIs and HTML5. The benefits are obvious. Business will save money through lower operational costs and greater change can be delivered in parallel due to the flexible, loosely coupled architecture. Customers will love the responsive web design. The whole thing will be delivered by a scrum of developers and designers led by a scrum master. Enterprise architects will ensure it all works end to end. It'll only take a year to replace the old system.
Such visions struggle to deliver the promised benefits, not due to the capabilities of technology, but due to people's ability to understand and operate technology, manage risks, co-ordinate dependencies and work together effectively. People and time are the limiting factor.
The web browser is just one part of the technology stack. Networking and backend services need to be considered, alongside inconvenient basics like authentication, access control and performance. The available solutions have increased dramatically in the last 10 years with Content Delivery Networks (CDNs), load balancers, edge caching and open ID all components for consideration with many vendors and few true standards. These factors increase complexity by an order of magnitude and require an entirely different set of skills to those used in the web browser.
There's no point delivering technology if it doesn't look good and simplify business. User interface designers and business process analysts are needed to ensure the solution works when used by real humans. Amazon, Uber, Google, eBay to name but a few have set a high standard for others to meet.
Finally using agile to co-ordinate all these people works well with a small group of talented individuals motivated and focused on a simple tightly defined task. It doesn't work when delivering complex large scale enterprise solutions. Considerably more co-ordination is required.
People, people, people
People want to improve their CV and earning potential. Gaining experience on the latest technology with the view to gain a pay rise or a new job is human nature. Where decision makers are actively promoting the use of such technology for such reasons a business will unwittingly find itself using technology which doesn't provide business benefit, or has taken on unjustifiable risk when assessed from the perspective of the business.
As salaries and day rates for technologists grow so does the number of people claiming they have the necessary skill. Consider the web designer who thinks they know HTML5 but doesn't know one end of a <div> tag from the other. They've gotten away with this by using Photoshop's HTML export function. Then there's the developer who claims they're a user interface designer but can't place themselves in the shoes of a technology illiterate end user and thinks sitting down with end users is in some way beneath them. Such skill inflation, whether conscious or unconscious, presents a false sense of capability which depending on the work environment may never be fully recognised. In a services business with a client who's happy to pay by the day there's no incentive to address the problem.
So much technology is now abstracted from the underlying computer technology professionals don't need to understand the basics. However a technologist who understands what is going on "under the hood" will create more efficient less error prone solutions. Such professionals are becoming increasingly scarce.
Technology has been and always will be about solving problems. Those entering the profession need to understand this and those that lack problem solving skills advised to choose another career path. Inherent in solving problems is an ability to learn and apply skills quickly. It never stops. The best technology professionals use their own time to experiment and try new things.
The gap between what is expected in the classroom and what is required in the workplace has widened over the past 20 years. As such many entering the workforce are not adequately prepared with the problem solving and initiative skills required to thrive in the technology industry. These skills are not encouraged in "exam factory" education systems.
Recruiters and HR professionals are increasingly under pressure to fill roles from a limited workforce. The capability bar is lowered and increasingly mediocre people perpetuate the aforementioned technology problems rather than solving them.
Some of the solutions to the issues outlined will take a long time to address. Organisations like techUK promote grass roots technology education. Members can do more. Under corporate social responsibility many larger organisations support staff spending a number of days each year on charitable projects. Imagine how much good could be done if every technologist working for techUK members spent 3 days a year each in class rooms helping inspire and teach the next generation of technologists? Teachers aren't well placed to teach technology, particularly at primary level which rightly is attracting a lot of government attention, but are brilliant at engaging and inspiring young people. The two working together will be brilliant. Plus the technologists might learn something along the way as well. Skills, Talent and Migration Group meeting is just one organisation that helps make this possible.
Businesses have a responsibility to be tougher with their technologists. Developers should be incentivised to produce fewer defects, to produce high performance code, to explain their working not just deliver "something" by an artificially imposed date. Web professionals need to understand the technology not just the highly abstracted view they're exposed to. Decisions concerning technology choices need to be robust, based on factors other than cost alone and given greater importance in business governance.
Not all the solutions to these issues are long term or hard to implement. Here's just some thoughts on how to start fixing the issues. Please share yours via social media or at the relevant techUK event listed at the bottom of the blog.
- Focus technology projects on fixed price and fixed specifications written in terms of business outcomes, not technology components.
- If agile project management approaches genuinely aid business goals use them, but be very wary of being 90% complete 90% of the time. Budget accordingly.
- When assessing the business value of a technology project always double time and cost estimates given by the people who will actually do the work. If the project is forecast to take 1 year, allow for 2 years.
- The selection of new technology no matter how small should be subject to rigorous evaluation based primarily on business benefits. This is particularly true of open source solutions which are often overlooked as they can be used without charge. What is the cost in terms of risk and people's time versus alternatives some of which may attract a small fee?
- If you don't need to use web technology, don't use web technology. Wouldn't life be so much simpler if all our requirements could be delivered on green screen terminals in a controlled environment?
- At interview ask web professionals to use notepad to write some basic HTML and CSS. Those that can't don't really understand it.
- When interviewing developers ask them to write the pseudo code for a divide and conquer algorithm, bubble sort, or linked list. Even give them the internet for research. Those that can't don't understand computing first principles and are more likely to produce inefficient code and introduce bugs.
- If being really good at one technology is hard, then keep the number of technologies used to the bare minimum. Fully explore what can be done with what you have before needing to become really good at something else.
- CIOs and CTOs who come from a business rather than technology background are increasingly common. Make sure they're supported by a strong and experienced technology leader who does understand the technology and is paid at least as much as them. The strength of these two individuals, their ability to work together and jointly lead a technology team is vital.
- Testing is very important. Don't compromise it because of time pressures, particularly when the solution is complex. Try and make it repeatable through unit testing or other automation.
- Take the technology team to Bletchley Park for a day out to remind them where it all began.
By simultaneously reducing the complexity of the technology deployed and raising the capability of technologists the problems the technology industry face will start to be addressed. Both short term and longer term actions are the responsibility of technology leaders who need to make more time available to address these challenges.
The subject is complex and the views presented designed to provoke thought and debate. Please join that debate through social media with the hashtag [#DigitalSkills] or via techUK working groups or initiatives. The following links provide dates to for the techUK CTO, Skills Councils as well as Code Club.
- Skills, Talent and Migration Group
- CTO Council - 17th Nov., 13.00 - 17.00
- Code Club - A nationwide network of volunteer-led after school coding clubs for children aged 9-11
About the Author
James Rosewell has 23 years' experience working in the IT sector in almost every role imaginable. He founded and is CEO of 51Degrees, a small technology business specialising in device detection, producing open source solutions used by more than 1.5 million web sites globally. 51Degrees tools simplify creating web sites for mobile, tablets and desktop devices ensuring business return on investment is optimised. Clients include Unilever, eBay, Microsoft, IBM and 1000s more with case studies on-line.
techUK recently published ‘We’re just not doing enough – working together to meet the digital skills challenge’, setting out 11 recommendations for industry and government to work together. techUK’s policy work on digital skills is driven by the Skills, Talent and Migration Group. If you are interested in finding out more about techUK’s Skills, Talent and Migration Group please contact Laura Weidinger.
For more information, get in touch: