OpenLampTech - Developer Interview With Ryan Szrama
Long-time Drupal developer Ryan Szrama shares a fantastic developer interview with the OpenLampTech newsletter readers.
Welcome to this OpenLampTech text-based developer interview.
Ryan Szrama is very active in Drupal development, developing plugins and specific commerce-first software using Drupal.
Ryan has a lot of knowledge and insights into the Drupal community, owning the company Centarro which powers Drupal Commerce.
Needless to say, I am very excited Ryan shared many insights, tips, and information in this developer interview for the OpenLampTech newsletter audience and community.
And now without any further ado, on to the interview.
Q: Please introduce yourself and tell us what you currently do for a living.
Hi there! I’m Ryan Szrama, a long-time Drupal developer and owner of the company behind Drupal Commerce, Centarro (née Commerce Guys). My career has always been in eCommerce software development - first contributing some osCommerce plugins, then developing Ubercart for Drupal 5 / 6, and finally starting afresh on Drupal 7 with Commerce Core and the ecosystem we refer to as Drupal Commerce today. Our company supports tens of thousands of merchants indirectly and has worked on hundreds of sites directly for some pretty cool companies. I mostly function today in a product vision, marketing, and sales capacity but still contribute to the software itself and consult for some of our more demanding clients.
Q: What PHP framework(s) and/or CMS(s) are you interested in the most or currently using (if any) and why?
My career exemplifies the old adage, “When all you have is a hammer, everything looks like a nail.” I have one primary tool in my belt, and that’s Drupal, though today that implies broad familiarity with Symfony on the back-end (and occasionally React on the front-end). I wouldn’t try to use Drupal for any project, but given the nature of our company and my reputation, the sorts of projects that come our way are those that truly benefit from Drupal’s competencies. (I’ve recently written a blog about what I believe that to be.)
I have played around with SlimPHP in the past and would recommend it for small projects and microservices. I highly respect Josh Lockhart and his work to advance discipline and best practices amongst PHP developers, and I hope he’s proud of me for finally setting up Xdebug. I have seen the light. 😅
Q: Do you think it is important for developers to know some SQL and not rely solely on an ORM? Why or why not?
Absolutely, even if for the simple fact that you can’t even make effective use of an ORM if you don’t understand SQL. When I was learning PHP, the applications I worked with still largely relied on direct SQL query preparation, with Drupal eventually expanding its abstraction layer to codify security best practices and improve the querying of entities without needing to know the exact database structure. However, I still regularly fire up Sequel Pro to fetch custom data sets for clients or diagnose and resolve performance issues. (On a quick Google search, it appears I should be switching to Sequel Ace … downloading now!)
Q: What is one piece of software that you just cannot live without and why?
My absolute favorite tool is DDEV. This is an open source project that simplifies the management of local Docker environments. I use it every day for Drupal development in addition to other applications, like hacking on a custom Rom2.4b6 MUD codebase I maintain.
DDEV was born in the Drupal community but has expanded to support many other projects under the leadership of Randy Fay, a highly respected friend of mine in the Drupal community. It’s hard to overstate the importance of everyone on a team being able to pull a repository and immediately launch a fully functional, carbon copy development environment fine-tuned to match the production environment. (We value it so much at Centarro that we donate $100 / month to its development budget.) It features simple integrations with drush (a Drupal CLI tool), Sequel Pro / Ace, Mailpit, and Xdebug along with a myriad other tools you likely already use. Check it out!
Q: You type all of your code in which IDE/Text Editor/Software?
I’ve generally preferred free, open source development tools, only once dabbling with phpStorm and deciding it was more than I needed compared to a simpler tool like Atom. I migrated to Visual Studio Code some years ago (when Microsoft suddenly became hip again) and haven’t looked back. It has a great set of extensions for PHP / Drupal development, including easy as pie Xdebug integration via DDEV. I also enjoyed tweaking the user interface to a nice synthwave theme. (Pairs well with the Darksynth station on Nightride.fm. 😉)
Q: How has working as a web developer/designer/professional benefited you other than the obvious paycheck and monetary value?
One thing I couldn’t possibly have anticipated but now can’t imagine living without is the global community I became a part of through my open source contributions. We moved around a fair bit during my childhood, as I was a military brat, but by the time I started my career, I figured Louisville, KY was it for the rest of my days. Suddenly, after the launch and success of Ubercart, I was able to participate in DrupalCons and Drupal Camps all around the world, making it to a dozen or so in Europe, one in Bogotá, Colombia, and another in Shanghai. I developed a love for travel and a special affection for Paris where Commerce Guys was headquartered from 2010 - 2016.
Q: Do you have a book, newsletter, blog, podcast, or other resource you would recommend to other developers?
Honestly, I don’t really, mostly because I don’t consume many myself. That reflects the nature of my work and the fact that I’ve never really had a commute, working remotely since 2009 first in Louisville and now from my home outside Greenville, SC. I don’t follow too many folks or channels on social media either, but from a programming standpoint, I’ll forever follow Kelsey Hightower on X. He’s highly accomplished, principled, and pragmatic - give him a follow. 👍🏼
Q: What hobbies or activities do you do for fun?
My first love in programming was computer games. I started on my Commodore 64/128 in the 90’s with my brother before we landed on MUDs for many years. I was also embedded in the QBasic / FreeBASIC communities for a long time and still keep in touch with folks from the forums of yesteryear. I don’t actually have that much play time, since I’m married with 4 kids and have some property I have to maintain, but I like staying connected to the indie game scene, especially where I can share a good time with my kids. Recently that turned me on to Roblox, which is extremely impressive as a platform - I’m currently planning to publish some micro-games in the new year.
(During the pandemic, I also decided to learn to hunt, which has been quite different! When our local grocery store ran out of red meat for weeks, I realized it might be a good idea to learn how to literally put meat on the table, so we got some land nearby and have enjoyed the fruits of my labor.)
Q: Where can readers go to learn more about you and any projects you may have going?
I post infrequently to a personal blog, including reflections on books I’m reading or poems I’m writing, and I also do a lot of Drupal Commerce specific writing on our company blog. Unfortunately, my writing backlog is long and my time is limited, so I tend to share smaller snapshots, links, and reflections on X as @ryanszrama.
Q: Anything else you'd like to add or share with the OpenLampTech readers?
There are many things to consider about a career in open source. Some of my ideas go against the grain (e.g., I think the “problem” of financial compensation in OSS maintenance is one developers need to solve for themselves, not necessarily a challenge other people or companies should solve for them) … but perhaps something more meaningful I can share is a bit of conventional wisdom: values statements and alignment are effective means of maintaining your motivation.
Dries Buytaert, the Drupal project lead and a personal mentor, did our community a great service by drafting a set of values and principles that guide the project. He didn’t dictate them so much as crystalize how we had collectively come to operate. Not surprisingly, one of my personal values is impact, which is right there at the top of Drupal’s list, too. The ability to make a positive impact for countless people around the world through my work is the most motivating thing for me in open source. If you want a career you enjoy for the long haul, you should spend time identifying your personal motivation and then situate yourself in an environment where you can really lean into it. (To read more about this, I recommend Daniel Pink’s classic book Drive.)
Thank you, Ryan Szrama, for sharing your knowledge and insights with the OpenLampTech newsletter readers and community!
Thank you for reading. I hope you have a great rest of your week.
Take care.
Josh Otwell