DNSimple operates as a remote team spread across several time zones. This means we spend most of our time communicating over Slack and pull requests from wherever we each may be around the world. Every 4 months we get together in person to spend some time discussing various "big picture" items that are best handled face-to-face. During our meetup we discuss our current strategies, development plans for the next few quarters, and other things which are well served by more open-ended discussions. Last week the entire team met up in France, in the village where I live, for our meetup. Here's what happened.
Getting the entire team together is a logistical challenge, even at our relatively small size of 11 people. We have to prepare several months in advance to determine the location, reserve lodging, plan for meals, and have each team member arrange their travel. This year we decided to host the April meetup the village where I live: Pomas, France. We made this choice because we could keep the costs reasonably low and there is a new gîte in town that is large enough to accommodate everyone.
In addition to the practical planning for the week, everyone on the team took time to contribute to a list of items that they wanted to discuss, and several team members prepared to present their plans for the remainder of the year.
Most of the team arrived over a 3 day period, from Friday to Sunday, so we scheduled specific work-related activities to start on the Monday. One team member was only able to arrive on Tuesday, so we made some adjustments in planning for that as well. One of the benefits of having a small, flexible team, combined with a list of goals not tied to a timeline, is that you can make on-the-fly changes to scheduling to best use the time you have together.
We started this meetup as we tend to start all of our face-to-face meetups by reviewing the latest financial numbers for the company. All of the information about our company finances is made available to our entire team through a git repo. Anyone can review it at any time, however going over it together gives me a chance to explain some of the details, and gives the rest of the team a chance to ask questions. We reviewed revenues and expenses, profit numbers for two previous quarters, and rate of change on various measurements. The goal was to celebrate the achievements and analyze where we can do better in areas which we consider the results less-than-optimal.
In addition to reviewing the current finances, I also discussed financing options with the team. Deciding on a using outside capital is not always a straight-forward decision: it comes with burdens and sacrifices that we often do not fully understand when we agree to do it. By going over potential financing options, even if we end up choosing to stick with our current financing plan (which is essentially re-invest from profits), the entire team gets a better sense of what the pros and cons are. We also took the opportunity to brainstorm options that I hadn't considered, compiling a list of additional options that we may consider in the future.
On Tuesday, once the final team member arrived, team members gave high-level overviews of their goals and visions for the rest of the year. This included presentations by team members in each of the following categories:
For UI/UX, Sebastian went through a presentation titled "Refine & Restyle" about how we can make the DNSimple web application a better overall experience. This includes improvements to the existing card metaphor, better micro-interactions throughout the site, and a better mobile experience.
For Technical Operations, Aaron provided a high-level overview about recent system architecture changes that are nearing completion, and then covered the plans for the remainder of the year, which include integrating new monitoring tools into our systems, continued cleanup of our configuration management, defining a cookbook build pipeline for our Chef cookbooks, and potential improvements to our chat-ops setup.
For Sales & Marketing, Antoine and Laetitia went over our onboarding improvements that have been deployed over the last two months, and what their plans are to increase top-line revenue through better communication with potential customers.
Once we completed the high-level reviews and laid out the goals for 2016, we spent some time discussing the company as a whole.
One of the questions I wanted to know by the end of this meetup was: how does each team member see the company serving them?
A new part of this meetup was that I had one-on-one meetings with each member. This was one of those things that I was sort of dreading, because it can be uncomfortable initially. It turns out that it was a really important part of this meetup, as it gave me a chance to really talk with each member of the team so I could better understand their individual concerns. Given a major topic of the meetup was about how the company serves each of its team members, understanding this one-on-one before discussing it in a group setting, was essential for me. It gave me the opportunity to really think about how the company works, or doesn't work, for each of us.
We also discussed what would cause each team member to leave the company. This was also a somewhat scary topic to discuss, but everyone agreed afterwards that it was perhaps one of the most important points during the meetup. Knowing what would make another team member consider leaving the company gives you a better understanding of the team, their motivation and their fears.
The remaining three days of the meetup were for deep dives into the plans that were presented on Tuesday. Some of the time was spent with team members grouping together to further clarify their plans. Some of the time was spent together with the team as a whole defining our product plans in more detail and organizing the big projects for the year into quarterly timeframes.
On Friday we all went to nearby Limoux, walked around the Friday market, and then sat down at one of the cafés where we spent two hours drinking coffee and tea and eating brioches, while we discussed our marketing and sales strategy in more detail. After lunch we continued the conversation, discussing items like team members writing and conferences we want to attend. Friday evening ended the week with a rather hilarious impromptu jam session, most of which was spent finding ways to mangle "What's Up" from 4 Non Blondes.
In addition to the time spent working, we also took the opportunity to visit some of the sites around the area, like Rennes-le-Château and Carcassone La Cité. Most of our meals were here at my home, prepared by Laetitia who was assisted by her teammates. Communal meals are a big part of our meetups, and as usual the food and wine were both excellent and appreciated. We also went to a number of outstanding restaurants and even had a wine tasting in Limoux that consisted only of local wines.
I am pleased with how this meetup turned out. I believe that we finished the meetup feeling energized and the team left with a better understanding of each other, our goals and how the company can serve each of us better.
As usual, the hard work starts again when we all return home and get back to actually executing on our plans, teasing out the details and working through all of the challenges that we each face. The good news is we will all be getting back together face-to-face in Wisconsin at the end of August for our yearly all-inclusive family meetup, where we bring our significant others and children.
I'm very proud of the entire team here at DNSimple, and what we have accomplished over the past few years. I can't wait for what's coming next! And to you, our customers, a huge thank you for your ongoing support and your business from the entire DNSimple team.
I break things so Simone continues to have plenty to do. I occasionally have useful ideas, like building a domain and DNS provider that doesn't suck.
Configure DNSimple as your secondary DNS provider to improve your domain's availability and redundancy with AXFR zone transfers.
Get a free limited-edition t-shirt featuring the characters of howdns.works and howhttps.works with any new yearly subscription to DNSimple.