Why I’ll never go to an office again

Over the past few years I’ve had the chance to work with many distributed teams. Most of them were startups, but I’ve also done remote projects for larger corporations. I honestly have never been happier with my work-life balance and I firmly believe that distributed teams are the future of engineering organizations. I can no longer imagine living and working any other way. In this post I want to discuss what about remote work had the biggest impact on my personal happiness as well as some of the things I’ve learned along the way.

Increased productivity

Working remotely has helped me to better understand my body. Previously I didn’t have much choice in setting my hours. By tracking my productivity over the course of the day I found that I am most productive in the morning (6-11am) and early evening (4-6pm). I essentially can’t get any intellectually demanding work done during noon or late at night. Being in the office from 11-3 is a waste of time for me and for the company I work for. I don’t produce any output and I feel horrible. Setting my own schedule means that I can take a break at noon, get lunch, work out or go for a run, take a nap, and run some errands. Afterwards I feel happy, re-energized and ready to get stuff done again. I know plenty of people who love to work late at night. So why not let them?

While some centralized teams offer flexible hours with they usually come with limitations. If you have a long commute (next point) what can you really do within 4 hours of free time? What if there’s no gym or track around your office? What if you want to buy groceries for your home? What about the peer pressure of eating and hanging out with co-workers? If you’re the only person in the office at midnight what’s the reason to being there at all?

No commute

Studies have founded that a long commute has negative effects on life dissatisfaction. The longer the commute the more pronounced these effects are. Some people succeed in setting up a home office but for many (including me) it’s rather difficult to get serious work done at home. I typically work from a co-working space pretty close to my house. So it isn’t quite true that there is no commute, but usually the commute is much shorter and doesn’t feel like a commute. For example, I walk to my favorite coffee shop in the morning and enjoy getting some fresh air. That’s pretty different from a 1-hour drive and being stuck in traffic.

Reducing the commute has been huge for me. You may have gotten used to it already, but don’t underestimate the stress that comes from commuting. I no longer worry about when exactly to leave home, whether or not there’s traffic, or when I will arrive at my office. As result I feel less stressed and more productive throughout the day.

Flexibility and ability to travel

Centralized teams have setup a structure of synchronous communication where not being in the office at usual times breaks processes like scheduled meetings. Distributed teams typically designed their communication structure to be asynchronous and less reliant and people being available at the same time. This means that occasionally changing the times you work isn’t such a big deal. When I have an appointment, errands to run, or want to show a friend around town I simply change my hours to make room for it. I can also satisfy my urge to travel to other places or countries. My favorite places to live in are currently Japan and Thailand, and I’ve been traveling back and forth between them.

Office politics and gossip

This point isn’t really a result of working remotely but rather of how distributed teams or typically setup and run. Humans are social animals and as the team grows it’s inevitable that office politics and social hierarchies develop. I am not talking about professional relations, these are usually pretty clear, but interpersonal ones. Things that are seemingly unrelated to work, such as forgetting someone’s birthday, deciding what to get for lunch, or not going out for beers with the others inevitably spill over to professional interactions (sometimes just subconsciously). While some people benefit from these things, they can become a huge factor of stress and work dissatisfaction for others.

Distributed teams don’t avoid office politics completely, but almost. Restricting in-person social interaction and focusing on trackable results and metrics leads to significantly less politics and stress. Separating work and personal life is much easier when working remotely.

What about the employer’s perspective?

To make distributed teams the norm we need to make it lucrative for both sides, the employee and the employer. This post is written from the employee’s perspective and that’s arguably the easier side to convince. The benefits for the employee are pretty well understood and there are enough people who want to work remotely.

However, making distributed teams more productive than centralized ones is hard. Asynchronous communication is probably the main reason for this. Most distributed teams I’ve worked with were probably less effective than if everyone had been in the same space. But I don’t think it has to be this way. With the right processes in place I believe that we can make distributed teams work for both employees and employers. I’ll discuss some of the things I’ve learned from the employer’s side in a future post.

