CircleCI is a hosted continuous integration and delivery platform where the entire pipeline lives in a single versioned file, .circleci/config.yml, committed alongside the application. There is no job to click together in a web interface and no server to administer. A push to the repository triggers a pipeline; the pipeline runs workflows; workflows schedule jobs; each job runs steps inside an executor that CircleCI provisions, uses once and destroys.
That disposable-execution model is the thing to understand first, because it changes how you write a build. Nothing persists between jobs unless you say so, so CircleCI gives you three distinct mechanisms that beginners routinely confuse: caches, which are keyed, immutable and optimistic — used for dependency directories; workspaces, which pass files forward from one job to the next inside the same workflow; and artifacts, which are outputs kept for humans after the run. Choosing the wrong one is the most common cause of slow or subtly incorrect pipelines.
Above that sit the features that make CircleCI worth learning properly. Executors let one config build on Docker, a full Linux VM, macOS or Windows. Workflows express fan-out, fan-in, branch and tag filters, manual approval gates and matrix jobs. Orbs package reusable commands, jobs and executors so config stops being copy-pasted across fifty repositories. Contexts hold organisation-level secrets with access restricted by group, and OIDC tokens let a job authenticate to AWS or GCP with no long-lived key at all. Test splitting with recorded timings turns a thirty-minute suite into a five-minute one, and self-hosted runners bring jobs back inside the network when compliance requires it.
Why this skill matters now
Teams adopt CircleCI to stop maintaining CI infrastructure, and then discover that the skill has simply moved. Nobody is patching a controller any more, but somebody still has to design a workflow graph that fails fast, write cache keys that actually hit, decide what belongs in an orb, and keep the credit bill from doubling every quarter.
The two failure modes are consistent. The first is a config that works but is slow and expensive: no test splitting, caches that miss on every run because the key has no checksum in it, large resource classes used everywhere because someone bumped them once to fix a timeout. The second is a config that is unsafe: secrets as plain project environment variables visible to every job, no restricted contexts, deployment jobs that any branch can reach because nobody wrote a filter.
There is also a migration dimension. A large share of CircleCI work is conversion — from Jenkins freestyle jobs or an older CI system into pipeline configuration that has to reproduce existing behaviour exactly before it can be improved. That needs someone who understands both shapes, not just the new one.