I've been a developer for coming up to 3 years now, and for all 3 of those years I've been employed by companies that primarily choose Symfony as their framework of choice. Therefore, for the past 36 months it would also be fair to say that I've been suffering from some serious FOMO!...I've been craving myself some Eloquent, Facade driven, MVP inducing, Laravel action...and in this post I want to try and explain why!
Before I get started, let me just explain what this post is and what this post isn't.
For starters, this isn't a Symfony v Laravel Battle Royale nor is this a technical analysis of the Laravel framework. At the end of the day, it's not for me (or anyone else for that matter) to, list the pros and cons of Active Record v Data Mapper and tell you what is right or wrong for your project's. The empowering thing about Software Development is that there are often many ways to solve the same problem and many different tools that exist to help you solve those problems how and in whatever way you see fit.
What this post is, is simply a quick look at some of the reasons that I've decided to learn Laravel and a few of my observations so far as a fringe member of the Laravel community.
Top of the pops
Now I'm not wanting to seem like a sheep or an advocate of following the crowd, but it's hard to argue against the popularity of Laravel. it's the most popular backend framework (according to Github stβrs) and with that popularity, comes great responsibility opportunity.
A quick search on [insert recruitment site of choice here] and you will see that the majority of PHP Developer roles have a preference for someone with Laravel experience. I experienced this first hand during a recent job search, and while it's easy to argue that a solid PHP developer with a good grasp of the fundamentals and some knowledge of MVC should be able to pick up a new framework pretty easily, it certainly wouldn't do any harm to gain a little experience with Laravel.
Also, let's not forget that learning things is fun. Is there ever a good reason NOT to learn something new if given the chance?
For me personally, whilst I don't have an immediate need for any Laravel experience, personally or in my current role, I have decided to dedicate some time and effort towards learning Laravel, in my own time, simply to broaden my horizons and increase my value as a developer for any future opportunities that might arise.
it's just another string to add to my metaphorical bow πΉ!
A quest into the unknown
Even if you're in love with 'framework X', you will never fully appreciate it until you've given 'framework Y' (and probably 'framework Z') a try. In my case, I've been fortunate, or maybe unfortunate π€·ββοΈ, that so far in my career both of the companies that I've worked for have a tech stack based around the Symfony framework and whilst I love it and have a decent level of proficiency, I haven't actually tried anything else.
Being still relatively new to this career, I can't help but want to explore new things, technologies...and design patterns. I don't yet know whether Facades are good or bad, I've read the arguments for and against, but I'm yet to form my own opinion. Similarly, while I like Doctrine, would I love Active Record and Eloquent? Ultimately, these are the questions that I'm asking myself, and the only way I'm going to find an answer, my truth, is to embrace my inner artisan.
Community, the key to it all!
The number one reason that I want to learn Laravel (and the reason I think you should too) is the community. I don't know any other community like it and it's just something that I want to be a part of, something that excites me. Now, that might seem strange, choosing to learn a technology based on the community surrounding it, but for me, being part of something bigger, something so positive, is really appealing, especially considering my non-tech background.
One thing I notice in particular is how friendly, passionate and supportive the community is. This starts at the very top and reverberates down through the ecosystem. 'Best practices', whatever they are, take on somewhat of a supporting role (in some developers opinion) to simply having fun, being creative and enjoying your work. I can appreciate that. To be truly great something doesn't have to be perfect, but it does have to be more than just a well engineered product. No matter the industry, a product's success depends on the community around it, Apple being another prime example.
Despite opinions to the contrary, one thing that the Laravel community is not is elitist. The Laravel community instead decide to embrace newer and less experienced developers, producing a multitude of resources and tutorials catering for developers of all abilities. In my opinion Taylor Otwell recognised early on that by making something easy to use and accessible, would only serve to encourage uptake and growth, that's why the API is intuitive and the doc's are fantastic.
Many others have, of course, piggybacked on this by using Laravel and it's expansive community as a platform to earn a living, but most also provide quality content, packages and products free of charge, meaning that spending money in order to learn Laravel is certainly not a prerequisite. Infact, many just do it for the love and the satisfaction of giving back.
The rest....they just do it purely for the fun of it.
Fun, seems to be a recurring theme throughout the Laravel ecosystem. From the developer experience and joy of using the framework to the ultra cool, fun conferences and events. Take a look at the recent Laracon US website, it's clearly evident that this is a far cry from the drab, sterile, function room style conference that seem to be the norm in the wider tech industry.
At the end of the day, whilst development is my chosen career, who wouldn't want to be part of a community that transcends the underlying technology?
That's the why, what about the how?
So like me, you're convinced that you want to learn Laravel but don't know where to start? Fortunately, when it comes to learning Laravel, the resources are endless. As mentioned previously, the official documentation is excellent and has recently benefited from a fresh coat of paint and Laracasts is also a solid place to start if you have a penchant for Netflix. I'm currently working my way through the Laravel from Scratch series, which has everything you need to get started and is totally free π!
I'm also a big advocate and consumer of podcasts and it will come as no surprise that there are ample Laravel related podcasts. The Laravel Podcast, Laravel Snippet, and The Laravel News Podcast to name a few popular ones, with No Plans to Merge currently the highlight of my week.
There really are countless quality resources, almost too many, but fortunately the good folks at Tighten have done the hard work and curated a list of free resources to help someone new to Laravel in getting started. You can check that out over at https://onramp.dev.
Go forth, build cool π© and have fun doing it!
So, that's why and how I'm learning Laravel and if you are too, I'd love to know why, how, or what resources you are finding particularly useful. Tweet me or come and discover the community!
If you enjoyed this post and are interested in similar stuff, check out my next post: Jigsaw Clean Blog π.
Want this and other exclusive content delivered straight to your inbox? Sign up for my newsletter π°.