Hacker News new | ask | show | jobs
by ktamura 3121 days ago
This article epitomizes the old adage: software engineers are terrible at estimating. I have absolutely no stake in Mixpanel, and it has its own flaws, but seeing something as misleading as this on the front page of HN means I have to write a clarifying, if not somewhat edifying, comment =/

1. Right off the bat, there's the cost of building all of this + maintaining it. Something like Mixpanel at scale requires at least two, if not three, engineers: one for client libraries, one for infrastructure (which the OP blogs about), and another for the web app (dashboard, real-time user stream, etc.) To be sure, not everyone needs all features of Mixpanel. To be really sure, nobody needs all features of any SaaS tools. But if you really want to compare apples to apples, then you have to account for these. To hire competent software engineers who can collaborate closely and maintain a complex piece of analytics software requires at least $100k per year, if not twice that based on locale. That's at least $300k and more like $600k right there.

2. The whole point of something like Mixpanel is to make analytics accessible to non-engineers. In their case, it's primarily product people and secondarily marketing/customer success. In any case, building an analytics/data product consumable by non-technical people is hard and takes way more than assembling a couple of cloud infrastructure together. If there's one reason Mixpanel is still in business, that's because of this.

3. Finally, the OP has a valid point which should have been highlighted more, if not to make their own biases more clear: Mixpanel's diminishing differentiation is dev shops/consultancies' opportunity. It is indeed incredible that a dev shop can build even a third of Mixpanel's functionality by leveraging GCP components. Mixpanel had to build a lot of its core backend systems from the ground up, including its original key-value store. Just this year, they fully migrated to Google Cloud Platform themselves, suggesting that there's really little room for differentiation among analytics vendors at the level of infrastructure components (Mixpanel's arch-nemesis, Amplitude, leverages Apache Kafka and various AWS components, most notably Amazon Redshift, heavily)

With all of this being said, one thing remains true: the most expensive cost of any software is people running them and the dependencies created around them. These may not show up as line items, but they sure are deeply embedded in your total cost.

3 comments

I think you are not counting: QA, user experience, DevOps, technical writing, security auditing, user training, integration support...

What happens if the system collecting all of your data has vulnerability? suddenly all of your apps and data are owned.

What if it's inefficient? then you have DDoSed yourself.

Non-functional requirements cannot be solved with a functional requirement mindset.

What if you are losing data? what if you aggregate it incorrectly? what if data is ingested in the wrong order? ... you get the idea.

It's not a 3 people problem. When you take on a hard problem like this you have 10 different things to cover and you need to pick all of them.

Having built something like this myself the components you actually need to write are so small and simple the scope for security issues is minimal. All the infra scales automatically.

Also, this post only addresses data flowing in one direction into BQ. Presumably they're then using something like Tableau or the Google/AWS offerings to build dashboards based on this data. There aren't many places for bugs to hide unless the BQ perms are wide open.

I agree with all three of your points concerning Mixpanel and what it would take to replace it with something similar. But I think you're being harsh when you say "This article epitomizes the old adage: software engineers are terrible at estimating".

I don't see anywhere that the article says they have replaced all of Mixpanel. It only says that they were able to replicate the functionality their client actually needed. I don't see them making claims that the solution they built is anywhere comparable to the full solution from Mixpanel. Only that it provides all the features their client needed.

Having looked into doing a very similar migration, I generally agree with you. There are performance, control, and speed gains on the back end to be sure. It's replicating the flexible, intuitive UI where the cost argument always breaks down.

That last part is the most important. It's why you're really using Mixpanel/Amplitude/other vendors. To say "we replaced Mixpanel" without addressing the front end feels a bit disingenuous to me.