This past year was a rollercoaster of a ride. Some high highs and low lows. We added team members and had to let some go. We saw dips in revenue and surges. We made excellent progress developing some products while others struggled. Let’s get into it.
Probably the most difficult parts of the year have been grappling with decisions concerning the team. In fact, in just the first few weeks of 2017 I realized that the newest member of the team wasn’t meeting performance expectations. I realized that I had to fire him.
I’m still embarrassed and ashamed that I disrupted someone’s life as much as I did. He left a job to come work for us and I let him go after five months.
I should have done a better job vetting him. I think the main problem was that I had offloaded the vetting of trialees to the product teams but hadn’t given any one person the responsibility of making sure he was a fit. I also gave little to no guidance on how to vet a new developer.
In January I hired James Kemp to do some development work on our site part-time. As I mentioned in last year’s review, the deliciousbrains.com site redesign project had hardly progressed at all. I hoped that hiring a part-time developer would help move it forward (more on that later).
In March we welcomed two new members of the team: Evan (developer) and Liz (marketing manager). It felt great to add another developer to the team to help push the products forward and it was a huge deal to hire our first non-developer.
I was very nervous about it.
I had only ever hired developers, a craft I know very well. It was an intense process of defining the role of marketing manager, filtering 300-plus applications, and conducting many hours of interviews. In the end all the effort was well worth it because I couldn’t be happier with our first non-developer hire. Liz has been doing exceptional work for us, has taken a bunch of things off my plate, and has fit in perfectly with our team.
In August our team met in Nova Scotia for our third annual company retreat. There were a few minor hiccups with the venue but the oceanfront location made up for it and overall everyone had a great time. Check out the retreat blog post for all the details.
I decided to discontinue the regional retreats we tried as an experiment last year in favor of having a company retreat every 9 months or so. A year felt like too long and every six months felt too often so I split the difference. In fact, we’ve already booked an oceanside villa in Jamaica for May. 🙌
In October after analyzing finances and talking to some friends who run online businesses, I realized that our monthly balance sheet wasn’t healthy. Some of the increases in revenue I had hoped for hadn’t panned out (more on that later). I needed to cut expenses significantly.
I came to the painful realization that I had to let another member of the team go. I felt all the same shame and embarrassment that I had earlier in the year.
I shouldn’t have been so cavalier with hiring. I should have done more to increase revenue. I should, I should, I should…
I chose to let Evan go. He was super professional and understanding. I gave him double the standard 2 weeks notice and he managed to land another job in that time. It still felt crappy letting go of a valuable member of the team, but since he landed on his feet, it felt slightly less crappy.
Onward and Upward
On the upside, our monthly cash flow is in much better shape now and I’ve learned some important lessons about my hiring strategy and business in general. We won’t be letting anyone else go anytime soon.
If you were able to keep track, you know that our team is the same size now as it was at the beginning of 2017. We grew to ten (including me) at one point, but then back down to nine again before the end of the year.
At the beginning of 2017, we had three developers working full-time on WP Migrate DB Pro, three working on WP Offload S3, one working on Mergebot, and one splitting their time between Mergebot and the site redesign.
In an effort to get some management tasks off my plate, in January I introduced the Release Lead role which would rotate among members of each product team. Similar to the role WordPress core used to rotate among the core team.
In May I realized I had been a pretty crappy manager. I hated meetings so wasn’t doing any weekly meetings. I had been stumbling my way through managing people with little education on the subject.
I reached out to Rob Walling for advice and he helped me realize that I should be assigning the person best suited to lead each team rather than rotating the role.
After discussing it privately with each member of each team and making sure they were ok with it, I replaced the Release Lead role with the Team Lead role and assigned a specific person to lead each product team. At this stage, the teams looked like this:
- WP Migrate DB Pro: Peter (lead), Jeff, and Matt
- WP Offload S3: Jonesy (lead), Evan, Ash (split-time)
- Site Redesign: Ash (split-time), Iain (split-time), James (part-time)
- Mergebot: Iain (split-time), Gilbert
James and Iain had been making some progress on the site redesign, but with Iain often needing to work on Mergebot and James available for few hours each week, the project still wasn’t progressing at an acceptable pace. I asked Ash to start working on the redesign as well, splitting his time between it and WP Offload S3, and eventually dedicating most of his time to it.
The site redesign started progressing much better once Ash was dedicating most of his time to it. It seems obvious now that I should have dedicated another member of the team (in addition to Iain and I) to working on the site a long time ago.
Also in May, I happened to listen to an episode of the Kevin Rose podcast where Ryan Carson talks about the flat organizational structure experiment that they tried at Treehouse and how it had turned out to be a disaster.
This was a bombshell. Ryan’s writing about Treehouse being a #NOMANAGER company a few years ago had a big impact on me.
He talked about why their first attempt at having managers failed, why flat failed, and how they now train their managers using the free Manager Tools podcast.
I listened to the Manager Tools podcast and was blown away. The benefits of weekly one-on-ones sounded so great and it made so much sense. I was so excited to give it a try that I executed their program immediately and started doing my first one-on-ones a couple of weeks later.
The one-on-ones turned out to be very good. I got to know each member of the team on a more personal level and felt like I was more connected to what was going on in the company on a weekly basis. With 4.5 hours of one-on-one meetings every week, it was definitely a big chunk of my time though.
I mentioned before that previous years has meant that marketing efforts have been here and there for us because it was solely me. With Liz on board as of March, we were able to put a bigger dent in the pile of stuff I’ve been wanting to do for a long time, as well as try some things I wouldn’t have thought of otherwise.
One of the first things Liz focused on was taking over managing the blog which was eating up too much of my time. We even introduced the role of Technical Editor instead of having every developer review each post. Everyone is still welcome to review each post but it’s not required. Loads of time saved all around.
Another thing Liz focused on early on was digging into our Google Analytics. We did a huge audit of all the links we had in various places like inside our plugins and remarketing ads, etc. and made sure they were all tagged properly for campaign tracking. A project that was more involved than it might sound given that we had to push plugin updates to update the various links within the code. We have a giant spreadsheet tracking all these now – currently our tagged link count is over 250 and growing!
The analytics audit let us see what we almost always knew: that our biggest sources of revenue are search engine traffic, email marketing traffic, and free plugin user traffic. From there, we prioritized work on email marketing and SEO.
For email marketing, we focused on increasing the subscribers on the list we email weekly. We completed an audit of our email marketing software campaigns and forms to make sure they were all getting subscribed to the weekly email list where we expected them to be. We also added an opt-in to our homepage (though it looks way better now that we’ve redesigned) that immediately saw a higher opt-in % than any other form we have.
The biggest gains to our subscribers came when we started playing around with ConvertFlow. It let Liz implement email marketing forms without engaging a developer from our team and let her craft messaging to be very specific and only show to very specific visitors. It seems to be working pretty well for us so far, with some of our forms getting upwards of 10% opt-in rates. All of this meant we were able to double our weekly email list from about 7,400 at the start of the year to more than 15,000 by the end of December.
We’ve made a few other changes too – Liz has set up a few new campaigns to introduce new subscribers to our best stuff as well as some experimental campaigns that have the goal of increasing conversions from some of our free plugin users.
We’ve been sending more marketing emails this year for sure, which is something I was admittedly nervous about. Hopefully you haven’t felt bombarded (and our unsubscribe numbers seem to indicate you haven’t) because we’ve tried to keep it very tailored to whether you’ve opened things or not and whether you’ve indicated you’re interested in a particular product or not. The incontestable truth is that more emails has meant more sales for us.
SEO has always been something where I believed you were fine as long as you wrote good content and didn’t try to game the system. Some of the work Liz has been doing this year has enlightened me though. We’ve slowly implemented fixes for a host of issues we weren’t aware of, from duplicate content to redirect issues and more.
The biggest SEO concern this year was the site redesign. Before Liz came aboard, we had a very different version of the redesign mocked up and ready for implementation with a lot more changes than what we launched last week. When I first started this project a couple of years ago, I had planned on keeping the first phase of the redesign to a simple reskinning of our site and rolling out more changes over time. Otherwise if we reskinned AND changed a bunch of content, how were we to know what was the cause if our sales tanked? At some point the importance of this was lost to me and we were planning to make a lot of content changes.
It took Liz coming on board with her SEO knowledge to remind me and get us back on track. She educated us all about the SEO risks involved in making a lot of changes at once, pointed out changes that would hurt the most, and brought us back to my original idea of redesigning in phases. So far, we seem to be sailing smoothly on traffic but if we hit any issues, we’re much better prepared to handle them than we would’ve been before.
I could probably write an entire article just on the marketing work we’ve done this year we’ve done so much. Some of the other projects Liz and I worked on include surveys and customer research, we started using LeadPages to save time for marketing experiments, and we ran experiments with promotions (e.g. our early Black Friday deal). And of course, working with Dose Media on the big rebrand this year. We did a lot more with ads and sponsorships too – if you’d like to hear more about our marketing experiments, maybe we can get Liz to write a post someday – let us know in the comments.
WP Migrate DB Pro
We also released a major update to the Multisite Tools addon allowing you to push a single site to a multisite subsite or pull a multisite subsite into a single site install.
We pushed out some bug fixes and security fixes for the Better Search Replace (BSR) plugin, but the majority of the effort for BSR is adding its features to WP Migrate DB Pro, working toward feature parity and consolidating the two products into one codebase. Now that the SQL import feature has been included in WP Migrate DB Pro, we now just have the search and replace preview feature to add and we should be able to build a new release of BSR from the WP Migrate DB Pro codebase.
WP Offload S3
We had two major releases and three minor releases of WP Offload S3 in 2017 and completely rewrote the Assets addon:
- WP Offload S3 1.4 Released
- WP Offload S3 1.5 Released: Copy Between Buckets & More
- Introducing The All-New Assets Pull Addon For WP Offload S3
Mergebot presented us with lots of challenges in 2017 but we managed to persevere. We added integrations and a query selection UI, we dramatically improved performance, added multisite support, and finally launched out of beta in August.
There was a significant increase in the number of people using Mergebot after we launched and we worked through scaling issues right into December, but Mergebot has been in good shape to start this year.
The “focus feature” technique of planning releases that I described last year seemed to work well keeping the scope small and the time between releases short for WP Offload S3, but not so well for WP Migrate DB Pro. With the adjustments I mentioned in my analysis of the WP Migrate DB Pro release, I’m confident it will work for us moving forward this year.
Acceptance tests is another thing I discussed in my annual review last year and I’m pleased to say that thanks to hundreds of hours of painstaking work by Jonesy, we have over 70% coverage for WP Offload S3. We’ve implemented some acceptance tests for WP Migrate DB Pro, but we still have a long way to go.
Off the Rails
My growth strategy since the early days of the business has been to hire as many developers as revenue allows, build more products, and generate new revenue streams.
In October when I realized that our balance sheet wasn’t healthy, I also realized that I had forgotten a key part of my growth strategy: build more products. At some point (probably in late 2015 / early 2016) I got it in my head that we needed to speed up the development of WP Migrate DB Pro and WP Offload S3. I prioritized more releases of our current products over building new products. I assigned more developers to the work on the current products instead of assigning developers to build new products. We were already building Mergebot, so I may have thought that it was enough.
Turns out that adding more developers to a product team didn’t actually speed up development. It may have even slowed it down. A “too many cooks in the kitchen” kind of thing.
It’s easy to say to just work on this isolated part of code over there while I work on this over here, but things are often intertwined. And in a five-year-old code base, big pieces need to be refactored, and refactoring major pieces while others work on different branches is the path to merge hell. All of that is true when two people working on a plugin and it seemed to get much worse with three.
Back on Track
I realize now that instead of adding a third developer to each of the plugin teams, I should have had those developers work on new products. In fact, for WP Offload S3 I now believe that two developers dedicated to that product full-time is more than enough.
In October, I put the following in a spreadsheet and started putting processes in place to gradually make it happen.
- WP Offload S3: Jonesy
- WP Offload SES: Matt
- WP Migrate DB Pro: Peter, Jeff
- Site: Iain
- Mergebot: Gilbert
- New App: Ash
Each team is responsible for two products. One developer (or two in the case of WP Migrate DB Pro) is dedicated to one product and the other developer in the team is dedicated to the other product. But each team member is involved in the decisions for both products, has intimate knowledge and is able to handle support for both products, and reviews the code of the other members of the team no matter which product it is for.
The site, long neglected, is now prioritized as a product.
In December, I asked Ash, Iain, and Gilbert to dedicate most of their days to coding the site redesign and plugin rebranding. With their great work, some excellent marketing guidance from Liz, and lots of design tweaking on my part, we managed to launch just last week. 🎉
There’s plenty of post-launch things still to be done, but after that Ash will start working on a new app with help from Gilbert. And Gilbert goes back to working on Mergebot with help from Ash.
Iain will continue working on the site full time with help from Peter and Jeff and he will help Peter and Jeff push WP Migrate DB Pro forward.
As soon as I have mockups ready for him, Matt will start building the new WP Offload SES plugin with help from Jonesy, and Matt will help Jonesy with WP Offload S3.
We acquired the WP SES plugin in December, cleaned up the settings UI a little, and have started building an email launch list with a form inside the plugin like we did when we launched our other plugins.
I’ve started attending weekly meetings for each of these teams. Replaced the weekly one-on-ones with a single one-on-one session with a different member of the team per week. Each team member will get to meet with me every 9 weeks or so. The Team Lead role has been suspended for now as I’ve taken over management of each of the teams.
We got this transition in motion in December before we were off for the holidays and it has been incredibly motivating to be moving so many things forward to start 2018. We’re still in transition now, but I’m feeling great about our momentum.
We experienced healthy growth again this year with revenue up 24%. It’s far from the 59% we saw last year or the 81% we saw the year before, but it’s tough to keep up growth rates over time. Launching new products can definitely help with that though, which is why I’m determined to launch WP Offload SES and another new product this year.
Conferences & Masterminds
As a solo founder, it’s incredibly important for me to chat with other entrepreneurs, share the challenges I’ve been grappling with, and learn from people who’ve already worked through similar challenges. Of course I try to help those who are going through things I’ve already been through as well.
Throughout the year I had regularly scheduled chats with Pippin, David, Ruben, Brecht, Robert, and Brian. Chatting with these folks regularly was essential. They were incredibly helpful at helping me realize things I was missing, holding my feet to the fire (making sure I actually do the things I said I will do), and being supportive when I was struggling.
John, Phil, and Syed also jumped on calls with me when I needed some more perspectives, which was awesome. I feel fortunate to have made such great friends over the last five years of running Delicious Brains Inc.
In February, I attended Big Snow Tiny Conf in Vermont again.
In April, I went to PressNomics (Phoenix) and MicroConf (Las Vegas) back-to-back and managed to pace myself, drinking little and getting lots of sleep. It made for a much more enjoyable ending to the trip. Usually I’m completely exhausted.
I was supposed to attend WordCamp Europe in June but unfortunately caught a nasty flu bug and wasn’t able to get on a plane for hours. Luckily I was well enough a few days later, flew to Paris with my wife for a little vacation, and caught up with some awesome folks from the WordPress community who were still hanging around after the camp.
I only listened to one business-related book:
Originals: How Non-Conformists Move the World by Adam M. Grant
It was excellent and I highly recommend it, especially if you have kids.
I also listened to a series of lectures on how the stock market works and learned lots. Highly recommended if you know very little about the stock market and would like to understand it.
Let’s check in on the goals I had set for 2017, here they are again:
- WP Migrate DB Pro: 3 major releases of core and 2 major addon releases – Nope, see above
WP Offload S3: 3 major releases of core and 2 major addon releases– I’m calling this achieved even though it’s not exactly what we did Hire a Product Marketing Manager🎉🎉🎉
- Launch WP Offload SES plugin – Nope, didn’t start
- Grow revenue (hopefully double) – Not even close, this was a pretty crazy goal and it would have taken a pretty crazy plan to make it happen
- Hire Part-time UX/Product Designer – Didn’t grow revenue enough to support hiring more people
- Hire Part-time Product Manager – Decided this wasn’t a good idea
- Consolidate the WP Migrate DB Pro and Better Search Replace codebases into one codebase – Made some significant progress, almost there
Try getting more out of conferences by drinking less, eating better, sleeping more, and maybe even exercising (this is the most radical of all the goals)
- Revisit this goal list and assess progress after 6 months – Oops
Goals for 2018
Site Redesign / Plugin Rebranding🎉🎉🎉 – Already done and I’m so happy with the result. It’s nuts that this wasn’t even on the goals list for 2017 with last year’s post describing the struggles to make progress.
- Launch WP Offload SES – This is the fourth year now I’ve had this down as a goal. I commented last year that this has become a tradition rather than a real goal, but this time we already have a process in motion to make it happen. If this product doesn’t launch in 2018, it won’t be because we didn’t start it.
- Launch private beta of new cloud app – I’ve talked to a few of you already about this and I’m super excited about it. I’m not going to go into details now, but you can get an idea what it’s about and subscribe to our email list.
- 3 major releases of WP Offload S3 – Whether it’s a new addon, a major update to an existing addon, or a major update to core, they’ll all count as major releases. Same for WP Migrate DB Pro.
- 2 major releases of WP Migrate DB Pro – We need to do some significant refactoring this year, hence the lower number than WP Offload S3.
- Mergebot: Launch Support for Multiple Environments and Teams – This is our number one requested feature, so it’s a no-brainer that it’s next up.
- Set specific marketing goals – When it was just me fumbling with marketing, I never had specific metrics that I wanted to hit, but when Liz joined in March last year I should have. Need to correct that now.
- Hire a Product Designer – I’ve realized we have a need for a full-time designer who can not only help with product design but with our site, print, and ideally front-end coding as well. That might be a unicorn, but I’ll have look anyways. When the balance sheet allows of course.
- Merchandise – Print some t-shirts, maybe some hoodies, stickers, etc. Gotsta get that fresh new branding off the screen and out in the real world!
- Increase monthly revenue 30% by November – If the two new products do as well as I hope, this should be possible.
- Consolidate the WP Migrate DB Pro and Better Search Replace codebases into one codebase
- Continue the healthy eating/drinking/sleeping practice at conferences
- Revisit this goal list with our team at our company retreat in May
Something I definitely do not do enough is give positive feedback. When someone does something good but I expected it, I rarely say anything. And yet not only is it nice to know it’s appreciated when you do good, but it encourages the person to do more good in the future. It’s something I started working on personally last year, but progress has been slow.
I’d like to thank my whole team, Liz, Pete, Gilbert, Jeff, Ash, Matt, Iain, and Jonesy for all the good things they’ve done in the past year that I haven’t thanked them for. From updates to our wiki, to reminders in Slack, to all the lines of code that I never saw.
I especially want to thank those who called me on my bullshit. Whether it was just me being stressed out and grumpy, or me making dangerous assumptions, if I was never challenged the year would have turned out less awesome for sure.
I’d also like to thank my mom for keeping our books, running payroll, publishing blog posts every week, and doing a bunch of other odds and ends that keeps the company running.
And thanks again to my fellow entrepreneurs for helping me work through the typical struggles of a solo founder and those unique to me.
Finally, thanks to you, our customers. Without you none of this would be possible. I feel very fortunate that you love the products we build, appreciate the quality, and are willing to reward us with your hard-earned dollars. We’re aiming to greatly improve our current products you know and love, as well as build new ones that we hope you’ll love too.
I’m incredibly happy with our team and the work we did together this past year. I feel as though 2017 was a tough year in some ways, a year where we had to work through some things and carve a new path forward.
We’ve done that, the path looks amazing, and I’m incredibly excited and energized to walk that path in 2018.
What would you like to see from us in 2018? Let us know in the comments below.