About the Discovery team
The discovery team is focused on making it delightfully easy for users to find the startups they’re looking for. We source, transform and index terabytes of data, build models to make sense of the data, and build product experience to facilitate users actively and passively discovering startups at the right time.
The role
We are looking for an engineer to join our team and help us unlock the full potential of our most critical asset: our data. You will have direct impact on our revenue and customers by ensuring that our systems can handle the complex relationship between our entities. You will be responsible for scaling our knowledge graph infrastructure and managing our time series data. You will also evaluate and improve our data storage and taxonomy systems, and mentor and manage other engineers on the team.
What you'll do:
- Derive deeper insight from our data by scaling our current knowledge graph infrastructure to handle hundreds of millions of datapoints.
- Deeply understand how our insight layer is connected to the rest of our application layer and ensure the needs of our customers and teams are met by focusing on performance, observability, and most importantly customer demand.
- Evaluate how we store time series data and help us scale it 10x the current throughput in an iterative manner.
- Leverage ML infrastructure and services to continually improve our taxonomy and derive relevant signals from the underlying data.
Role requirements:
- 5+ years of building highly performant, highly observable, and highly scalable systems.
- Extensive experience in search systems (search, recommendations, and knowledge graphs). Passionate about making discovery more intuitive and user-friendly.
- Experience with search technologies (Lucene, Elastic Search, Solr, etc).
- Experience with streaming technologies (Pub/Sub, Kafka, RabbitMQ, etc).
- Experience with various data storage solutions (SQL, NoSQL / key-value stores).
Plus If...
- 2+ years of experience in an early-stage startup.
- 3+ years of experience in leading teams either as a Technical Lead or Engineering Manager.
- Proven track record migrating systems in a changing environment that allows for little to no downtime to meet increasing demand.
- Obsessed about your craft and share your knowledge (tech talks, articles, open source, etc).
- Experience in working in Python/strongly typed languages.
Pay
$170K - $250K Salary + Equity (flexible depending on the level)
The Process
Here’s our interview process:
- (30 mins) Introduction Chat: Let's discuss whether Harmonic is the right place for you. We'll review your experience and allocate time for any questions you may have.
- (30 mins) Initial Technical Screen: A technical discussion where we deep dive into how you'd approach a few different problems. Don’t worry, this won’t be a LeetCode-style interview :)
- (~5 hours) Take-Home Exercise: We will send you a description of a challenge akin to ones you would face at Harmonic and ask you to come up with a creative solution. Understanding that schedules can be tight, you’ll have a 48-hour window to complete this at your convenience.
- Interview Day: To streamline the process and respect your time, we try to consolidate the following into one day:
- (45 minutes each) Team interview: Meet with a member of our Product team to see how you would collaborate and Sang, our Head of Engineering, to make sure there is mutual culture fit.
- (2.5 hours) Engineering Jam Session: Detailed discussion of the take-home to measure technical skills. This will involve coding with 2-3 engineers on our team.
- (45 min) Get to know Max, our CEO!
- (Async) Reference Checks.