/Ian Vanagas

How We Decide What To Build tl;dr: “There is a point in your product journey where what to build next goes from obvious to unclear. The options seem endless and choosing correctly can be the difference between a thriving product and a failing one.” Ian discusses how to navigate this. 

featured in #506


How We Work Asynchronously tl;dr: Besides being difficult to pronounce, being asynchronous means people can work autonomously and on their own schedule, even if other teams members aren’t immediately available. This post shares PostHog's not-so-secret strategies for working asynchronously across 11 countries.

featured in #476


How To Uncover Your Users' Real Problems tl;dr: Users are like kids at Christmas. They say they really want this one thing, but that one thing won’t keep them happy for long. Solving their unspoken problems will. And the best way to uncover them is to ask really good questions. This post covers what the best lessons PostHog has learned about asking user's questions.

featured in #475


10 Things We've Learned About A/B Testing For Startups tl;dr: “In this week’s issue, we explore the secrets of running truly successful A/B tests (and some pitfalls to avoid).” These include: (1) You need to embrace failure. (2) Good A/B tests have 5 traits. (3) Use the “right place, right time” rule. (4) Create a proposal system. (5) Understanding significance. And more.

featured in #454


When, Why, And How GitHub And GitLab Use Feature Flags tl;dr: Ian discusses several benefits, such as reduced stress on developers, fewer failed deployments, and a higher rate of shipping features. GitLab calculated that fixing an issue without flags is as time-consuming as "developing a whole new feature." The article explores the advantages of feature flags over long-living feature branches for collaboration. Feature flags keep code changes small, make reviews easier, and limit merge conflicts. Both GitHub and GitLab use feature flags not just based on users but also on "actors" like organizations, teams, and repositories to create consistent experiences.

featured in #445


A/B Testing Examples From Airbnb And YC's Top Companies tl;dr: Ian provides a comprehensive look at A/B testing examples from various successful companies, including Monzo, Instacart, Coinbase, Airbnb, and Convoy. It explores different approaches to A/B testing, such as Monzo's low-risk "pellets" strategy, Instacart's complex sampling problem-solving, Coinbase's scaling of tests, Airbnb's interleaving and dynamic p-values, and Convoy's Bayesian approach.

featured in #437


Why We Test In Production (And You Should To) tl;dr: "Testing in production successfully is a multi-step process, and this post goes over what it is, why we do it, and how to do it well." Ian covers various types of production testing, such as usage tracking, feedback, monitoring, load testing, and integration testing.

featured in #428


The Modern Data Stack Sucks tl;dr: “The problem with the modern data stack is that it often fails the people it was originally meant to serve. It creates a gap between engineers and the data that is valuable to them. They are unable to self-serve and must learn the modern data stack tools, or rely on the data team for insights.”

featured in #410


Why We Use GitHub As Our CMS tl;dr: Ian explains the following 3 reasons in detail: (1) GitHub enables transparency and open contributions, values that are core to the company. (2) Github has most of the necessary tools for content workflows and Ian illustrates PostHog’s workflow here. (3) GitHub keeps the company engineering-focused.

featured in #403


What Is A Product Engineer (And Why They're Awesome) tl;dr: "In this post, we define the role of a product engineer, break down the characteristics of the role, go over their skills, and finally figure out why they matter. We base this information on industry research, and job posts from top startups hiring product engineers, which we quote throughout."

featured in #380