I’d love to hear about your experiences with distributed teams.


Product Idea: Smart & Beautiful Spaced Repetition

This post is part of the product idea series. I’ll take an idea for a product I have, do some research, and then present it. Usually these ideas are something I want for myself but don’t have the time or motivation to work on. I’ll structure each idea roughly according to a YC application because I think its questions are a pretty good idea filter.

What is your company going to make?

We build a flashcard-based Spaced Repetition  application and API to help people being maximally effective when memorizing vocabulary, for example when learning a new language. Our application has a beautiful mobile UI and our platform makes it easy for developers to create integrations.  We also use collective review data to make smart suggestions to our users.

Why did you pick this idea to work on? Do you have domain expertise in this area? How do you know people need what you’re making?

I have been a long-time user of Anki, a popular Spaced Repetition System (SRS) that has been around for about 10 years. I used Anki extensively when I was studying Japanese, and I recently started using it again to memorize Korean Vocabulary. Anki’s functionality has been immensely helpful in memorizing vocabulary and grammar.

Anki hasn’t changed much in the past decade. By today’s standards data input feels clunky, the user experience out of date, and it’s not optimized for mobile. Typically manage my flash cards on the desktop but do all my reviews on a mobile device. The syncing functionality is slow and requires manual work. The plugin system is hard to use for developers. There are no good alternative to Anki that offer the features I need.

The need for Spaced Repetition is well established and there are a couple of successful commercial products out there. Besides language learning subjects like GMAT, SAT, LSAT and medical term memorization are good use cases for flashcard-based SRS.

What’s new about what you’re making? What substitutes do people resort to because it doesn’t exist yet (or they don’t know about it)?

People who need to memorize vocabulary (or other things) can be categorized by increasing level of sophistication:

  1. Those who do not use any system to memorize facts. These people go to classes, read textbooks, and repeat words to themselves, but do not use a formal system to make memorization more efficient.
  2. Those who make paper/electronic flashcards. They may use software such as Quizlet that is not customizable and doesn’t use Spaced Repetition.
  3. Those who download various specialized apps from the app store. For example a user may download a Learn Japanese vocabulary app on the iPhone. Such apps are easy to use but leave the user with very little control over what to learn or how to structure their learning.
  4. Those who use sophisticated and customizable SRS software such as Anki. These people want control over what they learn and how they learn it. Because software like Anki is feature-packed it is typically difficult to use for non-technical people and not as accessible to the general population. A lot of Anki users seem to be developers, science and medical students, or people somehow involved in the tech industry.

SRS software like Anki is relatively unknown to the general population so it could be that people in groups 1-3 simply don’t know about it. For example, college students taking language classes are generally tech-savvy but may have never heard of SRS.

The key to our product is to combine the advantages of 3 and 4. There are three key points I want to touch on here (there are other but I want to keep the post relatively short): Integrations, Data and mobile UX.

Despite many attempts to commercialize flashcard software Anki has stayed popular and is the the SRS of choice (see here or here or here) for sophisticated users. This is mainly due to the flexibility and extensibility that Anki offers. Let me give you an example. When I enter a new vocabulary word in Anki I can activate a plugin that automatically downloads the Google Translation Audio for the word, and plays it when I review the card. There also exist a tool to create flashcards from movies and their subtitle files. That’s something that’s impossible to achieve with any other flashcard software. However, while it’s possible to do these things with Anki, it’s not easy by any means. Plugins are not easy to create for the developer and not easy to use for the end-user. That should change. If you compare Anki’s plugin system to modern APIs we are used to (think Slack) then it becomes clear that it’s outdated it. Having a modern developer API that allows people to create plugins and integrations is key.

