Perforce is a centralised version control system built for very large codebases and very large files. The server — Helix Core, historically p4d — owns a depot containing every revision of every file, plus a metadata database that records who has what and which revisions they hold. Clients define a workspace, a mapping between depot paths and local disk described by a view specification, then sync files down, open them for edit into a changelist, and submit that changelist atomically. Nothing is committed until the whole changelist lands.
Two design choices set Perforce apart from distributed systems. The first is that the server stays authoritative: it knows exactly which files each workspace has synced and which are currently open, which is what makes exclusive file locking possible for assets that cannot be merged — the reason game studios, chip designers and CAD-heavy engineering organisations run it. The second is that branching is a server-side operation on paths rather than a graph rewrite; integration records are stored, so the server can tell you precisely what has and has not been merged between two codelines. Streams add a declared structure and inheritance model on top of that, replacing ad-hoc branch views with a described hierarchy.
Operationally, Perforce is a database you have to look after. Checkpoints and journals, not file copies, are the backup mechanism; protections tables control access by user, group, path and IP; triggers enforce policy at submit time; and proxies, brokers and replicas are how the system is scaled across sites without giving every office its own island of truth.
Why this skill matters now
Perforce occupies a niche that distributed version control never took from it. When a repository holds hundreds of gigabytes of binary art, hardware designs, build inputs or media, cloning the entire history to every workstation is not a workflow — it is an outage. Perforce syncs only what a workspace maps, locks files that cannot be merged, and keeps a single authoritative history that an auditor can read.
That keeps it central in industries where the codebase is not just source: games and interactive media, semiconductor and EDA, automotive and aerospace, medical devices, and any organisation with a monorepo large enough that Git tooling starts to complain. These are also industries with strict traceability requirements, which makes protections, triggers and the audit trail part of the job rather than a nice-to-have.
The demand is heavily weighted toward administration and integration rather than daily use. Running p4 sync is a morning's learning. Designing a depot and stream layout that scales, writing a protections table that an audit will pass, operating replicas and proxies across sites, building submit triggers that enforce policy without blocking delivery, and restoring a server from checkpoint and journals after a failure — that is what organisations actually cannot hire easily.