Ryan Weaver is a writer for SymfonyCasts, founder of KnpLabs US. Ryan is from Grand Rapids, MI, a Symfony evangelist and the protagonist behind all Symfony and PHP video tutorials at KnpLabs; moreover, Rayan is a great speaker and shares his knowledge through PHP conferences. He is the core author of Symfony 2 documentation.
Shahzeb: Hello Ryan, thank you for talking to us today! Before we start, how about you tell our readers about yourself?
Ryan: Hi, I’m Ryan – husband of the lovely Leanna Pelham, Dad & Symfony groupie based in Michigan, USA. Aside from astronauts… and maybe someone who gets to work on space stuff, I have the coolest job in the world: getting paid to write tutorials for Symfonycasts!
Shahzeb: Can you tell our audience a little bit about yourself? How did you start your journey? How did you enter the PHP field? Any interesting stories you would like to share about your journey?
Ryan: I learned PHP in high school… because… what better language (20 years ago) for a *terrible* programmer to be able to figure out? PHP was friendly when I needed a language to be exactly that.
I do have a funny story about how I got into Symfony. I had gotten “pretty“ good at PHP… and so, as a 20-year-old, I was convinced I was AWESOME. This was in the very early days of frameworks when Ruby on Rails was first coming onto the scene. One day at a coffee shop, a friend showed me “rails scaffolding.” I watched him generate – with ONE command – code that would have taken me 10 hours to write. And… his code was better. I instantly thought: I need this for PHP! I’ve been with Symfony ever since.
Shahzeb: What were the challenges you faced in the beginning, and how did you overcome them?
Ryan: I was a bad programmer for a long time… and that’s ok… that’s normal! The Symfony documentation (way back for version 1) was awesome for beginners – I owe everything to its authors.
And… that’s not a bad way forward in general. Ideally you *enjoy* coding. If something isn’t fun, try something else. Find your niche: some technology that’s fun to use & learn, that speaks to you.
Shahzeb: Ryan, you are a prominent name in the Symfony community and you are working at SymfonyCasts. Kindly let our audience know more about your job role. On what projects are you working lately?
Ryan: I’m very lucky to have a day job where I get to build video tutorials. We’re releasing one right now about Symfony’s new “authenticator” security system, which is sweet! I get to dig deep into cool tech. We’re going to cover EasyAdmin soon, design patterns, and a lot more. We also just translated our main Symfony 5 course into Spanish. So, si hablas español, por favor díganos lo que piensas.
My “other” job is working on Symfony itself. The entire community has been working *furiously* for the upcoming Symfony 6 (in November 2021!). The codebase will be fully-typed (with backwards-compatibility layer of course!) and contain a ton of new features – you can watch for those on the Symfony Blog.
Personally, I’ve been working on the Symfony UX project, which is basically a toolset around Stimulus and Turbo (tools also used in the Ruby on Rails community) to allow you to write professional JavaScript and get a single-page-app experience on your “traditional” apps. It’s… completely turned my outlook on web apps upside down – and it has been SO much fun to work with.
Shahzeb: Can you share your experience with PHP, and how important it is for you? What would you like to recommend to students learning PHP web development?
Ryan: My advice to students is simple: find something that you *want* to build – some pet project, your blog, whatever. Have a destination first that gets you excited. And then use & learn your tools to get there. I would, of course, also recommend learning Symfony ;). Beyond all of its benefits, it will give you the best grounding in object-oriented practices.
Shahzeb: You have been teaching for many years. How do you see the future of Symfony in the presence of so many frameworks?
Symfony is strong and continues to grow – it’s really amazing. I think Laravel – which is technically our competition in the PHP Frameworks market – has helped a lot, it’s popularity has been driving more people to PHP in general.
There are two main things that keep me very optimistic about Symfony in the future. First, for several years, Laravel was definitely easier to learn than Symfony. That caused us to innovate: trying to make Symfony easier to learn without sacrificing object-oriented best practices. Since Symfony 4, I think we have that: you get to “have your object-oriented cake and eat it too”, to use a, probably very English phrase :). It means that you get to follow object-oriented best practices *and* code quickly.
The second reason I’m optimistic about Symfony is that, if you’re building an API, we have one of *the* best tools around for it: API Platform. And if you are *not* building an API, because we leverage Turbo & Stimulus, you can make an app that feels like a single-page application. We have the best of both worlds.
Stop Wasting Time on Servers
Cloudways handle server management for you so you can focus on creating great apps and keeping your clients happy.
Shahzeb: Which type of web hosting would you prefer for your clients? Is conventional, shared hosting, viable for the new projects that you’re dealing with?
Ryan: Ha! The hosting that requires you to spend the least amount of time setting it up and thinking about it.
Look: If you like servers, provisioning, etc. more power to you. You should definitely follow that passion. If you like programming… and want your site to magically show up on production, then you should use some sort of Platform as a service. In general, there are a lot of options out there – from Docker & Kubernetes to serverless stuff to more packaged “PaaS” types of things. For me, the biggest draw is “ease/quickness of use and maintenance, which is what PaaS (platform as a service) does so well.
Shahzeb: What are your thoughts on hosting solutions such as Cloudways? Do you think these solutions add value to PHP-based applications?
Ryan: For me, anything that adds some “easy” to my infrastructure is a win. I’ve done a lot of stuff on AWS. It’s, of course, powerful. But it’s painful to connect the pieces. Then, when I come back 1 year later, I can’t remember what anything means. If you can have a hosting provider that lets you “get the stuff you need” (server, web server, cache, database, etc), that’s a huge win.
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? What do you enjoy doing when you’re away from your laptop?
Ryan: I’m a dad of a 5 year old… so I’d say my hobbies include lego’s and “being my guy”, which means I become a dinosaur, or ninja, or elephant and take to the other characters in whatever story is being invented. Occasionally I’ll also go for a run – I *love* run and used to do marathons before dad-life :).
Shahzeb: Who do you think we should interview next and why?
Ryan: Nicolas Grekas, who is one of the leads of Symfony. I get to float around and work on JavaScript, documentation and developer-experience stuff on Symfony. Want to know what *real* work is happening? Nicolas is the person to ask – he’s awesome!
Shahzeb: Can you please share some snapshots of your office space or your current workstation during the COVID-19 pandemic situation for our readers?
Ryan: This is a photo of our guest bedroom… which was suddenly converted into a workspace in 2020. The analogue standing desk is mine (a gift from Leanna).
Shahzeb: Thank you once again, Ryan!
Shahzeb Ahmed
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]