On Sitecore Development
Index
TLDR;
Sitecore development is mostly about displaying data from a model on a page, but also involves a number of other activities, some in common with any other kind of web development, and some specific to Sitecore.
Summary
Richard Seal, Principle Partner Technical Advocate @ Sitecore, summed up Sitecore development well:
... most of what we do with Sitecore, especially headless CMS work, is just displaying some data from a model on a page. There isn't usually much complexity to it.
The bit about headless is important to understand because headless marks a distinct departure from the traditional process of Sitecore development, whereby Sitecore becomes an abstracted data source that is consumed by a front-end technology such Next.js. This is in contrast to traditional Sitecore development, where the front-end and back-end are more tightly coupled. This shift is hugely significant.
Broad Areas of Sitecore Development
The Sitecore Developer Certification Exam is broken down into the following competencies:
- Sitecore structure & platforms
- Security & user management
- Item management
- Layout & placeholders
- Components, controls, & renderings
- Sitecore Content Serialization
- Containers
Based on my experience, I would also add:
- Information architecture
- Template design
- Configuration
- Building components
- Workflow and publishing
- Tracking and personalization
- Emails
- Forms
- Analytics
- Content delivery and caching
- Integrations
- Search and indexing
- Commerce
- Content serialization
- DevOps and deployment
- Upgrade and migration
- Performance tuning
The Difficulty / Complexity of Sitecore Development
As Mr. Seal said, the difficulty and complexity of Sitecore development is generally low. Once you have your software design patterns in place, there's a lot of repetition and boilerplate code.
I see the evolution of Sitecore development as being similar to Linux system administration. In the early days, there was little documentation and only a small community of people knew how to use it. As time went on, it became more mainstream, and now it's relatively easy for any developer to learn and get help with challenges along the way.
As a fun thought experiment, I asked ChatGPT to generate a list of software development tasks from simple to complex. Here's what it came up with:
- Simple Websites (Static or CMS-based)
- Mobile Apps (Non-Real-Time, Basic Functionality)
- E-commerce Websites
- Sitecore Development (Including Headless CMS Work)
- Corporate Internal Tools (HR Systems, CRM)
- Mobile Apps (Real-Time Features, Complex Interactions)
- Business Process Automation
- Data Analytics Platforms
- Enterprise Resource Planning (ERP) Systems
- Video Games
- Banking and Financial Systems
- Healthcare Systems (Electronic Health Records, Medical Devices)
- Telecommunications Systems
- Automotive Software (Infotainment, Navigation)
- Flight Systems (Avionics, Air Traffic Control)
- Critical Infrastructure (Power Grids, Water Supply, Transportation Networks)
- Space Systems (Satellite Control, Spacecraft Operations)
- Military and Defense Systems
Generally, I agree, though where Sitecore development truly stands in that list depends on the project. Most Sitecore projects are quite simple, but some are extraordinarily complex.
The "Commoditization" of Sitecore Development
Sitecore has made it very clear that they're working to improve developer experience and decrease costs and "time to market". In doing so, Sitecore is making Sitecore development easier and more accessible to a wider pool of devs. This is both good and bad, depending on who you ask.
In the past, Sitecore development was a niche skill that required a lot of training and experience to master. Now, with headless development, Sitecore development is becoming more like any other kind of web development. At the same time, we have two major trends happening in the Sitecore economy:
- Increased global interest and competency in Sitecore development India and South America (just to name a few), as well as a trend toward more offshore development.
- Rapid advancement of large language models such as ChatGPT that are highly proficient at generating code; particularly around popular languages and frameworks such as JavaScript, React, Next.js, etc.
Those two trends come at a time where Sitecore now ships with pre-built components, boilerplate code, one click deploys, and composable architecture that is simple to integrate.
For these reasons, the value of low to mid level Sitecore developers are likely decreasing... However, the value of Sitecore architects and consultants is likely increasing, as they are the ones who can design and lead the implementation of the complex solutions that Sitecore is capable of. That advanced skillset is less likely to be commoditized in the near future.
The Role of Sitecore Developers is Always Changing
In a certain sense, Sitecore development can be thought of in two distinct periods:
- Traditional (C#, MVC, Razor, etc.)
- Headless (JavaScript, React, etc.)
With traditional Sitecore development, there are many "manual" steps and esoteric rabbit holes that inexperienced devs and LLMs have more trouble navigating than headless. With headless, the process is more straightforward and the learning curve is less steep.
That said, headless development in Sitecore has its challenges; especially for developers who are used to the traditional way of doing things. The shift to headless is a big one, and it requires a different skillset and a lot of learning to get up to speed.
Ultimately, Sitecore development is a broad field that encompasses a wide range of activities, from simple to complex. The role of a Sitecore developer is always changing. Your future will be dictated by the projects you work on. Some devs will be on the cutting edge, and others will continue to work with traditional Sitecore development for years to come. Both are valuable.
Remember: there is no such thing as an apple core.
-MG