Senior Product Engineer - Nooks
San Francisco, CA
About the Job
What is Nooks?
Nooks is a platform transforming sales reps from manual laborers to scientists. With today's technology, sales reps shouldn't need to manually write hundreds of emails, research hundreds of websites/linkedins, and make hundreds of calls. They should instead focus on the parts of their job that actually require people - talking to customers, being creative, and problem-solving. With a combination of AI tools, automation and real-time collaboration, Nooks can do the rest.
The problem
Sales pipeline is critical for growing companies. Many, especially B2B companies, have teams of sales/business development representatives (SDR/BDRs) or full-cycle account executives whose responsibility is to identify, contact, and qualify new potential customers. There are ~750,000 SDR/BDR's in the US alone (e.g. Airtable, Brex, Databricks and many other tech companies have sizable SDR/BDR teams)
In their day-to-day, SDR/BDRs spend time on 3 main activities:
- Prospecting & research - identify a list of potential customers using signals like industry, size, fundraising, headcount growth, new hires, job descriptions, etc.
- Email & LinkedIn messaging - write messages to those contacts to convey the problem and pitch your product. The goal is for them to book a demo
- Calling - Live phone conversations often have higher conversion than emails because they're more personal, but there's a lot more manual work involved
Most of the sales rep's job can be automated with today's technology: large language models, web scraping, automation, integrations, etc.
The role
We have an ambitious product vision in a nascent area - AI-powered realtime collaboration - so there are a ton of interesting technical challenges on our roadmap. We're hiring talented full-stack/backend/ML engineers who are product-minded and excited to delight our customers. We expect every software engineer on our team to be able to work within a complex code-base, own entire product areas, and build new features end-to-end.
Examples of engineering problems we're working on
These are just examples, this list is non-exhaustive, and you definitely don't need experience in all of these areas. But hopefully you find some of them exciting!
- Concurrency & distributed systems
- Our smart dialer places calls in parallel and runs a realtime AI model on each call. There are some interesting concurrency problems syncing state between Twilio, our backend, and the frontend, and knowing which calls to connect, which to continue in the background, and when to start the next call.
- Realtime audio AI & precision/recall/latency tradeoffs (algorithms & models)
- We use audio data, transcription, silence detection, and several other signals to detect whether a live phone call is a voicemail, a human, or a dial tree. Here, latency is a third factor added to the standard precision/recall tradeoff because it's important we can detect humans quickly. Our approach involves LLM embeddings, few-shot learning, data labeling, and continuous monitoring of model performance in prod.
- Latency (infrastructure)
- If our model took 5 seconds to detect a human on a phone call, the human would hang up. It's imperative we can detect quickly and that our users can execute calls quickly. There's latency across the detection pipeline including transcription models, audio models, websockets, Twilio API, database transactions, etc.
- Smart call funnels & playbooks (data wrangling, backend eng, GPT-3, UX)
- At what point in the conversation do my reps get stuck? What are the toughest questions that we need to address? Can I “program” a playbook so that Nooks will help my team standardize toward best-practices? We're using GPT-3 and other LLM's to turn companies' mostly unstructured call data into actionable strategies & feedback loops.
- Conversation embeddings & markov models (ML modeling)
- What does the anatomy of a call look like? If I say XYZ, what are the different ways the prospect might answer and the probabilities of each? Conditioned on the first half of the call, what do I say next to maximize the likelihood that I book a demo at the end of the call? Can we use LLM's to generate embeddings of conversations that we can use to cluster similar conversation patterns and predict where the conversation is headed?
- Integrations
- Our dialer integrates with customers' sales engagement platforms. Every new platform we integrate with, that opens up a larger market for our product. When building integrations, we need to make sure they're robust, reliable, and well-abstracted.
- Frontend performance
- There's a lot going on in the frontend - WebRTC, Twilio, React rendering, websockets, etc. And people use Nooks throughout the workday, so we need to make sure our app is performant across a wide range of devices
Requirements
- 5+ years of experience as a software engineer or in a related technical role
- Ability to work with our stack:
- Frontend: React, Typescript, MobX
- Backend: Node.js, Express, Typescript
- Technologies: Firebase, Firestore, Websockets, Twilio, WebRTC, Postgres, Redis
- ML: GPT, Transformers, PyTorch, signal processing, few-shot classification.
- 3+ years experience building complex systems (ideally somewhat related to ours)
- You're a confident, independent, and experienced engineer who is used to extreme ownership and solving hard problems
We offer competitive compensation because we want to hire the best people and reward them for their contributions to our mission. We pay all employees competitively relative to market. In compliance with pay transparency laws and in pursuit of pay equity and fairness, we publish salary ranges for our open roles. The target salary range for this role is $140,000 - $240,000. On top of base salary, we also offer equity, generous perks and comprehensive benefits.