Every week, we’ll be posting an interview with one of our many beloved contributors here on Meta. Find them all in #user-interviews. This week:
Matthew Wilkin @cpradio
Me and my wife
Of my workplace
Tell us a bit about yourself!
Location: Columbus, OH, USA
I’m an IT Lead Developer for Grange Insurance, headquartered in Columbus, OH. I primarily work in their Commercial Lines department developing C# applications, I lead 90% of the projects deemed “miscellaneous”, which means they are not the flagship product, but are outliers that have significant impact to the business bottom line.
Outside of a work, I’m a father to two kids, a daughter, age 7, and a son, age 5. I can also be found running a sound board at local venues in Columbus as a “hobby”. Sound Engineering is by far my second passion, nothing creates a pick-me-up after a long day of work, like sitting behind a sound board and listening to a band practice or play at an event. I originally started out on a 48 channel analog Allen and Heath, then to the Roland M-400 and M-480 and now am operating a Roland M-5000 Digital Sound Board with a total of 10 M-48 personal mixers out on the stage and an Engineering M-48 at the board.
Lastly, I spend most of my Wednesday nights and Sunday mornings at Cypress Church. I run the sound board (the Roland M-5000) there for their Sunday morning services.
How did you first find out about Discourse?
Through Sitepoint. I’ve been a member at Sitepoint for many years. I joined when in college, took a brief hiatus due to work getting in the way, and then came back after shifting to a new job opportunity that allotted me more freedom in my work week. Sitepoint at the time was running vBulletin 4 and were in the process of figuring out whether to upgrade to vBulletin 5 or go with something else. Sitepoint internally was not a PHP company, but rather a Ruby and Rails development set. As such, Discourse was high on their list of options to switch to and ultimately, it won out.
What are you using Discourse for?
Oh boy, now I feel guilty. I only use it for Sitepoint and Meta.
How did you get so involved in the Meta community?
It started out as a way to help Sitepoint get converted onto Discourse. Finding bugs with the import, learning the system, re-writing our moderation guides, overall just needing to get a good understanding of the system we were switching to. However, it quickly transformed into a way for me to learn a new language (Ruby), two new frameworks (Ember and Rails), along with new toolkits (Docker, for one).
What compels you to contribute to Discourse?
It is a fun learning opportunity for me. Each time I get into it, I learn a bit more about Ruby, Rails, Ember, you name it. I also am a person who enjoys solving problems, so taking some of the topics found in #bug were a great starter for me to learn the architecture and how Discourse works. After that, several opportunities to revitalized plugins or create new plugins became a clear need for some of the communities running Discourse, so I jumped in where I could.
Tell us about a non-Discourse community that you’re involved in!
Well, almost all of the communities I hang out in, are face-to-face meetups. C# meetups, hanging out with the band members throughout the week (before and after rehearsal), both communities have been great for networking and getting to know other musicians and developers in the Columbus area. Sadly, I haven’t been to many of the C# meetups lately as we moved recently and it has turned the 20-25 minute drive into an hour+ drive.
What kind of significance does the open source movement have to you?
I’m a huge fan of open source, but I’m also a fan of, if you utilize it, you should also find a way to contribute to it, as a way of showing thanks. That doesn’t mean you have to be a programmer, but be willing to answer support questions, be a QA and test whether the steps on a bug report, lead to the unexpected outcome defined, help write requirements/specifications for features, documentation, the opportunities are limitless. Open source is about collaboration. It is what makes it work. Don’t be afraid to try new things, learn new things.
What has been the greatest challenge in learning about Discourse and its community?
From a community side, the biggest challenge at the beginning for me was learning the dynamics of the community and its personality. Early on, and still somewhat relevant today, the community can be quite blunt. That isn’t necessarily a negative thing though, as the bluntness is very indicative on a community that knows their software and their process. However, being new and not really a part of the installation and learning the system as an end-user, the bluntness is a bit of a tall challenge as I was coming from it from a different perspective than, someone who had to work with the installation process and maybe touch a part of the settings to get the desired behavior. It wasn’t until I started learning Discourse, learning how it works, how it operates, that I was felt I could communicate well with the community over the problems we were trying to solve.
From a technical side, it was all of the same problems you’d have with any unfamiliar code. Learning Ember, Ruby, and Rails enough to be able to even understand how things fit together was critical. Once I had a foundation, there were still parts that I had to mentally work through or ask someone for an explanation. Then there was learning the pull request (PR) process. None of these are new challenges for a developer. We’ve all had to go through this before. The one thing I will note is that Discourse did a good job of ensuring it had tests for all of its critical code paths. That was extremely helpful for me.
Any ideas on how to improve the Meta community?
We encourage respondents to speak candidly on this topic. Even if no sensitive information was discussed, answers will always be presented in a short list.
Remember that all new visitors are potentially in a different walk-in-life when it comes to Discourse and the tooling Discourse utilizes.
Whenever we’re repeating ourselves a lot we should look for better ways to put that information in front of newcomers.
Any advice to future contributors?
Look to Meta for inspiration. There is a slew of topics in #feature, #bug, and #marketplace. They all are great places to start. I’d highly recommend starting with topics found in #bug, especially if it has good reproduction steps. It is a great way to learn a specific part of the system.