Content Management Systems (CMS) are great, they get you up and running in (next-to) no time. They're the perfect solution when you need your site to look good and to be live in minimal time and with minimal effort.
You might only know a handful of those but, there are many, many CMS out there.
Right now, TomTheDev.com is hosted on Squarespace which (with their popular Bedford template if you're curious) was perfect when I started.
Squarespace allows you to build very snappy, beautiful and responsive sites. The downside to this might be fewer customization options and limited custom coding possibilities (unless you're willing to dive into their Developer Platform).
Since the platform is built on ReactJs, sites are very quick but you will have a hard time trying to find a solid styling workflow with "hash_generated" class names and ids and the result will often feel (and look) quite "hacky".
Through the use of their API, you can use the data from your site, though to feed your application ("Bringing Squarespace Data to your React Native App").
But let's not get ourselves distracted here :)
Here's a table that compares Squarespace, WordPress, and GatsbyJs in terms of features.
Before thinking of Gatsby, I tested WordPress for some time and still have a blog there.
WordPress is of course a fantastic platform that powers almost a 1/3 of all websites out there so it's a legitimate CMS and it's rather developer-friendly if you're ok with going through the learning curve (I happen to love PHP so I'm ok with that).
The one thing I considered when thinking about this move was everything I would be able to regain control of.
Gatsby lets you use all the plugins you want so you can tailor it to your workflow!
For example, I can use the nice SCSS syntax I love in my styled-components!
As I'm now a Junior Web Developer, I want to get as many opportunities as I can to learn new techniques, workflow, tips and methods! What good is a CMS for that?...
If you also are a programmer or an aspiring one, I urge you to step away from your everyday CMS and create a site from scratch, event just a landing page. You will learn tons of things by practicing!
Next episode will be added later this week about how I'm going to import assets (mainly posts but not limited to) from Squarespace to my new platform.
Spoilers: yes I'm looking at you Cloudinary :)
As usual, let me know if you have any questions or suggestions!