View profile

Weekly Newsletter On Technology For IT Recruiters - Issue #1

Sandor Turanszky
Sandor Turanszky
Hey Everyone,
Welcome to the first issue of my Weekly Newsletter On Technology that is designed specifically for Recruiters.
Today, I will explain CMS - this topic has been one of the most requested.
The structure of the newsletter is not set in stone yet, and I will add more content as we go to maximise the value for you.
I’ve set up a Slack where I am always available. Feel free to join the Tech For IT Recruiters workspace.
If you like my newsletter, please spread the word by sharing the link.
Cheers! Sandor. More about me on LinkedIn

What Is a Content Management System?
3 min. read
The general idea of a Content Management System (CMS) is to provide the functionality to make changes to the content and make it available on websites without involving developers.
Usually, non-tech people, for instance, content managers create and modify blog posts, texts for landing pages, images, videos and much more. 
A modern CMS can be more than just a tool for managing content. You can use it to add new pages to websites or create a blog or even a quite complex application from scratch. The latter is technically a website builder.
Monolithic CMS components
Monolithic CMS components
Website builders have the following components:
  1. Authoring app - a UI where you create the content.
  2. Content delivery app - the website builder logic that makes the content visible to visitors.
  3. Database - where content is stored.
  4. Head - visible part, a website where content is presented for visitors (created by the website builder in 2).
CMS can be self-hosted or SaaS (Cloud-based Software-as-a-Service). 
Self-hosted CMS means that you have to set up a server and a database or use a hosting provider for running it. This approach gives more customisation options compared to SaaS CMS but requires CMS developers to set up, customize and maintain it.
SaaS CMS are online platforms where anybody including non-tech people can easily build a website following simple steps. Such websites are hosted automatically and you will need to pay a monthly subscription fee in most cases. This removes all the headache related to hiring developers and maintaining the website, but can be limited in features and customisation options as well as often have basic website UI templates (design/themes).
Self-hosting open-source CMS are usually monolithic apps. SaaS can have a more robust architecture under the hood, e.g. microservices.
WordPress.org, Drupal, Joomla are popular website builders.
Wix is a popular SaaS website builder. WordPress.com is a SaaS version of Wordpress.org.
Some CMS are geared towards e-commerce, for instance: Magento.
There are a lot more open-source and paid SaaS CMS but they share more or less the same idea.
Headless CMS is an alternative to website builders. Headless means no customer-facing interface/website, but an API layer instead.
Headless CMS components
Headless CMS components
Headless CMS has the following components:
  1. Authoring app - a UI where you create the content.
  2. Database - where content is stored.
  3. API for integrating content where the content is going to be used (websites mobile apps, etc).
Because headless CMS is used purely for managing content, it does not have the website builder component. And the view layer is replaced with API layers meaning - here is your content, use it where you need. 
Anyone can manage content with headless CMS. For example, I use Contentful headless CMS to manage blog posts for the newsletter you are reading. I had a website hence I did not need a website builder CMS. But I could also go with WordPress if I wanted to - it’s often a matter of preference. 
In contrast, building the simplest CMS without a website builder component would take me weeks and it would be just a fraction of the features that Contentful offers. 
Headless CMS can be self-hosted or SaaS.
For example, you can either self-host the Strapi CMS or use it as SaaS.
Contentful, Sanity or Prismic are SaaS CMS.
The bottom line:
  • CMS can be a website builder or headless. 
  • Website builder CMS creates a fully functional website and provides functionality for managing content. 
  • Headless CMS gives you tools for managing content and using it where needed.
  • Both types can be self-hosted or cloud-based and free (open-source) or paid.
  • Self-hosted website builders and headless CMS require technical knowledge to get them up and running. 
  • SaaS CMS are easy to use and are the first choice for non-tech people.
  • Skills required to work with self-hosted and SaaS CMS can vary to a great extent.
