Shahzeb: Hello Maxime, thank you for talking to us today! Before we start, how about you tell our readers about yourself?
Maxime: I’m the CMS Squad Team Lead at Silverstripe. Silverstripe is the company that develops and maintains the Silverstripe CMS open source project. The CMS Squad is the team at Silverstripe that looks after the Silverstripe CMS.
I’m also a Core Committer on the Silverstripe CMS Project. The Core Committers are a group of developers from inside and outside Silverstripe that shape the broad direction of Silverstripe CMS.
Both of these roles lead me to contribute to Silverstripe CMS and to support the Silverstripe CMS community. That can take the form of producing new features, fixing bugs, drafting docs, answering questions, presenting at conferences, etc.
Shahzeb: When and how did you start your career with Silverstripe? Any interesting stories you’d like to share about your journey? What were some challenges you faced in the beginning, and how did you tackle them?
Maxime: I started working at Silverstripe in 2018 as a Senior Product Developer. However, I had been working with Silverstripe CMS for 4 years prior to that.
Going from being a user of Silverstripe CMS to a maintainer was an interesting experience. When you’re building a Silverstripe CMS site, you’re just trying to solve one problem for a specific client. However, when you’re working on Silverstripe CMS directly, you’re trying to solve problems for thousands of clients with varying situations. You’ll never meet most of them, but still have to account for all the weird and wonderful ways developers interact with Silverstripe CMS.
It requires quite a shift in thinking and approach. But it also exposes you to an entirely new class of challenges and really forces you to grow as a developer.
Shahzeb: You currently work at Silverstripe as a Senior Principal Product Developer CMS Squad Team Lead, What does a typical project look like? Could you share any interesting stories?
Maxime: We have an interesting mix of work. Obviously, when working on a mature platform that thousands of other projects rely on, a big chunk of your time will be spent on making sure things don’t break … and fixing them when they do.
Working on a widely used open source project also means that there’s lots of users out there competing for your intention. That can take the form of questions, bug reports, feature requests, pull requests, etc. A big part of my job is prioritising things and finding what’s the next most valuable job in our backlog.
But we also have to find a way to step away from the daily grind and identify key new features that will keep Silverstripe CMS competitive with other CMS solutions. That means creating a space for my team to think about big picture questions and seizing interesting opportunities when they come along.
For example, we recently had a partnership with the Google Core Web Vital team to implement out-of-the-box image lazy loading in Silverstripe CMS. That added a valuable new feature to Silverstripe CMS, but also gave us some great hindsight into how search engines like Google evaluate websites.
At the end of the day, the job of a CMS is to give a great foundation for developers to build upon and provide a great experience for content editors.
Shahzeb: What is your experience with PHP, and how important is it for you? What’s the go-to web solution for your SilverStripe clients?
Maxime: PHP is the main programming language we use day to day. A major consideration for us is making sure that Silverstripe CMS works on multiple versions of PHP simultaneously. That usually means that we don’t get to use all the new shiny bells and whistles that come with each new PHP release. Whenever there’s a new PHP release, a big chunk of our time is spent updating our code base to support it, which is not always as easy as one might hope.
When we do drop support for specific PHP versions, it’s very important that we communicate that well in advance to our users so they have time to plan their migration.
In terms of what we use for our own projects, we try to “dogfood” our products as much as possible. About half of our business is building bespoke websites for clients. The vast majority of those projects will use Silverstripe CMS. So as well as being the maintainer of Silverstripe CMS, we’re also one of its biggest users. That gives us a lot of insight into how developers and content authors use Silverstripe CMS and we try to feed that knowledge back into the product.
At the same time, we don’t claim that Silverstripe CMS is the most appropriate tool everywhere and anywhere. Sometimes that means offloading specific workloads to different platforms and then building integrations back into Silverstripe CMS.
Shahzeb: What makes Silverstripe CMS unique?
Maxime: Silverstripe CMS allows developers to quickly put together custom solutions for clients. For example, a few years ago, we were looking at tools to better manage risks for our business as part of our ISO27001 security certification. We were considering various generic SASS solutions when our CEO said “I bet we could probably build something like that ourselves”. He spent a weekend working on it and showed up at the next meeting with a nearly complete solution … our security consultants were gobsmacked. That’s a good example where Silverstripe CMS shines.
Silverstripe CMS is also designed to be modular and extensible. So if it doesn’t do what you need out of the box, there’s probably an open source module out there that does. And if that module doesn’t quite meet your needs, you can customise it with our versatile extension system.
Basically, whenever you need the ability to manage content, need to implement some bespoke functionality but don’t want to build everything from scratch, Silverstripe CMS is a great choice. In most cases, it will get you 80-90% of the way there … your developers just need to implement the bits that are very specific and valuable to your clients.
Shahzeb: What do you feel is the main reason people use Silverstripe as their CMS?
Maxime: If you’re building simple blogs or brochure sites, you’ll probably find that WordPress does a pretty good job. At the other end, if you’re working on a very complex application where you need the ability to control and optimise every last detail, then a framework like Laravel is a better fit.
Silverstripe CMS is somewhere in the middle. Basically, if your project requires a mix of common CMS functionality with some bespoke application features and you’re not looking to break the bank, Silverstripe CMS is a great option for you to get started quickly. And when your needs evolve to become more complex or intensive, you can be confident that there’s going to be a full set of power features to help you out.
Shahzeb: Which site do you feel makes the best use of Silverstripe’s features?
Maxime: As a company, one of the projects Silverstripe is most proud of is the New Zealand Government’s Unite against COVID-19 website. At the outset of the COVID pandemic, the New Zealand government needed a way to quickly and accurately communicate with its citizens. It’s not very often that you have to deliver a site that’s expected to get millions of hits within 48 hours.
And because this was a crisis, the requirements would change constantly as the situation evolved. This is a great showcase of how Silverstripe CMS allows you to deliver great custom solutions at scale in a short time frame.
Shahzeb: Who are the key contributors to the project? Can you tell us a bit about them?
Maxime: Like most long lived open source projects, we’ve had many contributors come and go over the years. There’s too many to make an exhaustive list, but if I were to name only a few, I would have to start with Sam Minnée, our original founders. In many ways, Silverstripe CMS was and continues to be his brain child.
Then you have people like Ingo Schommer who moved all the way from Germany to New Zealand to work on Silverstripe CMS … and literally wrote a book on it. There’s also Aaron Carlino, affectionately known in the community as Uncle Cheese, who was a tireless evangelist for Silverstripe CMS for years before moving from the US to come work for us in New Zealand.
But there’s literally hundreds of other developers who have contributed to the project over the years either by opening pull requests or issues against our core modules. Many more have open-source their code as separate modules to enhance Silverstripe CMS’s core functionality.
Shahzeb: If people want to get involved in the project, how can they do so?
Maxime: All our core modules are on GitHub and accept community contributions. We also have an active forum where people can ask and answer questions.
One of the big selling points of Silverstripe CMS is its rich module ecosystem. If you’ve built some cool new functionality and are in a position to share it as a module, that’s a great way to help the rest of the community.
Last but not least, documentation is always an underappreciated area in open source projects. Writing or updating articles for Silverstripe CMS documentation is a great and easy way to get involved with the project.
Shahzeb: Which type of web hosting would you prefer for your clients? In your opinion, is conventional shared hosting viable for the projects that you do?
Maxime: The LAMP stack is definitely the most common hosting approach for Silverstripe CMS, but there’s people running it on Windows, on Nginx or on IIS. Basically, you can get Silverstripe CMS running on any web server that can run PHP if you’re willing to spend some time debugging some issues.
There’s some people that are running Silverstripe CMS with other database engines like MS SQL or PostgreSQL. There’s some projects that use AWS S3 or other similar file storage solutions for their assets.
But the old trusty LAMP stack is the main hosting environment we optimise for and support. Other hosting configurations are supported on a best-effort basis.
In terms of shared hosting, it’s a pretty good low budget option for people who just want to put a site out there on the internet. Deploying a Silverstripe CMS site to that kind of environment is pretty much like deploying any other PHP application.
Shahzeb: What are your thoughts on hosting solutions such as Cloudways? Do you think these solutions add value to Silverstripe CMS applications?
Maxime: What hosting solution you choose will always depend on what kind of project you are working on. The more complex and demanding your project is, the more care you have to take into selecting your hosting solution.
As a PHP developer, the more I can outsource these concerns to my hosting provider, the better. If that provider can handle things like updating my composer dependencies or can fetch my code directly from my GIT repos, that makes it easier for me to automate deployment with a CI/CD pipeline.
When working on large scale ongoing projects, having multiple environments for development, testing, UAT and production along with the ability to rollback changes when things go bad, is a big plus.
For high traffic websites, you want to have access to services like auto scaling and Content Delivery Network. Most importantly, you want a hosting provider that has the capability to adjust their offering when your needs change.
Silverstripe CMS tries to alleviate some of those concerns. For example, we have a dedicated API for managing HTTP Cache Headers when your site is behind a CDN. Or we provide a configuration API that makes it easy to customise behaviour based on whether your site is running in UAT, development or production. We also have an hybrid sessions module that makes it easy to share sessions in multi-server environments.
Personally, I haven’t used Cloudways, however it ticks a lot of these boxes. For development agencies or customers looking for a great hosting provider for Silverstripe CMS, Cloudways is worth taking a look at.
Shahzeb: It can be hard to balance work with your personal life. So what do you enjoy doing in your spare time? Any hobbies you’d like to share?
Maxime: In these COVID times when a lot of us are forced to work from home, it can be difficult to separate work life from family life. I consider myself very lucky to work for a company like Silverstripe that had a very relaxed work-from-home policy way before COVID and is very accommodating when it comes to working flexible hours.
I’m also fortunate that, for me, Silverstripe CMS really is a passion first and a job second. When you work on a project you love, the hours always seem to go by more quickly.
When I’m not looking after my Silverstripe CMS baby, I’m usually chasing around two little girls, Élyse and Aviana. Otherwise, my main hobby is playing ice hockey with fellow Canadian expats in New Zealand.
Shahzeb: To inspire our readers, I would appreciate it if you could please share some snapshots of your office space or your current workstation.
Shahzeb: Thank you once again, Maxime!
Start Creating Web Apps on Managed Cloud Servers Now
Easy Web App Deployment for Agencies, Developers and E-Commerce Industry.
Shahzeb is a Digital Marketer with a Software Engineering background, works as a Community Manager — PHP Community at Cloudways. He is growth ambitious and aims to learn & share information about PHP & Laravel Development through practice and experimentation. He loves to travel and explore new ideas whenever he finds time. Get in touch with him at [email protected]
Keep reading the article at The Official Cloudways Blog. The article was originally written by Shahzeb Ahmed on 2022-03-03 03:20:53.
The article was hand-picked and curated for you by the Editorial Team of WP Archives.