Last week, Chris Klosowski, Lead Developer of Easy Digital Downloads and WordPress wiz, very graciously agreed to talk to us about his life, and experiences in the software industry.
Chris has been a developer for almost a decade now, and specializing in a myriad coding languages. Previously a developer at Go Daddy, he worked on large-scale WordPress installations while contributing to other plugins.
In 2013, he started out as a contributor for EDD, moving to support and eventually became involved in its core development.
He has developed or co-developed more than 20 WP plugins and is the founding developer of Filament Studios, creators of Post Promoter Pro and WP-Push plugins.
Apart from this Chris is also a noted WordCamp speaker (Honey, I Shrunk the Logs– great talk on debugging!)
Chris currently lives in Queen Creek, Arizona with his wife and two sons. In his free time, he enjoys brewing beer and spending time with family.
Enough from me, over to Chris!
Tell us about your WordPress journey and involvement with EDD?
My WordPress journey starts all the way back in 2005 when I was in college and converted my first little ‘hack’ of a theme into a plugin.
While all that was happening during my day job I started doing plugin development again in my free time, and then in 2012 I started using EDD. Less than a year later I was submitting Pull Requests and in late 2013 I joined on doing support and some development as a ‘core contributor’, but in January of 2015 I officially joined EDD as a Co-Lead Developer of the project. My involvement with EDD started out the way most of our team did, as a community member just contributing back to the project.
What is your typical workday like?
Being that the EDD team is small, my daily duties can vary from day to day. My primary focus is always going to be development of the core Easy Digital Downloads plugin. There are times, however that I’ll split off into either our extensions, support, or some administration type tasks.
It’s hard to say what a typical day looks like, but usually I’d say I have a good 75/25 split on Development vs. Other tasks, since Development is my primary role. In this case development isn’t just writing code, but reviewing Pull Requests and taking time to scope out new issues and manage release cycles. It’s really an ever changing job, which is nice.
You’ve developed a number of plugins. What thought process is involved in converting an idea into a plugin?
If you were to ask me this question 3 years ago, I would have answered with something like “I had an Idea, so I built it.”, but as I’ve made that mistake now a few times, there are a couple things I look for before really moving forward.
Upfront, make sure it doesn’t exist already. This doesn’t mean that you cannot build a better version, but at least know what’s out there already before you get started.
Next thing I do now is just make sure I can handle the commitment. Not just initially, but to maintain it. I’d rather be doing 5 things well, than 10 things mediocre.
If I know I have time for it, then I will typically start by outlining an MVP, or Minimum Viable Product. This is the absolute minimum needed to be considered ready for release. This helps with scoping and makes it so you don’t sit on a v1.0 for too long before releasing it.
Do you have any favourite plugins and could you list them out?
Besides some of the obvious ones like Easy Digital Downloads, AffiliateWP, and Post Promoter Pro, I usually install a combination of the following on sites:
- Better Click To Tweet
- Google Analytics by Monster Insights
- Public Post Preview (allows me to share a link to a draft post with anyone)
- Yoast SEO
- Ninja Forms (for all things form related)
- SumoMe (mainly for their sharing buttons)
According to you, what factors make a plugin successful?
There are many ways to measure success, and I think it’s important for each developer to really set their ‘goal’ of what success is before launching a product (free or paid). It’s also important to understand that those goals may change from project to project as well.
For me, there is more to gain in the notion of providing value to a user-base that appreciates your hard work, than profit. That’s not to say profit isn’t amazing, but I think the building and empowering of users to do something great for themselves is my measure of success.
How would you rank the following in order of importance and why? Users, Revenue, Popularity, Quality.
Users first. Always. Without them, you’re just sitting there using your own plugin.
After users, I think Quality comes next. Quality typically allows you to scale up more quickly, which would then be followed by popularity which brings Revenue.
The key to it all is getting Users to appreciate your Quality and tell everyone else about your work, making it popular, which brings in revenue.
Tell us about your experience as a WordCamp Speaker
I really enjoy speaking at WordCamps. I’ve done two WordCamp talks and quite a few talks at our local WordPress Meetups. The initial fear that I had, and I’m sure most people have, is “What could I share that someone else doesn’t know?”.
Let me tell you, there are a lot of things that you can share with the community. I learned that the diversity of the skill levels in a WordCamp audience is only surpassed by how engaged they are during talks.
Speaking to my first WordCamp was extremely nerve racking. I had been working in bbPress for quite sometime, and John James Jacoby (@jjj) sitting right up front in my talk about debugging while developing in WordPress.
Having someone I respected so much sitting up front for my first WordCamp talk was a unique experience for sure. Once I got started though, it was great to engage with the people in the room and have a discussion, not just fire through my slides.
I’m hoping to speak this year at WordCamp Phoenix 2016, which I am guessing, will be my biggest audience yet.
Your advice for someone starting out with the development of a WordPress plugin
Get involved in WordPress.
It can be as simple as testing core patches, attending local meetups, going to WordCamps and other conferences, or just actively (and positively) engaging people on social media. Just get out there and make a connection with others in the community.
Really focus in on following what the trends are within it. This is your ‘customer base’, so having that personal connection to people is very important to being successful.
Thanks again for your time Chris, the interview really speaks about your journey and growth as a developer which I’m sure will inspire a lot of newbies getting into WordPress.
Chris is regular blogger and maintains blog of his own called Kung Fu Grep (I love how insightful and refreshing the content is), and is part of the bi-weekly RFC Podcast, which is all about software development and maintaining that crucial work-life balance as a developer.
You can also connect with him on Twitter @cklosowski [that’s how we got him 😉 ].