The second point is data. Anki (and other flashcard apps) collect a huge amount of data on what people are learning and reviewing. But they don’t use it. Here are some simple examples of how one could make use of collective data. 1. Doing entity disambiguation to figure out which users are are studying the same facts and which flash cards refer to the same entities. We could use that knowledge when someone inputs new data. For example, if one user has added a picture for the word bird then the same picture could be used by another user who is studying that word (even in another language). 2. One could make recommendations based on which terms are typically studied together by many users 3. One could analyze review data to find an efficient “study order”. For example, it may be easier to learn the meaning of the word imagine before unimaginative. There are many more interesting things you can do with collective review data and I have lots of ideas. This has been totally unexplored in the solutions I’m aware of.

The third point is a mobile-first user experience. This doesn’t need much explaining. The app must sync seamlessly across devices and have a beautiful mobile and desktop user experience.

Who are your competitors, and who might become competitors? Who do you fear most?

As explained above, there are solutions with varying degrees of sophistication.

  • Customizable open source software like Anki
  • General-Purpose closed-source apps like MemorangQuizlet or Brainscape. These solutions usually don’t offer much flexibility and their main value lies in the pre-made flashcard decks they provide.
  • Subject-specific flashcard apps found in the app store

What do you understand about your business that other companies in it just don’t get?

There are two camps of companies, both of which have their own deficiencies. We also touched upon this above.

Anki and its users are very tech-savvy. Anki allows people to track and customize anything, but does not care much about the end-user or integration developer experience.

Companies like Quizlet have a fairly good user experience but do not appeal to power users due to the lack of customization. They are not as effective as Anki due to not making use of spaced repetition algorithms, community plugins, or data.

What we really need is a combination of the above, where unsophisticated users can easily benefit from the sophistication of others, and where sophisticated users can benefit from a good UX and API.

Another point that competitors don’t understand is that review data has network effects. With more usage of the product we can use the data to provide additional value to existing and new users in the form of recommendations, better user experience (due to smart suggestions), pre-made decks, and social features. Other companies in the space don’t seem to be executing on this idea.

How will you get users? If your idea is the type that faces a chicken-and-egg problem in the sense that it won’t be attractive to users till it has a lot of users (e.g. a marketplace, a dating site, an ad network), how will you overcome that?

I believe we can make people from Anki switch over by offering a compatible data format (they can import/export to and from Anki) but providing a superior user experience and API. People using Anki fit the early adopter profile of being a tech-savvy crowd that likes to try out new things. We need ore-made card decks for a specific languages to attract such users.

Other acquisition channels could include promoting the app for in-classroom use at schools or growth-hacking language exchange websites and social networks.

How will you make money?

I believe it’s too early to think about monetization for a consumer product and all the focus should be on getting traction. As mentioned above, network effects would allow the right product to lock in users and monetize them later on. I can see several obvious paths to monetization, such as paid integrations/plugins (e.g. a developer marketplace), paid hosting of review data, paid personal analytics, or upselling of other services. Another possibility may be to have a paid product for teachers/classrooms with team features while the product for individuals stays free.

Being in Silicon Valley as a Founder – Pros and Cons

Many founders working on early-stage startups seem to want to move to Silicon Valley. The biggest hurdles are usually visa and money. But is moving to SV actually worth it? I’m not a SV veteran, I’ve only been here since 2008, but over the past years I’ve spent a fair amount of time living outside of SV. I believe this helped me gain some perspective on what Silicon Valley can and cannot provide to founders.

Common Misconceptions

Let’s first look at things that people believe to be advantages of being in SV, but which in my experience also have a flip side. I see these as not inherently positive or negative, but depending on your situation they may be worth considering.

Raising (seed) money is easy. It’s true that the amount of capital available in SV is huge, but raising money is not as easy as you may think (or as the press makes it out to be). One reason for this is that lots of startups are competing for the money. Expectations of what companies are required to show are constantly shifting. Manu Kumar has an excellent post on how seed rounds are looking more like series the A rounds a couple years ago. To have a shot at raising a seed round in Silicon Valley you better have a post-MVP product with traction and promising metrics. Having a pitch deck or an MVP without customers doesn’t usually cut it. So, SV is a great place to raise money only If you’re at the right stage.

