How to Find a Developer Friendly CMS
When choosing a CMS you aim for taking that decision once for the next few years to come. And likely you plan changes to your website throughout the years that need coding effort. In a developer friendly CMS it takes less effort to implement changes. Less effort commonly means it’s cheaper. So let’s see what makes a CMS developer friendly.
The first thing to consider when choosing a CMS with developers in mind is it should be written in a language your developers know. While there are a few people around feeling proficient in any number of languages, most people prefer one over the other. If you plan on using your existing in-house developers, you should find out which programming language they’d prefer. If you’re looking to implement your project using development partners or freelancers, you should take a look at the market and availability of developers. Some languages have higher rates than others, some have lower availability. For a start, take a look at the stack overflow 2016 survey results.
A CMS consists of different components, for example a database access layer, package- and dependency management or a rich text editor component. The more of those components are built with techniques your developers are familiar with, the less time it takes them to get started. As an example in the open source PHP world, doctrine is a widely known database abstraction layer. Using a CMS that makes use of doctrine will mean one less thing to learn.
The easiest way of extending the functionality of a CMS is by adding existing add-ons. Why develop something yourself, when you could download and install an add-on that meets your requirements? Look at what addons are available for the CMS you are considering. Are they up-to-date? Is there documentation? How much do they cost? Even if an add-on is not meeting your needs, if it’s open source it can provide a starting point for developers.
Chances are you need individual development done in your project. To get as cost-efficient as possible the CMS you are choosing should be easily extendable. A CMS that provides good APIs for building new add-ons and entry points for extending and customizing existing functionality gives you the possibility to make it your own. A workflow doesn’t fit your needs? Customize it. You are using an own DMS that you want to integrate? Build an add-on.
Any API, component or add-on is only as good as its documentation. Documentation is the starting point for a developer to look at, the reference if there is a problem and the key to getting a quick implementation done. But documentation is not only important while working up to the launch of your project. Over the years your system will get updates. While minor updates in nearly all systems are non-breaking, the major upgrades usually aren’t. A good CMS system provides migration documentation for all breaking changes and guides on how to update the system - making sure you can use it for years to come.
Even the best developer in the world gets stuck sometimes. When that happens, it’s nice to know that there are places to get help. Support can come in many forms, forums, mailing lists, chats or even newsgroups. The important thing is, that there is some form of support for the CMS you chose. For developers one of the first addresses to look at is Stack Overflow. To get an idea how your system is supported, look if you can find it there and see if there are answers. There might be other channels for different CMS, make sure to take a look at them. You are expecting to have some complex questions needing quick answers? See if there is professional support through partners or Service-Level-Agreements (SLAs) for the system itself and for its add-ons.
In the end if you have developers for your project, let them decide how the CMS you chose fares in terms of developer friendliness. Judging the development friendliness is only part of the selection process of a CMS - find more things to consider by reading Susi's article ‘What to look for in a CMS’.