Although an official release date has not yet been announced, now is the time to start asking yourself whether or not to upgrade your company’s website to Drupal 8. As a developer, there are some very obvious differences between older versions of Drupal and the upcoming version 8, namely the move to Symfony, but what effect does this actually have on a company’s decision to use it?
While Drupal is one of the better open-source options for building large Enterprise level systems, it still has a lot of limitations. Traditionally, it has been very difficult to bend Drupal to fit the needs of a very large, very custom project with a lot of very specific requirements. Many of the existing contributed modules were designed to be flexible and general enough to fulfill the needs of multiple use-cases. This is great for fast prototyping, and building out a minimum viable product, but often requires a lot of effort when getting into more specific use-cases. However, Symfony was designed for building very custom applications, and will give Drupalers a whole new level of control over their projects.
As is with any large project, they can be very costly to design and develop. While Drupal can help cut a lot of development time and cost, if you’re already familiar with a typical Drupal development cycle, you may be amazed with the level of control over the details, but it may also come with a cost.
Drupal is a resource hog and requires a very fine tuned server using various caching systems and other server-side performance modules to run at speeds comparable to a John Deere tractor. This has largely to do with the underlying pattern with which Drupal was structured, it loads every single module, every single time a page is loaded. While loading a single module may only be a matter of a few hundred milliseconds, on the scale of an Enterprise project that may have dozens of modules, making hundreds of database calls, it’s not hard to see that all of these requests add up very quickly and can bog down your site dramatically. Symfony, on the other hand, is designed to load only the resources it needs upon each page load. This will greatly decrease the amount of resources needed to run a Drupal 8 site.
Symfony and Drupal are, at their core, inherently different. By adopting Symfony and its entire infrastructure, the Drupal community risks losing many of its up-and-coming developers due to the added complexity. On the other hand, we will be merging with the Symfony community which may turn out to be a bigger gain.
Nowadays, good Drupal developers are very difficult to find. Many Drupal shops are singing the blues when it comes to hiring developers. The addition of the Symfony community means that there will be an entirely new collection of potential employees to choose from when scaling your development team. In addition to the increased hiring options, existing Drupal developers will be forced to learn a new skill(Symfony), thus increasing their desirability for potential employers.
This should be fairly obvious, but better developers means companies need to offer more competitive salaries and benefits to attract new employees and hang onto the ones they’ve got. This is not to say that Drupal is by any means easy, because it’s not, but Symfony is a much broader skill and requires a deeper understanding of the fundamental programming patterns, thus opening up more options for Drupal developers who aren’t too lazy to learn it and want to stay competitive.