Lots of events and communities. You can attend startup mixers, meetups, hackathons and pitch competitions all day long. You’ll have beers with founders who are usually looking for co-founders or trying to sell their product. In my experience going to these events is mostly a waste of time. The time is better spent building your product and talking to users. Also, don’t expect to meet any influential people at such events. Most of them are too busy to attend and have realized that there is little value to be gained. 

The best talent is in SV. Silicon Valley companies and famous bay area universities attract people from all over the world. True, but that doesn’t immediately benefit you or your startup. Sought-after people have dozens of excellent opportunities and you would need to offer something pretty special to attract someone to your company over the other gazillion startups out there. Expect to pay salaries or hourly rates that are 3-5x above the rates in other parts of the country (or world). You may actually be able to attract better talent in areas where people don’t have as many options as they do in SV.


Karma really exists in SV. I’m constantly amazed at how helpful people are, particularly those that I expected would be too busy to reply to me. I’ve asked favors of influential people who had absolutely zero reason to talk to me, but they still did. This is something that newcomers, in my experience especially those from a sales background, seem to have a hard time getting used to. They try to strike a deal whenever someone asks them for a favor. I think this culture is pretty unique to SV and I haven’t seen anything comparable in other cities or countries.

Selling to startups is easy. I often hear people discouraging startups from selling to other startups. I disagree. It’s bad if your total available market consists of startups only, but there is nothing wrong with having startups as early adopters and then moving upmarket. In accelerators like YC it’s extremely common that startups start out selling to the other cohort and alumni companies. There’s no better place to sell to startups than SV. Getting meetings is relatively easy, and companies are open to trying out and implementing new solutions, helping you to iterate quickly on your product.

It’s easy to relate to people. Living in other parts of the world I found it very difficult to explain what exactly I am doing to others. In some places I got tired of explaining and settled with “I’m an engineer and work for a software company” or something similar. Most people just aren’t familiar with the concept of a startup. In Silicon Valley you could probably strike up a conversation about churn rates with your barista (not that I’ve tried…) and she’ll tell you that she’s working on her own mobile app during break time. Knowing that people understand what you are doing is a very comfortable feeling. Not being able to talk to anyone about your problems can be quite depressing.


High burn rates. Medium rent for a 1BR apartment in San Francisco is about $2,500 to $3,500 (source) and increasing. There are cheaper options, such as living in the east bay, but since almost all meetings happen in SF you would be commuting all the time. That time/money may be better spent on your product and commuting is among the most significant factors of work and life dissatisfaction. If you’re in the early stages and haven’t raised a big chunk of money then these are serious expenses. Startups are a marathon, and lowering your burn rate may just make the difference between making or not. The Airbnb story is a good example of this.

An influx of people who want to make a quick buck. Even in the relatively short time I’ve been in SV I’ve seen the crowd in SV change. Many of those who used to go into Finance are now going into startups hoping to make a quick buck. I’m all for more people getting into the startup ecosystem and bringing positive change, but it also seems like startups in SV have become a more hostile environment as a result. Legal disputes between founders and people trying to trick each other with strange non-standard equity clauses seem to become more common. As startups are entering mainstream media the situation will likely worsen, and SV is the place that will feel it the most.

High Pressure. At Stanford we have something called the “duck syndrome”. On the surface it looks like you are gliding along effortlessly, but in reality you’re vehemently paddling underneath. Talk to any startup founder in Silicon Valley and they’ll tell you how they’re “crushing it”.  In reality most founders work crazy hours and things aren’t going nearly as well as it may seem. But you’ll never find out about that. As humans we tend to compare ourselves to those around us. In SV this can lead to extreme stress and pressure. Founder depression is common and not to be underestimated.

For anyone who has made the move, I’d love to hear your experience.


Why SaaS is in trouble

