Skip to content

Our First Ever Truffle Retreat

Truffle

This past summer, the Truffle team got together to together to define our roles, our mission statement, and our product roadmap - and had some fun in the process.


The Truffle team is fully remote. This has a lot of advantages in that it allows for a wide range of people available to work on your project; but it can also make it difficult to get to know your coworkers.

I started Truffle in early 2015 as the sole developer, and it stayed that way for nearly a year and half. John McDowell joined in late 2016, and by the time of the retreat we happily brought Nick D’Andrea and Josh Quintal on board. All interviews happened over Skype.

I live in Yakima, Washington. John lives in Victoria, British Columbia. Nick lives in Philadelphia, and Josh lives in Detroit. That’s a lot of distance between us.

Truffle employees in September

When we brought Nick and Josh onto the team, it became obvious that we needed to meet up in person to solidify our roles, define responsibilities, and establish our own culture before growing the team even larger.

And we wanted to hang out in the woods, at the top of a mountain, and get to know each other.

The Location

View from the house

We had our retreat near Victoria, BC where John lives. Nick, Josh and I traveled all day through a series of planes, ferries and car rides to finally arrive at the house around 7 pm. The house sits atop a large hill in Braemer Heights overlooking all of Victoria, and on a good day has a beautiful view of Mt. Baker in the States.

The house was the definition of excess for a team of four, especially with only three of us sleeping there. It had five bedrooms and four bathrooms; a deck with a grill; three stories, the topmost containing only an office with 360-degree windows; and loads of wildlife. Unexpectedly, it was only ten minutes away from a Costco, which helped immensely. Even more unexpectedly, this mansion cost us less than three hotel rooms and a coworking space.

Another view

The Work

I had a few specific goals for our retreat: to define everyone’s roles and responsibilities within our team, to define our product roadmap for the next six months, and to create a mission statement for Truffle that our whole team could rally behind.

Retrospective

We started with a retro. We wanted to evaluate where we were as a team before deciding where we wanted to go in the future.

So on Tuesday morning, we sat down and gave praise for what we’ve done well and identified areas where we could improve. I brought a list of business areas that are important for Truffle -- things like development, technical leadership, branding, marketing, etc. -- and we graded ourselves on each of them.

This turned out to be an interesting exercise. As the leader of the team you want to say “we’re doing great”, and not diminish anyone’s efforts -- because, it’s true, we’ve come far for a small team. However, we need to know where we can improve and how different areas of our company, teamwork and products stack up to the rest. In general, we all seemed to agree on the results: Branding and growth have been stellar (e.g., we have a good product that people like to use), but more external communication -- like our technical leadership, our relationship with the Ethereum Foundation, and relationships with some of our VIP users -- could use some improvement. Though these results were mostly subjective judgements, the conversations that resulted helped inform discussions about our roles and future roadmap.

Roles & Responsibilities

The Truffle team had already doubled in size in 2017, and right before the retreat two new team members -- Ben Burns and Mike Pumphrey -- had accepted offers (welcome!). So we knew we had some work to do regarding defining our roles and how we work together as a team.

Before the retreat, I had met separately with Nick, Josh, and John to evaluate how they felt about their current roles at Truffle. We each talked about what they wanted to do both within the team and professionally, and how I could help them get there. Then we used this time at the retreat to reorganize the work so that it aligns with each team member’s personal goals as well as the group’s goals. We created a new org chart and chain of command, including the new team members we knew were coming on.

We decided that Josh and John would share design responsibilities for our website, logo design and general aesthetics for all of our products. Ben, who started in October, would take on the internals of the TestRPC (now Ganache) and related products ensuring we stay up to date with the Ethereum ecosystem. And Mike would be coming on board to wrangle all of our documentation and learning content, eventually molding it into tailored courses we’d offer to individuals and businesses.

That just left Nick and I. Though we both knew Nick would work on the internals of Truffle when he was hired, we didn’t know the extent of the work required; in addition to improving Truffle, Nick would be burdened with the arduous task of softly and lovingly ripping my baby from my arms. That is, Truffle’s my baby, and I’ve been nurturing it from day one. In order to build a more functional and growing team, it became clear I’d have to let go of the internal implementation details and focus more on our business and our product, leaving Nick to explore the tool’s technical way forward.

