For the past 6 or so years, I have been a Developer that primarily works with Drupal and I've pretty much been married to it for better or for worse.
Drupal has had many ups and downs over the years, and its steep learning curve gives Drupal Developers an edge over the market. As a Drupal Developer I've never had an issue finding a job, and it has a very strong community. Until now...
A series of unfortunate events has lead me back to hitting the bricks right around the time that Drupal's core version 8 has been released and is gaining popularity.
More often now I'm seeing job descriptions say things like, those who have not launched a Drupal 8 site need not apply. When I left my former job I was using Drupal 7 though... Crap. Don't get me wrong there's still a lot of companies and organizations that primarily work with Drupal 7, because it's quite the hurdle to update.
What makes this so difficult you ask? Well, one of the key differences is that it is essentially a different architecture entirely. Though it has a lot of backwards compatibility, the entire core has shifted from a procedural code base with some object oriented elements to using Symfony and object orient design patterns, a completely new templating engine, and many new concepts such as configuration. All that great documentation that exists in the community, doesn't exist for Drupal 8 yet since not enough people are using it. Though many of the key contributed modules provide you with a Drupal 8 version, it's not an easy switch.
If you're a Drupal Developer you know that up until Drupal 8 the code base consisted of working with arrays galore. Drupal 7 and pervious versions are basically really crappy design patterns with not much room for optimization, and a really superb caching layer to pick up the tab. Since I come from an OOP background I was pretty happy to learn that Drupal had made this switch, but other Devs that are sipping Drupal's kool-aid don't seem to question why such a leap? Why didn't Drupal's creators make better choices regarding design patterns in the first place?
That's when my eye started to wonder to other frameworks.
I started to play around with Laravel, and what a lean and elegant framework it was! Especially coming from something as bloated as Drupal, it was love at first code. Unlike Drupal, which does provide you with a GUI for things like constructing queries, and making Restful APIs, you have to know how to code, and optimize your own queries. Instead of the whole contributed module system which has a lot of overhead, you simply get model, view, controller. The documentation is very straight forward (there's a lot of stale documentation floating around on Drupal.org). It also has great support for Full-stack Developers using Bootstrap and VueJS.
So here I am about to accept a job offer after 6 years with Drupal, now a Laravel Developer. From the moment I first met Drupal it has been a wild ride, full of trials and tribulations. Over the years it has changed A LOT. Some day I might return, you never know. It's nothing personal Drupal. Laravel is a much better match for me. </3
Top comments (35)
Congrats šš
I've fallen in love with the elegance of Laravel too. Coming from a similar world of Wordpress and their messy codebase with endless hooks š¤¬, discovering the simplicity and particularly power of Laravel was career changing.
I find myself looking at projects now and thinking "that'd be so much easier to do in Laravel".
I'm in the same boat. Been doing mostly WordPress development for the last two years for work. Or what I like to think of as "WordPress hell." š
Discovered Laravel about a year or year and a half ago and started doing the majority of my side projects with that. Working with Laravel is so much more pleasant.
I wouldn't use WP for projects generally unless they are CMS based only.
If it's actual saas sort of work, obviously other frameworks would be better to work in -- Laravel included. I've been doing Laravel off-and-on in my own time on random projects. Been really liking it.
Yeah, if I didn't have to use WordPress for work (which, ironically, is for a SaaS product), I wouldn't either. Been pushing to move it to Laravel, but that's a long road.
WP is very similar in that regard! I would argue though that the Drupal community is far more cultish lol! It's like a religion for some people.
Yeah, I can't quite say the WP community is cultish. I think they have a strong community, but they're not too far out there. š
I'd say, all communities are more or less religious-like, be it Drupal, WP, Laravel or CodeIgniter, or even language based like NodeJS or PHP.
I'm totally in the same boat here. Because I work on a lot of small business sites I still reach for WordPress in 90% of cases, but if I'm doing anything much more complicated than managing content I usually reach for Laravel.
This is doubly true if I have to mess with WordPress's rewrite API š
I agree that switching from Drupal 7 to 8 is not easy but for me who worked a little bit with Symfony framework before it is actually pretty nice when you get a grasp of it.
Good luck with Laravel, I never could get into it but I have a few friends that love it!
From the little experience I have working with D8, it is a massive improvement. Remember what D6 was like? Haha.
And Configuration Management is the best feature in Drupal 8. Something that can't be found in another CMS.
I'm in a similar position. I seem to have gotten myself pidgeonholed as a Drupal developer over the last few years and D7 is fundamentally terrible. Every bad idea that went into PHP was at some point taken as inspiration for D7, from the wild naming conventions and random argument order to the way some things are randomly objects and others arrays and how nobody can tell whether something will throw an exception or a fatal error or return boolean false instead of any number of other falsy values even when you look at the documentation.
I wish I was in your shoes!
So true! Don't forget the giant and vague dblog if something does go wrong. 300 errors that the cron is trying to run while it's already running. Can you be more specific Drupal? Ha! As much as I feel your pain, I'm glad someone can relate. The salary difference between taking a step back, learning a new framework and continuing with Drupal significant, but I just feel like it will be better in the long run. Curious, what do you think about the community?
The community is so big it's difficult to say anything general about it - I like #drupal-support on IRC, but the contrib module community often seems to think their modules are a lot better than they actually are, and that their way of doing things is the right way... like every big project I guess.
I completely agree with that. I also think a lot of times they try to accomplish too much functionality at once rather than break it out into parts. I always look for the light weight contrib modules. Bigger module, bigger problems.
Long time Drupal developer here (started around 6.2) and I've recently been working with Laravel I've found working with a proper MVC framework a breath of fresh air.
Coming back to Drupal 8 after that has been a bit of an eye opener, but I can see the huge strides made from Drupal 7.
I agree that the main thing with Drupal is the infamous learning curve. The documentation on d.o is pretty awful too. There is an initiative to get it up to date, but that is a gargantuan task. Until Drupal sorts that out I think it will always have a steep learning curve.
Hopefully if you ever make your way back you'll be pleasantly surprised :)
Cheers
Tom
Great comments! I'm going to try my best to keep current with D8 as well. There seems to be some pretty big moves to decouple D8 and use a JS framework for the front-end. As far as storing/accessing content Drupal does an awesome job at that.
Laravel has been good to me as a PHP framework. Drupal was a headache for me personally, I'll do it, but not super happy. Wordpress is hooks all over, but Wordpress has it's purpose. I've been bouncing around various frameworks in PHP especially. Some C#, been happily staying away from Java.
Oh, also, congrats on the new job. :)
Geez I just got a Drupal 8 dev position to migrate from 7 to 8...after reading this I don't know lol From working with Wordpress I already know how site building can completely destroy ones programming skills. I'm perfecting my vanilla js on the side but would like to eventually really learn a backend language. Would Laravel be a good way to learn "legit" PHP?
congrats on the new joby job; sounds like you are pumped to dive into a new framework and let your skills really stretch out more. larvel is worlds away from the drupal world, I hope the next phase in your dev journey is fruitful.
not to blast drupal, too much, but I do like to see this happening more with devs moving away. I can't begin to tell you how many times i've gone back to look at former projects to see some random company took over the account and migrated everything to drupal. :sighs:
Thanks! There are some very good things about Drupal, like a non-developer can make simple changes without touching a bit of code. However with that much control over the administration area, keeping multiple DEV/PROD environments esp with multiple developers in sync is a nightmare. IMO they really haven't found a good way of handling that even with Drupal 8. I come from a background of CakePHP and CodeIgnitor before Laravel hit the scene. So it will be nice to go back to my MVC roots!
I am also a drupal developer and done a lots of work in drupal 6, 7 and 8. Now I am working in laravel and I can say its really a great fremwork. Even I did not have idea about some of the unique features already available in laravel till I have started working on it.
Thanks Wendy, I am right now trying to decide whether I want to go back to Drupal, taking a deep dive into their most recent version or try Laravel. Since the learning curve will be steep for me in either direction I'm going to try Laravel because of the better design and larger user base. Thanks again for your article.
Tracy
detropia.com
Your Clients what say, they pay for laravel? For example in woocommerce you can make a shop in 1-2-3 days, in Laravel you need around 1-2 weeks to they alocate you , how much , or what you do to delivery a cms?