Drupal

In the middle of its life cycle, Drupal 8 introduced in core Media, and for about a year, continued to add functionality until it became usable. Media has a library, allows reusability, and allows adding custom fields to the media entities. Some of the websites I worked with were built with the file_entity module that made the files fieldable, and entity_browser module, which provided a UI library for reusing files. That module combination is incompatible with Media and needed to be dismantled, but not before the functionality got migrated to Media. Here are some thoughts on this process.
Making Drupal into a technological marvel has cost it losing the lower segment of community, it's "soft underbelly", and Drupal has steadily been bleeding market share ever since. That is why WordPress is growing in market share, and Drupal is dropping. Here's why.
There are 3 aspects that make Drupal 8 more robust than WordPress code-wise: selective loading, quality, and caching. Generally the object-oriented code (OOP) is slower than the functional code, and having more code is slower than having less code. Drupal 8 has way more code than WordPress and it's OOP. So why did Drupal 8 beat WordPress by average 20% during my tests? Here's why.
Drupal 8 has a steeper learning curve than some other popular CMS, but it is more powerful and flexible, better suited for powerful web sites.
Some CMS are like Duplo - very easy but very limiting. Others are very flexible but you need to code a lot. Drupal is the golden middle.
2017 is practically over. I am sitting with the family, thinking about the old year and the new. It has been an interesting year for me as a web developer. Here are my top points (very subjective, of course), written down below.