A few years ago, someone wanted to buy Honeybadger.

As a part of the deal, we would continue to work on the app as a part of this larger company. It was a good offer; it really made us think about what we want out of life and why we do what we do.

We turned it down.

Why on earth would we do that? The answer is one word that is so important to us, that the money didn’t matter:

Freedom.

It’s at the heart of everything we do at Honeybadger, and we didn’t want to lose that.

I wanted to tell that story in order to illustrate a point: Honeybadger isn’t just a business, it’s a way of life. That life centers around a few core values:

  • Family is more important than work.
  • Health is more important than success.
  • Financial independence is more important than being rich.

…but how do you have freedom and run a successful business?

Honeybadger is 100% remote, with no office, no employees, and absolutely no meetings.

OK, we have a few meetings, but mainly just to talk about the things I want to discuss in the rest of this article.

We’re focused on a healthy remote culture

Working remotely lets us design our unique environments, schedules, and habits in a way that is impossible in an office setting:

  • It gives us the freedom to work (and play) from anywhere.
  • It keeps us healthier because we can make self-care an integrated part of our work days (we all have daily exercise routines, and we also like to take long walks).
  • It’s more efficient: we don’t spend hours per day in traffic, and it lets us structure our days in the way that is most productive.
  • Our families love it because our schedules work around the family rather than working the family around a work schedule.

The result is a work culture which doesn’t dominate our lives.

We work on what motivates us

We usually work on Honeybadger. I say usually because we also each have side-projects. Some are money-making ventures, others are hobbies. Side-projects are encouraged; sometimes we even collaborate individually on different things.

Honeybadger happens to be what we all want to work on most of the time–going on 6 years!

When choosing what to work on, nothing is off limits. While we each tend to specialize in one or two areas, if we get bored, there’s always something new to explore.

We prefer asynchronous communication

When we work together, we don’t pair program; we like closed doors and headphones too much (it’s also difficult when you aren’t online at the same time).

We used team chat every day before it was cool (IRC, Campfire, now Slack), and it’s still our favorite place to hang out. We use it for impromptu conversations and to stay in touch throughout the day.

While we love chat, we always prefer asynchronous forms of communication–this allows us to avoid having the same schedules. Email, Basecamp, and GitHub are our favorite places to have long-form discussions. Even on Slack, it’s expected that replying immediately is optional.

When we do need to communicate face-to-face, we’re quick to jump on appear.in.

We document everything

We used to have a bunch of undocumented processes that lived inside our heads. That’s a problem when you want to be free to move between different areas of the business, or take some time off and let someone else step in and do your job.

Lately we’ve been taking the time to document the process (we call them systems–we’re engineers, after all) for literally everything, and it’s made a huge difference in our ability to delegate to each other.

We store our systems documentation as markdown files in a GitHub project called (surprise) “systems”.

Here’s an example of the types of systems we’re documenting:

Company
    Strategic Process
    Compliance
Product
    Features
    Support
Marketing
  Promoting Things to Developers
  The Blog
  Email Marketing
  Social Media
  Search Engine Optimization
  Exceptional Creatures

We also focus a lot of time on our customer documentation, which not only cuts down on the number of customer support requests we have to handle, but is another great internal resource.

We automate everything

Automation is central to everything we do. It’s the key to our business plan; our silver bullet which allows us to run a complex, ops-heavy startup with a scrappy team of 3 people.

Documentation is the first step of automation. If nothing else, it automates the process of researching or remembering how something works. It’s just the beginning, though. Most problems have an automated solution, and our primary responsibility is to find it.

Here are some examples:

  • We used to store boxes of t-shirts in our closets, haul them to conferences (and through airports), and drive to the post office to mail them to people.

    Solution: Printfection now manages our inventory and does all of this for us. We just copy and paste a link.

  • We used to get paged a lot when customers would send us torrents of data which our infrastructure couldn’t handle. The fix often required manual diagnosis.

    Solution: Our auto-scaling infrastructure at AWS now handles automatic provisioning and de-provisioning of servers on demand.

  • We used to get a lot of repetitive customer service requests which required administrative knowledge.

    Solution: We built self-service tools into the product, eliminating these requests entirely.

We plan strategically

Strategic planning is essential to make forward progress in the right areas of the business. We struggled with this in the early years; planning requires meetings, but we’re engineers—we hate meetings, and would rather be building. It’s hard.

We finally read some books and found a process that works for us. Each quarter, we have a 1-day retreat where we get together in person to plan and make big decisions. The result is a 1-page quarterly action plan which includes some goals which — if achieved — will move the business forward.

We use a Basecamp project to create the agenda for our retreats and track our progress throughout each quarter. We also have a weekly standup (30 minutes or less) via appear.in to discuss our progress (we regularly skip this meeting when we’re already on the same page).

Since we don’t see each other a lot in person, we really look forward to hanging out at our retreats, and usually plan something fun for after we get the work out of the way.

We hire entrepreneurs like us

We are all independent entrepreneurs who have Honeybadger in common, and we like to work with people like us. We hire experienced consultants who share our vision and want to make a big difference in the business.

Honeybadger is also a fun environment for developers who don’t want to be stuck in one language or technology (we don’t).

While we do write a lot of back-end Ruby code, we have projects which use many different languages, including JavaScript, Elixir, Python, Go, PHP, and even Java. We work with many platforms and frameworks like Rails, Phoenix, Laravel, and Node. Then there’s the ops side, which offers us numerous opportunities to dive into AWS, Ansible, Docker, etc.

We’re currently trying a “many hands make light work” approach. This is something we’re still experimenting with, and I’m really excited about it. If you’re a consultant and want to work/hang with us, shoot me an email and tell me what you love about Honeybadger.