Skip to content
Getting Digital

Programming & Web Development

Programming is several layers stacked on top of each other, and they age at wildly different rates. Knowing which layer one is standing on is most of the career advice there is.

13 concepts · 2 courses · 18 certification exams · 4 related fields

Programming looks like one skill from the outside and behaves like five from the inside. What separates them is not difficulty but speed of decay. The knowledge at the bottom was true when today's senior engineers were students and will still be true when they retire. The knowledge at the top has a useful life measured in release notes. Both are real, both are worth having, and what costs practitioners most dearly is mistaking one for the other: pouring months into a framework as though it were a foundation, or refusing to touch any framework at all and ending up technically literate and unhirable. Almost every wasted year in the field is one of those two errors wearing different clothes. The sections below are about the craft rather than the catalogue: which layers deserve slow attention, which deserve fast attention renewed every few years, and how to tell which one a learner is standing on. Python is the one language with a glossary entry of its own, because choosing it is a career decision rather than a syntax preference: it has become the default first language of data and AI work.

  • How machines and networks behave. Processes, text encodings, the relational model, and what happens when a request leaves the browser: DNS resolution, a TLS handshake, a web server answering with a status code. HTTP/2 and HTTP/3 changed how the bytes travel, not what the verbs and status codes mean, and SQL has outlived every library written to spare people from learning it. Half-life: a career.
  • A language and its idioms. Syntax, data structures, the standard library, error handling, the package ecosystem and its traps. It moves, but slowly and with warning: Python 2 reached end of life in January 2020 after years of announced deadlines, and JavaScript's route from callbacks to promises to async/await took most of a decade. Half-life: a decade.
  • Engineering practice. Version control, tests that fail when you break something, review that surfaces structural faults instead of spelling, small changes, and reading code you did not write. This layer barely moves; only the tooling beneath it turns over, and even there answers hold for years: Git won version control, containers became the ordinary unit of deployment. Half-life: a career, disguised as a chore.
  • Frameworks and libraries. React introduced hooks in 2019 and a generation of class-component tutorials aged overnight. Redux went from near-mandatory to niche once the framework and the data-fetching libraries absorbed what it was for. Webpack configurations people were proud of were deleted without ceremony when Vite made them unnecessary. Half-life: three to five years.
  • Products, APIs and versions. A specific SDK, a cloud console, a model endpoint, this quarter's deprecation notice. Necessary, usually what you are paid to operate, and worth exactly one afternoon of reading at a time. Half-life: months.

Slow layers first, fast layers on purpose

Start at the bottom two and learn them together: one language, plus enough of the machine underneath it to explain where your program's data lives and how it got there. A year is not too long. Pick Python if your interest points at data, automation or AI, JavaScript if it points at interfaces. Either works; alternating between them every six weeks works for nobody. What ruins this stage is the illusion of progress: it compiled, it ran, it printed the thing, and none of that tells you whether you understood it. The diagnostic is whether you can change the program without fear. The layer beginners most often treat as optional is the third one, and it is the layer that hiring filters on. Version control past commit and push, a test suite that catches a regression, the habit of small reviewable changes, and the nerve to open an unfamiliar codebase and find the part that matters. None of it is glamorous, and all of it transfers to every job a developer will ever hold. It gets skipped because its value only becomes visible when something goes wrong, which is necessarily after the decision to skip it. Frameworks come late, and deliberately. Late is not never: job descriptions are written in the fast layer, and a developer who refuses to go there is arguing with the market rather than working in it. Learn one framework properly, ship something real with it, and treat the second as a translation exercise rather than a fresh education. The technology and programming course sections route what to study in what order. Where a credential is worth anything to a developer it is operational rather than linguistic, which is why DevOps and Kubernetes exams turn up on developer CVs and language certificates do not.

Generated code moved the bottleneck

Assistants changed exactly one variable: how fast plausible code appears on the screen. They changed nothing about what makes code correct. The program still has to hold under inputs nobody thought about, still has to fail in a way somebody can diagnose at two in the morning, and still has to mean the same thing next quarter when a dependency moves. None of that was ever a function of typing speed, which is why writing less of the code yourself frees less time than the demos suggest. Notice where the help is strongest. An assistant is most reliable on abundant, stable, well-documented material, which is precisely the bottom layers a patient learner could have acquired anyway, and least reliable on the layer that changed most recently, which is exactly where people want to lean on it. It hands over yesterday's idiom, because yesterday's idiom is what most of the written record contains. The failure mode from the inside is undramatic. A developer accepts a function that looks right and passes the obvious case, accepts the next because the first was fine, and somewhere in week three is maintaining a codebase they have never read. Debugging it costs more than writing it would have. The value therefore moves toward a short and specific list: stating requirements precisely enough that correct has a definition, writing the test before the implementation so acceptance is not a vibe, reading diffs quickly and with suspicion, knowing which parts of a system must never be wrong, and being able to operate what was shipped. Every one of those lives in the slow layers. The tooling got faster at the part that was never the hard part.

