I believe that in the UK and US there is a lack, nay absence, of pragmatic computing education which matches the needs of the current business world of information technology (IT). Current computer education, school and university, appears to me to be computer science based, very theoretical and does not follow the logical sequence of activity in the development, use and management of business applications that I observed in my long IT career spanning many industries.
(In this blog I use "business" in its broadest sense to mean the "world of work," be it commercial, scientific, medical or industrial.)
In fact, the curricula appear to me to be a collection of topics with little synergy and no end-to-end flow which IT projects have. As an analogy, consider the following scenario which I believe is a parallel to this.
A technical course on the motor car is run at Knowalot College, covering the internals of the car; Carnot cycle, adiabatic expansion, electronic ignition etc.; very detailed and demanding. At the end of the course, the student will probably have no concept of the motor car as vehicle, might not know how to drive, read a map or plan a journey from A to B. It is almost certain that he/she will not know how to decide on which car, van or lorry to recommend for the business he works for. In short, he/she is doomed to be a head-under-the-bonnet techie forever. That job of course is necessary but it cannot be classed as covering "motor transport," simply a technical corner of it.
Not only that, but the words "business" or "requirements" do not even appear anywhere in CS curricula I have searched. Only under the title "problem solving" could one guess that it refers to business. This is not to say CS education per se is bad; it just isn't a comfortable fit to the current computing world although it is gradually finding a niche in various areas of computing. These areas include big data, data science, cognitive and similar computing, and cybersecurity.
However, a broader knowledge across key IT concepts and architectures is needed since no person in IT is an island and anyone totally specialized will find it difficult to cross-communicate where his/her field overlaps with another, particularly in meetings or presenting to the business.
What Are the Differences?
In this part of blog, I will try to demonstrate this CS vs. IT dichotomy but first some outside view of the differences between CS and IT:
The proposition I put to CS people as to what modern IT is goes roughly as follows:
■ IT needs to be presented as sequence of related activities within a framework, not a simple collection of topics.
The flow of IT projects can be represented as:
- Business idea/need
- Specification of business flow
- IT Architecture (product-free)
- Populate the design with Technology
- Code/Buy software
- Retire systems and Start again
(There will of course be reviews and the like throughout this sequence of activity.)
You can see "coding" in context here; students and teachers cannot see this far.
■ There should be a pragmatic, contextual "wrapping" around major topics, for example, "this is used in the oil industry to map the subsea strata in the search for oil deposits." – the "so what?" test.
■ Emphasize important aspects of IT as a framework in which to teach topics. Over the years I have decided that FUMPAS represent the key elements (others can be found within these):
These are the criteria to map onto any business IT project to whatever degree of detail (reflecting its importance) the business decides.
■ Two large topics totally absent from CS curricula are mainframes, their operating systems and high performance computing (HPC). Much of the world's financial work is done on mainframes and its influence is growing, believe it or not. HPC computing is now a big field and is expanding beyond pure science into medicine, financial modelling, AI and other power hungry areas. Not to even mention them is dereliction of IT teaching duty, whatever the syllabus mandates. This sort of add-on could be done by selection of a suitable reading list, even if it is not in the syllabus.
CS school and university syllabuses I have studied do not fit the "real world" IT scene in breadth, depth or velocity of change and I therefore generated a keyword list to demonstrate this dichotomy. The list then developed into a learning Glossary, now on Amazon Kindle (check tomorrow for Part 2 of this blog), to show where IT fits in the business world and the topics which make it tick. The CS world can then see if their output matches these requirements.
So what? The world has gone mad on the "digital revolution" impacting nearly all business. I believe this issue needs to be addressed vigorously and quickly to tackle the much discussed "IT skills shortage." The current computer education, at least in the UK, will not achieve this aim, still less cater for the skills needs post-Brexit. I see no difference between UK CS and US CS, ergo much of what I say also applies the US.
Finally, I cannot find a syllabus anywhere I have looked that remotely covers IT as demonstrated by the list and subsequently the Glossary. I see this as a start in resolving the "IT Skills issue," a mantra that has been trotted out since the year 2000, if not earlier.
As Mark Twain said; "Everybody is talking about the weather, nobody is doing anything about it." I hope the Glossary is a beginning.
Part 3 of our three-part blog series on the shortcomings of traditional APM solutions for monitoring microservices based applications explains how the alerting and troubleshooting capabilities of traditional APM do not address the evolving requirements of monitoring microservices based applications ...
In a digital world where customer experience defines your business, is your APM solution doing its job? This may seem like a strange question to open a technical blog on Application Performance Management (APM), but it's not. With customer experience today largely driven by software, we think there's no more important question to ask ...
According to the NetEnrich 2019 Cloud Adoption survey, 68% of enterprise IT departments are using public cloud infrastructure today, and 27% of respondents said that doing so is part of their near-term plan ...
Organizations and their IT teams are not in sync when pursuing their digital transformation strategies, according to a new report released today by The Economist Intelligence Unit ...
Having the right tools and good visibility are critical to understanding what's going on in your network and applications. However, as networks become more complex and hybrid in nature, organizations can no longer afford to be reactive and rely only on portable diagnostic tools. They need real-time, comprehensive visibility ...
When building out new services, SaaS providers need to keep in mind a set of best practices and "habits of success," which cover their organization's culture, relationships with third-party providers and customers, and overall strategic decisions and operational know-how. If you're a SaaS application provider, here are five considerations you need to keep in mind ...
In the coming weeks, EMA will be gathering data on what we believe is a unique research topic — approaching DevOps initiatives from the perspectives of all key constituents. We're doing this to try to break through some of the "false walls" created by more niche, market-defined insights, or some of our industry hyperbole. Here are some of the directions we're pursuing ...
An application on your network is running slow. Before you even understand what the problem is, the network is blamed for the issue. This puts network teams in a dangerous position — guilty until proven innocent. Even when network teams are sure an issue doesn't stem from a network problem, they are still forced to prove it, spending sometimes significant amounts of time going through troubleshooting processes, looking for a problem that doesn't exist ...
Tap and SPAN. It's the same thing, right? That answer would be wrong. Some network engineers may not know the difference, but there are definitely clear and distinct differences between these two types of devices. Understanding these differences will help you elevate your game when it comes to network performance monitoring and application performance monitoring ...