Umbraco is a .NET CMS you host yourself, in Azure, on a Windows or Linux server or on Umbraco Cloud. Companies hire an Umbraco developer when the existing agency is gone, when the site is stuck on an old major version, or when an in-house .NET team needs extra hands. If you want the managed headless product instead, read the Heartcore page.
What do Umbraco developers actually do?
- Upgrade between major versions, which means a rebuild for Umbraco 7 and 8 sites and a planned step for later ones.
- Build document types, compositions and Block List layouts that editors can use without calling a developer.
- Write backoffice extensions: custom dashboards, property editors and section trees.
- Expose content through the Delivery API for a Next.js or Nuxt frontend.
- Integrate CRMs, payment providers and identity systems from .NET services.
- Migrate from WordPress, Joomla or a custom CMS, with redirects mapped.
What we check before putting someone on your Umbraco site
- They use modern .NET habits: dependency injection, composers, migrations and Entity Framework Core, not static helpers copied from old tutorials.
- We check whether the candidate designs document types around editors or dumps everything into one huge page type.
- They can rebuild indexes, write custom ones and explain why a Delivery API index goes stale.
- They know uSync and Umbraco Deploy for moving schema between environments, and what happens when two developers change a document type.
- They can load balance Umbraco with its distributed cache and keep media in blob storage.
Which Umbraco jobs are the riskiest?
Two stand out. Version jumps from Umbraco 7 or 8 are rebuilds, because the architecture changed with the move to modern .NET. Teams underestimate them and lose weeks to custom property editors that must be rewritten. The second is hosting changes: moving Umbraco to a load-balanced environment fails quietly when media storage and the distributed cache are not set up. We ask for the hosting diagram before we estimate.
This page covers self-hosted Umbraco CMS, including Umbraco Cloud. If you only want a managed API with no .NET code of your own, the Heartcore route is simpler.
First weeks on an Umbraco engagement
We start with a code and content review: Umbraco version, NuGet packages, custom property editors and what runs on a schedule. The first shipped change is small and reversible, for example a fixed composer, a trimmed document type or a hosting fix. Then comes the plan, an upgrade path or a feature backlog agreed with your team.
What stack sits around Umbraco?
Typical setups use .NET with SQL Server or SQLite, Azure App Service or containers, Azure Blob or S3 for media, and Azure DevOps or GitHub Actions for pipelines. A headless frontend adds Next.js or Nuxt. We match developers to the cloud and CI you already use.
Engagement models
Ongoing .NET work suits a dedicated developer. If you need a frontend or QA engineer as well, a team extension covers it (see IT staff augmentation and dedicated teams). Upgrades and migrations fit fixed-scope projects. The rate band is $50 to $150 per hour, depending on role and seniority.
Need the whole project, not one developer?
Our Umbraco CMS development services cover architecture through launch. Compare other platforms in the headless CMS developer hub.