One of my favorite (fictitious) stories is The Dentist Office Software Story by Fred Wilson. The takeaway is that software is a commodity. If a  product is not defensible people will leave when someone builds a better mousetrap. A recent example of this is companies moving from Hipchat to Slack. Slack is the better product, and the cost associated with leaving Hipchat was low. Many people have written about how to create defensibility (e.g. marketplaces, brands and data network effects) so I won’t talk about that. If you’re interested in the topic I recommend reading what Formation 8 writes about platforms as well as things written by USV and Fred Wilson in general.

But there is something about the The Dentist Office Software Story that doesn’t quite ring true. In the last part of the story an open source movement replaces the sexy YC SaaS startup. How often have we actually seen this happen? Not very often. Most industries are still dominated by, often non-defensible, SaaS products. That’s about to change, and the reason are containers.

The main selling points SaaS had over open source software was ease of deployment and automated software updates. Most end-users are not technical. They can sign up, perhaps enter their credit card, and they’re good to go. My mom can do that. Well, deploying software using pre-built containers has the same benefits. Lots is happening in the space and soon running a container will be easier than signing up for a SaaS product. Just imagine that with the click of a button you can deploy an application within your internal company infrastructure (which can still be in the cloud). You don’t need a credit card or create new credentials. But that’s not all. There are other things that containerized open source software has going for it.

You own the data

When you enter data into your favorite SaaS product you essentially give it away. Most SaaS products don’t give data back to you and some may use it to lock you in. Even companies that are not evil and want to provide access to your data may not have the resources, legal ability, or infrastructure to do so. APIs are a good step towards this, but you have no control over what exactly an API provides or when it changes (Hi Linkedin, I’m looking at you). Giving your technical team access to raw data opens up a whole range of possibilities. Migrating to another product, integrating with other services (both internal an external) and running custom analytics and reporting are some of the things that become much easier when you own your data.

Then there’s the issue of data privacy. You may not feel comfortable giving away confidential information to a third party.  At least that’s what I feel when someone asks for access to my email account. Sometimes compliance requirements prevent you from giving data to someone else.

Trust and Transparency

Signing up for a SaaS product means you’re taking a leap of faith. How long will the company be around? What does the product development roadmap look like? What happens to your data? How good will the customer support be?  Getting honest answers to these questions is close to impossible. No SaaS company will mention in their welcome email that they will be out of cash in 2 months. But that’s what I’d like to know. Branding is a way to convince potential customers that answers to these questions are positive. It acts as a proxy between the truth and what companies want potential customers to believe.

With open source there is full transparency. You know how popular a project is, what issues have been filed, and who’s working on what. If the project has one main contributor, no updates within 2 months, and no commercial backers you can be pretty confident that you’re entering unstable territory. With open source you can make decisions based on facts, not assumptions. Communities around open source software also tend to be much stronger than those around commercial products.

End of the SaaS management nightmare

Have you worked with a company that uses and manages dozens of different SaaS services? These days that seems to be the norm rather than the exception. Connecting these services, integrating data, managing who has access to what and keeping track of all of it is a nightmare. Yes, companies like IFTTT allow you to connect products, but that’s just adding to the overall complexity.

Containers have the ability to solve this problem from the ground up. All products hosted within your infrastructure can go through the same authentication layer and have the same login. They all write to and read from the same central data repository. Think of your own internal Google Apps, but with all apps you can imagine.

The road ahead

In the future many more businesses will be deploying their software internally. As container management becomes simpler it will become accessible to non-technical users. This is almost ironical considering that the “new” model looks a lot like  old model in the Oracle days before SaaS came around.

That doesn’t mean cloud services will go away, just that their main offering won’t be software. They may become hubs of data offering value-added services that rely on scale. For example, by connecting your own data to a cloud service you may receive additional features (like recommendations) that require access to the combined data of many users. Many SaaS companies will need to rethink their business models, or the last part of the Dentist Office Software story will come true in many industries.

For entrepreneurs this is a great time to start an open source movement that challenges one of the big SaaS companies out there. Open Source adoption has never been so easy.