This transition has been a great growing experience already, both professionally and personally. We’ll continue to evaluate this structure over the next six months to see how it works out.

Mission Statement

The next step was to determine why we’re here. The big three questions were: Why are you here? What do you value? And what do you stand for? The point was to elicit each team member’s value systems to get a big picture of what it is we really care about.

My original plan for this session was to put each person on the spot and ask them those questions directly. As it turns out, this interrogation technique was not the best way to get meaningful, genuine answers from the team.

Luckily, John came up with a better plan. He suggested we have each member of the team write their values on six index cards, and then have the whole team talk about each other’s values, create a big list, and vote on them to determine our company values.

Our values

The conversation helped us all understand how different we were, and how much our values varied. We expressed everything from receiving good pay to building the distributed ecosystem.

In the end, we all agreed why we’re here. Our new mission statement:

Truffle builds useful tools for the next generation of blockchain technologies. We enable the growth of the Ethereum and open source communities, help to improve the role of decentralization in society, and empower developers to achieve their goals.

Product Roadmap

On Thursday, we got into the details of what we’ve been working on at Truffle and where we’re going. This included presentations for new products [SPOILER ALERT!] and discussions about specific features. We’ve been hard at work since we drafted this post, so some you may have heard of already:

  • Truffle 4.0! - with a debugger, improved development and testing experience, and more!
  • Ganache - a personal blockchain for developers.
  • Drizzle - a frontend framework for React and Angular to easily connect Truffle-based projects.
  • Project Hotcakes - a full stack suite for web applications.
  • Live - a browser-based, interactive Truffle IDE.

We also talked about revamping our development processes, which included not only how we work together as well as beefing up our continuous integration systems and making it very easy for users to contribute to Truffle projects. Stay tuned for more info!

The Fun

In the middle of all of this work we wanted to get some bonding time in too. And if you haven’t been to Victoria, it really is gorgeous, and we couldn’t let this trip go to waste.

So on Wednesday we got in John’s Honda Element and drove for two hours to Port Renfrew. The hike on paper: beach hike, sun, potentially bears, great outdoorsy time. The hike in reality:

Rainy hike

We didn’t see any bears, and we got completely rained out of the hike. But, we also took our first Truffle team selfie:

hashtag selfie

And eventually when the rain cleared got this cloudy-but-serene view from the dock at Port Renfrew.

A nice dock

And when we got back to the house, we made dinner, played board games, and drank a bunch of wine.

Fooooood Josh cooks

So overall, we had some successful bonding time.

Going Home

Being able to all be in the same room for the first time ever was extremely rewarding. It gave us a great foundation for the future of our working relationships and of Truffle as a whole, and increased our personal relationships in a way you don’t get when working 100% remotely. We’ll definitely be making retreats a recurring part of working at Truffle.

Now that we’re all back to work as usual, we’ve already taken the results of the retreat to heart. We’ve implemented our new development processes (info to come soon); revamped our products and offerings to be more in line with each other; have been settling into our new roles amazingly, and with little conflict; and overall we’ve been having a great time.

There are a few things I want to make sure I remember coming out of this retreat:

You can build more of a relationship with someone in 10 minutes in person than you can in 3 months on Slack. I want to maintain this momentum and rapport. We’ve found that video calls are the closest you can get on a 100% remote team. Going forward, we’re now having one-on-one meetings every week to make sure we can keep up our rapport and ensure we’re giving each other consistent, useful feedback.

The right processes and structures are the basis for responsibility, autonomy, and trust between teammates. During the retreat we collectively decided on rules and structure that would help us work better together. These rules were meant to increase responsibility and autonomy and provide a basis of trust in decision-making where each of us are responsible for our own individual specialties. I want to increase this trust and know that each team member can make the right decisions when needed.

Building rapport with your teammates is worth the effort. In a remote team you don’t often get the chance to invite your coworker over for dinner or go to a local event. Bridging this gap is hard, and requires conscious effort, but has so many benefits including happiness, morale and general enthusiasm toward coming into work every day. I want to continue to bridge this gap and foster a culture where even if we’re a thousand miles away, we can still feel close enough to have each other over for dinner.

Final thought: I’d eat Nick’s caprese salad and Josh’s sirloin medallions any day of the week.