So, what's it like working at PostHog?
All remote
Our team is 100% remote, and distributed across over 10 countries.
As well as the equipment you'll need, we provide a budget to help you find coworking space or to cover the costs of coffees for those who prefer not to work at home.
All remote has a bunch of advantages:
- We can hire amazing people from a global talent pool.
- Being remote encourages a deeper level of personal thought and writing things down.
- It allows for uninterrupted work.
- It makes results clearer, which helps us hold people to account for outcomes rather than hours spent in the office.
Diverse & inclusive
This is actually so important to us that it has its own dedicated page.
Extremely transparent
As the builders of an open-source product, we believe it is only right that we be as transparent as possible as a company.
This isn't just a meaningless corporate statement. Most of our communication happens publicly on GitHub, our roadmap is open for anyone to see, and our open source handbook explains everything from how we hire and pay team members to how we email investors!
Almost everything we do is open for anyone else to edit. This includes things like the contents of this very Handbook. Anyone can give direct feedback on work they think could be improved, which helps increase our responsiveness to the community.
We're committed to much more than just public code.
We write everything down
We're an all-remote company that allows people to work from almost anywhere in the world. With team members across many countries, it's important for us to practice clear communication in ways that help us stay connected and work more efficiently.
- It creates clear and deep thought.
- We have an open core business model. This helps the community understand our decision-making.
- It is usually clearer than a conversation, so everyone can row in the same direction.
- It is very leveraged as we grow a large community and look to hire people around the world.
To accomplish this, we use asynchronous communication as a starting point and stay as open and transparent as we can by communicating through public issues, pull requests, and (minimally) Slack.
Putting things in writing helps us clarify our own ideas, as well as allow others to provide better feedback. It has been key to our development and growth.
Don't let others fail
Everyone should help everyone else raise their game. Fatigue sets in when you complete a task, so it's easier for outsiders to help those creating the work to raise their game.
We are direct about the quality of work. That doesn't always mean work needs to be completely polished, as it depends on the speed and impact of a task. Being great at giving and receiving feedback is a key part of our culture.
Bias for impact
If given a choice, go live. If you can't go live, reduce the task size so you can.
- We are small, and can only win based on speed and agility.
- Going live forces a level of completion, on which you can build.
Default to not asking for permission to do something if you are acting in the best interests of PostHog. It is ok to ask for more context though.
Have fewer meetings
We're big believers in the importance of the maker's schedule. If we have meetings at all (which we try to avoid, see "Write stuff down" above), we'll cluster them around any standups so our day doesn't get split up. On Tuesdays and Thursdays, we don't have internal meetings at all. Occasionally an external meeting will slip in on those days such as interviews, but we try to keep those to an absolute minimum.
Structured for speed and autonomy
One of the benefits of hiring high-performing, self-sufficient, empowered team members is that we don't need to put in place some of the typical corporate structures and processes that can slow teams down.
We have optimised for this by introducing Small Teams, which prioritise speed by delegating decision-making autonomy as much as possible.
Right now, our management approach is super simple - James H, Tim and the team leaders are the only managers, and everyone else reports to one of them. We don't want to create a fancy hierarchy of titles, as we believe this can lead, consciously or not, to people feeling less empowered to make changes and step on toes, especially if they are not in a 'senior' role.
It's up to you how to get things done. If you want to make a change, feel free to just create the pull request. If you want to discuss something more widely for a bigger piece of work, it might make sense to use an RFC for a change inside your team. If you want to ship something that could significantly impact other teams, it usually works best to book a call - communicating with the relevant team (and using this to particularly focus on who you're building for, the goals of your idea before you get into the tactics) as a meeting tends to work better and usually saves time.