Software Engineer at Heap
Heap lets you automatically capture every user interaction from web, mobile, and cloud services: clicks, submits, transactions, emails, and much more. You can then analyze it all retroactively. No tracking code required.
- Job title
- Software Engineer
- Job listing last updated at
- Feb 12, 2020
- Job listing location
- San Francisco, New York, Remote
- Job listing source
- Job listing link
- External link
We're eager to meet all types of engineers, regardless of where you live or what tools you use day-to-day. Your creativity and intelligence are much more important to us than your experience with our stack.
How we work
Happy Customers > Perfect Code. We're out to solve real problems for real people, not to write slick code or play with the hippest frameworks. We spend a lot of time thinking through how to build new features, but the goal is always for the implementation to be maintainable, not for it to be "pure."
Vision > GroupThink. A big idea starts in one person's head. We make sure he or she has the space to develop it into a fully-articulated thought before we iterate on it as a group. No brainstorming, no design-by-committee -- these produce watered-down initiatives and incremental ideas.
Writing > Talking. Instead of sitting in meetings, we develop our ideas in writing, asynchronously. Written proposals encourage clearer thought and more thorough deliberation. Our plans are always documented and our culture is remote-friendly.
What we're looking for
We’d particularly like to get to know you if:
- you communicate with clarity and precision. We care about this almost as much as your technical ability.
- you're passionate, even if it's not about analytics. There should be something you know more about than anyone on our team.
- you’ve written 10,000 lines of code that look embarrassing in retrospect. ... and you've written 10,000 lines of good code since then.
- you like fruit, sunshine, and bad jokes. We aren't robots.
What we're building
Under the hood, Heap is powered by node.js, Scala, Spark, ZooKeeper, Kafka, and CitusDB. Our app-layer stack is TypeScript, React, mobx, Redis, and PostgreSQL.
We're working on:
- Real-time infrastructure. We support an expressive set of queries that allow our users to slice and dice their data in arbitrary ways. The results need to come back with sub-second latencies. We also support materializing massive retroactive datasets into our customers' cloud data warehouses. We're working on a new distributed infrastructure to make this possible.
- Data capture. We want to provide our users with the richest possible dataset. That means building new integrations (like Android), capturing more semantic data (like A/B test groups), and pulling in data from other sources (like Stripe). All of this has to happen with virtually no performance cost or integration overhead.
- Data visualization. Building Heap is as much a design problem as anything else. The most powerful analytics infrastructure in the world doesn't matter if our users can't access that power and understand the results.