CMS developers
3 min. read
Self-hosted website builder CMS is built using programming languages, frameworks, libraries and databases. In many cases they have a monolithic architecture hence developers may be required to be full stack - they need to know both Frontend (FE) and Backend (BE) technologies inc. a database used in a CMS. 
It is worth noting that CMS developers may not always be required to know as much about Frontend related technologies and security and performance stuff as Frontend developers because a lot is often handled by a CMS out of the box.
The knowledge of a CMS is critical. For example, to work efficiently with WordPress, Joomla, Drupal, Magento or any other similar CMS, developers need to know how they work under the hood. 
Since website builders are often used to create blogs, landing pages, business websites, e-commerce platforms, SEO is an important requirement. 
ℹ️ SEO stands for Search Engine Optimisation and is critical for ranking in search engines such as Google, Bing, Yandex and driving organic traffic to websites. 
WordPress is written in PHP language and can use MySQL or MariaDB databases. HTML, CSS, and jQuery JavaScript library are used in Frontend. WordPress has a plugin architecture and is easily customizable using add-ons (plugins).
WordPress CMS developers must be proficient with the above-mentioned technologies as well as have experience with creating plugins and themes (customisable design) and writing scalable, reusable and secure code.
The required skills for a CMS developer can be summarized as follows: 
  • The architecture and features of a CMS in question - this makes one a CMS developer
  • HTML, CSS, JavaScript, jQuery library, JavaScript and maybe other frameworks and libraries
  • Backend programming languages, a backend framework and libraries (if used) for the CMS in question
  • A database (most likely SQL)
  • SEO basics
  • Understanding of SSR
  • Understanding of the plugin architecture and how to build plugins (where applicable)
ℹ️ jQuery was a very popular JavaScript library released in 2006 and most if not all legacy projects depend on it. 
ℹ️ SSR stands for Server Side Rendering and is a process of preparing the page with all the needed data on the server and sending it to the browser where it only needs to be rendered (displayed to visitors) without doing anything extra (e.g. making any additional API request). SSR plays a critical role in SEO.
SaaS website builders CMS can be CMS based, for example, WordPress.com is using a modified version of WordPress.org under the hood. Think of it as a cloud platform for WordPress. Other SaaS CMS may use no CMS but various Frontend and Backend technologies instead.
Headless CMS are different in a way, that they have a secure API instead of the client-facing website (where content is presented for visitors) and are likely to have a microservices-based architecture.
Most likely, companies that hire candidates for headless CMS development will look for Frontend and Backend developers rather than full stack.
However, it can be that the authoring app is built as an SSR application using JavaScript and Node.js and maybe even an SSR framework. In this case, companies may look for a full stack JavaScript/Node developer. 
Backend/Node developers will be required to have experience with creating secure and scalable APIs (REST API or GraphQL)
Similarly to website builders, working with self-hosted headless CMS requires developers to know the core feature of the CMS in question.
In the case of SaaS headless CMS, candidates aren’t CMS developers. They use regular FE and BE technologies that are used in most projects.
The bottom line:
  • CMS developers working with self-hosted CMS are required to know the ins and outs of the CMS in question.
  • Although CMS developers are full stack, they do not need to be as proficient with FE technologies as FE developers. 
  • CMS developers must have experience with databases and backend programming language.
  • CMS developers must have experience with a backend framework if CMS in question is built on top of it.
  • SaaS headless CMS usually use regular FE and BE technologies. Hiring for headless CMS development is similar to hiring FE and BE developers.
Frameworks vs CMS
1 min. read
Frameworks are built with programming languages and provide a standard and structured way of building web applications. Frameworks promote design patterns, code reuse, best practices and reduce development time.
Frameworks are used for rapid application development whereas CMS is an application in itself. Like any other application, CMS is built with Frontend and Backend technologies that include frameworks among other things.
With that said, CMS and frameworks can be compared only with regards to choosing a development path - whether to pick a CMS for developing a website and deal with possible limitations when serious customization will be required or use a framework and build a website that fully meets your requirements. 
Both approaches have benefits and disadvantages. The choice depends on the business requirements, for example, time to market, usage of specific technologies or even on personal preferences.
CMS development is fast but it uses specific technologies and architecture that you can’t change while with frameworks you can pick any technology and architecture you like and have unlimited customisation options at the price of slower development. 
For example, if you pick WordPress, you will use PHP and MySQL or MariaDB database and will be limited to its monolithic architecture and specific hosting providers. While going with a framework gives you tons of options for Frontend and Backend technologies as well as architectures and deployment options.
Did you enjoy this issue? Yes No
Sandor Turanszky
Sandor Turanszky

Weekly Newsletter On Technology For IT Recruiters

If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.
Malta