Skip to content
Getting Digital

Software Engineering & DevOps Courses

The craft around the code - architecture, testing, version control, CI/CD, and the tooling that keeps software shippable

This section is about the distance between software that works and software that keeps working. Almost every developer crosses it eventually, usually after an incident, and the crossing is what most salary jumps are paying for. The courses here fall into two camps that are easy to confuse: engineering practice, which is about how teams produce reliable code, and the operational toolchain, which is about how that code reaches and survives production.

Practice first, tools second

Version control done properly, tests that catch regressions, code review that finds design problems rather than typos, and the discipline of small changes: none of these need a single vendor tool, and all of them are what separate a codebase you can change safely from one you cannot. Courses on this layer are less fashionable and more durable. The tool layer is where the money and the job titles are: pipelines, containers, orchestration, infrastructure as code, observability. Learning the tools without the practice produces an automated version of a bad process.

Why tool courses often disappoint

A pipeline course shows you a pipeline for an application that already has tests, a container that already builds and a deployment target that already exists. Your situation has none of those, which is why the knowledge does not transfer on Monday morning. The fix is to bring your own project: take something you have written, add a test, put it in a container, build the pipeline that deploys it, then deliberately break the deployment and fix it. That sequence teaches more than any three courses watched end to end.

LayerPracticeTools you will meet
Source controlSmall commits, branches, review, a readable historyGit, GitHub or GitLab
TestingKnowing what is worth testing and what is theatrepytest, Jest, JUnit, whichever your language uses
PackagingA build that is the same on every machineDocker, a registry
DeliveryDeploy on merge, roll back without panicGitHub Actions, GitLab CI, Azure DevOps pipelines
InfrastructureEnvironments described as code, not clicked into existenceTerraform, Bicep, CloudFormation
Running itKnowing something broke before a user says soPrometheus and Grafana, or the cloud's own monitoring
ScaleOnly when one machine is not enoughKubernetes; see the CKA exam

A realistic order

  • Git beyond commit and push: branches, rebases, resolving conflicts without panic.
  • Automated tests, and the judgement about what is worth testing.
  • A container for your own application, then a registry, then a deployment.
  • A pipeline that runs the tests and deploys on merge.
  • Observability last but not optional: logs, metrics and knowing something broke before a user reports it.

Where a credential helps, it tends to be platform-specific and hard to fake. Microsoft's DevOps Engineer Expert is mostly about delivery practice and carries further than its name implies; the Certified Kubernetes Administrator is performed on live clusters and is respected for exactly that reason; GitHub Foundations is the entry paper for the platform half of the table above. The hosting and cloud page maps the infrastructure underneath all of it.

Concepts behind this area

Cloud Computing

Serverless Computing

Serverless computing runs your code only while an event is calling it: the provider conjures an execution environment on demand, throws it away afterwards, and charges for work performed instead of for capacity sitting idle.

Cloud Computing

Containers

A container is an application packaged together with the libraries and configuration it needs, run as an isolated process on a host that is already switched on, so the same package behaves the same way on a laptop, in a build pipeline and in production.

Cloud Computing

Object Storage

Object storage keeps every file as a self-contained object (the bytes, a unique key and some metadata) inside a flat bucket you read and write over HTTP, with no drive to mount and no directory tree underneath it.

Hosting & Infrastructure

DNS (Domain Name System)

DNS is the distributed lookup system that turns a hostname such as getting-digital.net into the IP address a browser can connect to, by walking a chain of nameservers whose answers are then cached for a lifetime the domain's owner publishes.

Hosting & Infrastructure

SSL/TLS

SSL/TLS is the protocol that encrypts the connection between a browser and a server and, by way of a certificate signed by a certificate authority, proves the server is entitled to answer for the domain in the address bar.

Hosting & Infrastructure

Domain Name

A domain name is an address in the internet's public namespace that you rent through a registrar for a yearly fee, and it remains yours only while the registrar account holding it stays paid up and under your own control.

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.

The field, explained: Hosting & Cloud · Programming & Web Development

This category belongs to the field Programming and Software Development, which maps the topics, concepts and certifications behind these courses.

Studying this because something has to run in production? Once the concepts land, the practical question is which rung of the hosting ladder fits; the hosting guide compares the options and states what each provider is the wrong answer for.

Frequently asked

Is DevOps a job or a way of working?
Both, awkwardly. It began as a way of working that removed the wall between development and operations, and the industry turned it into a job title for the people who build the pipelines and platforms. Courses reflect the title; the interviews often test the practice.
Do I need to be a developer first?
Not formally, and plenty of people arrive from systems administration. But you will be automating the delivery of software, and it is very hard to reason about a build you could not have written. Enough programming to read and modify code is the practical floor.
Kubernetes early or late?
Late. It solves coordination problems that appear at a scale most learners have never seen, and learning it first means memorising abstractions with nothing underneath them. One container on one machine first, and the reason for the next step will announce itself.
How much infrastructure knowledge do I need?
Enough to be dangerous in a shell and to read a network diagram. Linux, networking basics and one cloud platform cover most of it; the hosting and cloud page maps that territory.
Terraform or the cloud's own tool?
Terraform if you may ever touch a second cloud or want the skill to travel; the cloud's own language, Bicep on Azure or CloudFormation on AWS, if your employer has standardised on it. The concept is identical and the syntax is a weekend; learn whichever your next pipeline will run.

Why Learn Software Engineering & DevOps?

What separates writing code from engineering software: clean architecture and design patterns, automated testing, Git workflows, containers and Kubernetes, and continuous delivery pipelines. Also home to low-code and no-code approaches for shipping without a full stack team.

Last reviewed 26 September 2026 · Getting Digital