The field is mapped topic by topic, with its certifications and guides, at Programming and Software Development.

Concepts

Programming & Web Development

Python

Python is a general-purpose programming language that became the standard interface for driving numerical and machine-learning code written in other languages.

Programming & Web Development

Git

Git is a distributed version control system that records the history of a set of files as a graph of snapshots, lets many people work on branches of that history at once, and merges their work back together.

Programming & Web Development

HTTP

HTTP is the request-and-response protocol of the web: a client sends a method, a path and headers, a server answers with a status code, headers and a body, and each exchange stands alone unless the two sides agree to carry state in a header.

Programming & Web Development

REST API

A REST API exposes an application's data as resources at stable addresses and lets clients read and change them with HTTP's standard methods and status codes, so that the protocol itself carries most of the meaning.

Programming & Web Development

JSON

JSON is a text format for exchanging structured data: values are strings, numbers, booleans or null, arranged in ordered arrays and in objects of name and value pairs, and every mainstream language reads and writes it without a library of its own.

Programming & Web Development

GraphQL

GraphQL is a query language for APIs and a server-side runtime for answering those queries: a client asks for precisely the fields it needs from a typed schema, in one request, instead of calling several fixed endpoints and discarding most of what comes back.

Programming & Web Development

Microservices

Microservices is an architectural style in which one application is built as a set of small services, each running in its own process, owning its own data and talking to the others over lightweight network calls, so that each can be built, deployed and scaled on its own.

Programming & Web Development

Continuous Integration (CI)

Continuous integration is the practice of every developer merging their work into a shared mainline at least once a day, with an automated build and test run on each merge, so that integration problems surface within minutes of being created rather than weeks later at release time.

Programming & Web Development

Unit Testing

Unit testing is the practice of writing small automated checks that call one piece of code in isolation, a function, a class or a module, with known inputs and assert on its outputs, so that a change which breaks that behaviour fails a test within seconds of being made.

Programming & Web Development

Full-Stack Development

Full-stack development is the ability to build both halves of a web application: the front end that runs in the browser (HTML, CSS and JavaScript) and the back end that runs on a server (a language, a framework and a database), plus the API that joins them.

Programming & Web Development

Framework (vs Library)

A framework is a body of code that imposes a structure on the application built with it: it decides how files are organised, when the application's own code is called and how its parts talk, whereas a library is code the application calls when it chooses.

Programming & Web Development

Object-Oriented Programming (OOP)

Object-oriented programming is a way of organising a program as objects, each holding its own data and the operations allowed on it, with classes as the templates objects are made from, so that the code models the things it is about rather than the steps the computer takes.

Programming & Web Development

Data Structures and Algorithms

Data structures are the ways a program arranges data in memory (arrays, lists, hash tables, trees, graphs) and algorithms are the step-by-step procedures that work on them; together they decide whether an operation takes a millisecond or an hour as the data grows.

Courses in this topic

Related fields

FAQ

Python or JavaScript as a first language?
Python if you are drawn to data, automation or AI work; JavaScript if you want to build things people click on. Both lead to paid work and both are slow-moving enough to reward a year of attention. The mistake is not the choice, it is switching every few weeks and arriving nowhere.
How do I know the fundamentals have stuck?
You can change a program you wrote a month ago without dread, explain where its data lives at each step, and predict what will break before you run it. Finishing tutorials is not evidence. Reading a stack trace and knowing roughly where to look is.
Do I need a degree to get hired?
No, but you need evidence an interviewer can inspect: shipped projects, a contribution history, code somebody can run. Degrees still help most with large employers, structured graduate programmes and visa paperwork. For the rest of the market the work speaks louder than the certificate.
Do AI assistants make learning to code pointless?
They make producing code cheap and judging code expensive, which is close to the opposite of pointless. Someone who cannot read, test and correct generated output is exactly the person the tools put at risk. Someone who can is faster than they have ever been.
Are certifications worth it for a developer?
Rarely for the language itself and often for the operational layer around it. Exams that require labs, such as the DevOps, cloud and Kubernetes ones, are hard to fake and map to work developers are asked to take on as they become senior. Treat them as proof of a skill you already practise, never as a substitute for one.

Last reviewed 26 September 2026 · Getting Digital