Some initial thoughts…
In one sense it seems that the skills in demand are frequently changing. For example, it seems that during one period (say, 60s-70s) COBOL programming was in demand, During another period (say, 90s) Visual Basic, Delphi and SQL programming were in demand. During another period (say, 2000s) Flash and Java were in demand. During another period (say, 2010s) web technologies such as JavaScript, HTML, CSS were in demand. Currently (2020s) it looks like web technologies, AI, data science (like Python, R) and blockchain (like Java-ish smart contracts) are in demand.
In another sense, many of skills are built on computing foundations that were already laid since decades ago. COBOL was built on procedural programming. Visual Basic, Delphi and Flash were built on structured programming, object-oriented programming and graphical user interface principles. SQL was built on relational algebra. Java was built on object-oriented programming and later some type theory. JavaScript and Typescripts were built on object-based programming, functional programming, type theory, some mathematics (e.g. the nature of undefined). And so on.
If one had learned these abstract fundamentals early on, maybe it would have been much faster to learn the more concrete manifestations later on. Maybe this speed of skill learning would have permitted access to jobs demanding those skills at a time when it was most profitable to know them.
Maybe this then is the value of traditional computer science education? Unfortunately it’s taken me until almost 40 years of age being uneducated to realise that. ![]()
| Fundamental | Application |
|---|---|
| Procedural programming | COBOL, ALGOL, etc |
| Structured programming | Visual Basic, Delphi, C |
| Object-oriented programming | Delphi, Java, C#, C++ |
| Graphical User Interface principles | Visual Basic, Delphi, CSS |
| Relational algebra | SQL |
| Type theory | Typescript, Haskell |
| Functional programming | Javascript, Typescript |
| Object-based programming | Javascript |
| Mathematics | Javascript, R, Python |
| Statistics | R, Python, Blockchain |
