Our first-ever episode of the Change Mode podcast is kicking things off nicely with a wonderful guest from the Symfony core team, Ryan Weaver. The Symfony docs lead and SymfonyCasts writer keeping us all in check when it comes to Symfony development. Join us for this episode as Ryan shares how to get started in open source, his methods for creating and managing great documentation and screencasts (including those dreaded translations), and how to balance open source and family life.
Donate to Ryan’s GoFoundMe page to support him in his battle with cancer.
We utilized ChatGPT to enhance the grammar and syntax of the transcript.
Ryan: I work on the core team of the Symfony Framework. Symfony is a PHP framework used to build web applications, but it also consists of independent libraries. Even people who don't directly use Symfony, like those working with Drupal or Laravel, benefit from its components.
I focus a lot on documentation and create tutorials for SymfonyCasts, the screencasting site for Symfony. I also contribute to other parts of the open-source PHP and Symfony ecosystem.
Marine: Nice. I'm interested in that. How did you begin working in open source? Was it an accident or a definitive moment?
Ryan: It's usually kind of accidental for everyone.
Marine: Yeah, usually someone ropes you in.
Ryan: Exactly. A long time ago, I was writing blog posts about Symfony because that's what you do as a nerd figuring things out. When Symfony 2 came out, it was a major rewrite. The lead developer, Fabien, needed someone to write the documentation. Somehow, he noticed me through my blog posts and asked if I wanted to write the documentation for Symfony 2. Of course, I said yes. In hindsight, he was probably relieved to hand over the task to someone else.
Marine: Amazing. So it was Fabien Potencier who asked you.
Ryan: Yeah, in English, we say "voluntold." You're not a volunteer; someone voluntells you to do it.
Marine: Smart. It's his fault.
Ryan: Yeah.
Marine: Okay, duly noted.
Ryan: And then it snowballs.
Marine: Exactly. You start with a little thing and then you get known for it. It's too late.
Ryan: Yep. And then you get excited because you know.
Marine: So you were already contributing by writing blog posts. Is that not open-source contribution?
Ryan: Yeah, it is open-source contribution. I should remember that because many people ask how they can contribute to open source, thinking it's all about code. But that's not always easy, especially with something as robust as Symfony. Sometimes, contributing can be as simple as posting solutions on your blog or social media. I wish we had more people doing that because it helps the community.
Marine: Yeah, that's something I love about PHP and Drupal. You don't only care about code but also about any type of contribution, like documentation, which is often overlooked but so helpful. It’s the entry point for new people. If you're writing a blog post, you're doing open source. Good for you.
Ryan: That blog post can be one paragraph and two code blocks.
Marine: Yes, major contributors sometimes find solutions from their old blog posts. It's helpful for you too.
Ryan: Exactly.
Marine: So, blog posts, then documentation for Symfony 2, which must have been a huge task. Did you have help? How did it work?
Ryan: Not at first, but it didn't matter because I didn't have a kid yet. Over time, others started contributing more and more, and now there's a Symfony team of about 40 people working on documentation. Initially, I was a young, inexperienced developer, and Symfony's great documentation was crucial for me. I wanted to make Symfony 2 accessible and inviting for new developers.
Marine: Did it start as giving back for you, or were you already passionate about sharing and education?
Ryan: I like giving back because it feels good, but it’s also about the fun of opening up code and seeing how things connect. If everyone had to figure out everything on their own, it would be a waste of time. Sharing what you know helps build a foundation for others.
Marine: So you started contributing code as well?
Ryan: Yes, it bothers me when things are repetitive and inefficient. I started contributing more around Symfony 3, creating the maker bundle to generate code and improve the developer experience. It's pain-driven development—removing friction to create a smoother experience for developers.
Marine: I love this because you're still doing documentation, just in a different way.
Ryan: That's a good point.
Marine: If you want to explain something and realize it's too complex, is that when you contribute code as well?
Ryan: Yes, if you're writing documentation or creating screencasts and find something painful, that's when you realize it needs to be fixed. Users experience pain points that maintainers might not even know about. If you can articulate and solve these issues, it’s powerful. Even opening a ticket can be a useful contribution.
Marine: Opening a ticket for documentation works too?
Ryan: Yes, opening an issue with details and possible solutions is a good way to contribute. It’s less intimidating than creating a pull request directly.
Marine: Interesting. How did you go from core contributions to SymfonyCasts?
Ryan: When Symfony 2 first came out, we did in-person training, but it wasn't accessible to everyone. We needed to package that experience affordably for smaller companies. SymfonyCasts was born out of that need, and it's great that it also helps fund Symfony's open source.
Marine: Your wife helps with that?
Ryan: Yes, she’s our front-end developer. I want to give everything away for free, but she makes sure we can also pay for our house and food.
Marine: Balancing giving back and making a living is a big question in open source.
Ryan: Yes, it’s the classic problem. Projects like the PHP foundation and the Drupal foundation help by paying developers to work on important initiatives.
Marine: Companies should give back too. We at Platform.sh sponsor Symfony and other open-source projects. It makes a big difference.
Ryan: It does.
Marine: You brought your kid to SymfonyCon. How does having a child affect your open-source contributions?
Ryan: It changes everything. Before kids, you can do open source in your free time. With kids, you need monetization to make it part of your workday. I do my open-source work between 9 and 5 because SymfonyCasts supports it.
Marine: Do your kids show any interest in development?
Ryan: Not at all. But bringing my son to conferences is about giving him a worldly experience and meeting people from different backgrounds.
Marine: That's amazing. How about contributing to other projects?
Ryan: I mainly focus on Symfony, but I’ve started contributing to some JavaScript tools used in both Symfony and Ruby on Rails. It’s great to learn from another community and apply those insights to Symfony.
Marine: Is it possible to contribute to SymfonyCasts?
Ryan: It’s hard to create screencasts. While we welcome contributions, it’s a specialized task. We do have scripts and code blocks available for free to make the content more accessible.
Marine: What about translating documentation?
Ryan: Translation is challenging because documentation changes frequently. However, automatic translation tools are improving. We translate our scripts and subtitles on SymfonyCasts into Spanish and plan to add more languages.
Marine: Local communities also create knowledge bases in their languages. It’s about making information accessible.
Ryan: Yes, passionate independent communities play a crucial role.
Marine: What have you learned about teaching and sharing knowledge?
Ryan: It should tell a story, building something real that solves a problem. Take people through the steps you took to solve it, not just the end result.
Marine: Understanding the logic helps reproduce it, not just follow steps.
Ryan: Exactly.
Marine: If you had permission to do anything for a day, what would it be?
Ryan: I’d go to Cedar Point, an amusement park, and ride roller coasters all day. It’s not realistic with a 7-year-old, but it would be fun.
Marine: What if you could invent a new permission?
Ryan: Faster-than-light travel. I love space and sci-fi. We need to explore the universe without the depressing effects of time dilation.
Marine: What’s your greatest power?
Ryan: Playing with kids under seven. I love causing trouble and having fun with them. It’s a superpower.
Marine: Parents, don’t leave your kids unattended with Ryan!
Ryan: We’ll have a good time, but there will be a riot.
Marine: Thank you, Ryan. It was great to have you. Looking forward to the future of SymfonyCasts.
Ryan: Me too. Thanks for having me.