Highnote is seeking a Lead Software Engineer with a unique blend of front end architecture, backend services, and dev ops experience to help us build out critical product infrastructure.About Highnote
Highnote is building the simplest and most effective way for audio creators — musicians, podcasters, voiceover artists — and their teams to collaboratively make comments, exchange ideas, and collect listener feedback on their audio. We’re venture-backed by the same investors behind productivity tools like Airtable and Superhuman.Check us out here
. ⬅️Our Core Tech
Highnote is a modern, real time creative productivity tool running on a lean, serverless stack.
- React w/ ES6
- Firebase (Firestore, Cloud Functions, Storage)
We're seeking a Lead Software Engineer with a unique blend of backend and dev ops experience to help us build out critical product infrastructure. At Highnote, we're considering Platform to collectively describe the systems, services, patterns, and tools that support UX development. This includes designing APIs, data models, dev ops tools, front end and backend frameworks, serverless middleware, and more.
- As a lead-level engineer, you've been responsible for leading the development of a product, large feature, or service in the productivity/collaboration space from the ground up.
- You have a deep understanding of software engineering fundamentals (complexity, inheritance, abstraction, composition, functional vs OOP, separation of concerns, etc) and can apply these concepts to everyday, practical software design decisions.
Backend, Architecture, and Ops
- Having shipped large features and products, you have a knack for systems design and architecture. You know how to structure and organize various components (APIs, services, data models, etc), so that they interact and rely on each other elegantly. Your design decisions are backed by clear, succinct ontologies that other developers can easily intuit.
- You're familiar with the key concepts of traditional monolithic server side architecture and understand how these concepts differ in "JAMstack"-style, client-first architectures.
- You have a wide range of experience writing APIs, services, and serverless functions that elegantly pass data between clients and other services.
- You have a wide range of experience with data modeling, and understand the key differences between SQL and noSQL environments.
- You’re well versed in modern testing, debugging, CI/CD, and automation techniques, and have implemented these components in projects.
- You’re familiar with React and its modern patterns (hooks, contexts etc).
- You’re expert in SPA architecture and the modern ES6 patterns it relies on (promises, async, fetch, state management, code splitting, lazy loading, etc).
- You’re familiar with Web Storage, Service Workers, and other modern APIs that enable native-like experiences in the browser.
- You can fetch, shape, and cache data from APIs and backend services with ease. You understand how to pipe data throughout a front end application using modern state management techniques.
- You’re communicative, sensitive, and emotionally aware. You value patience, level-headedness, perspective, and kindness during discord and debate. TLDR, you keep your cool.
- You’ve mastered the art of breaking down, discussing, and communicating complex technical ideas and concepts. You can produce and articulate compelling cost/benefit analysis around technical decision making and know how to make a business case for your technical proposals.
- Having architected large features and products, you're familiar with a variety of software project management techniques and know when, how, and why they should be leveraged on a small team.
- You have a portfolio, website, or social media page that provides additional context about you, your projects, interests, and unique professional/creative perspective
- Your application materials create a compelling and dynamic package that you feel will get folks excited to work with you
Our ideal candidate is an ambitious individual contributor who's excited to grow into a leadership role.
- Within 3 months, you'll onboard with our technical founder, Jordan Bradley. You all will pair on important projects, and he'll assign you tickets designed to get you up to speed
- Within 8 months, roles will begin to switch. You'll become the expert, and, leveraging your experience as a lead engineer, will become responsible for proposing, leading, and resourcing large projects. Jordan will look to you to provide technical direction and will continue to support you as an individual contributor as his capacity allows.
- Within 12 months, you'll have the opportunity to hire and onboard a direct report as Jordan transitions away from code and toward overseeing the product function as a whole.
Here are some examples of projects you might take on at Highnote:
- Build frontend and backend frameworks that make it easier to interact with our data layer and other disparate services.
- Write backup and migration tools.
- Build a service to compress audio uploads and make them available to users in different formats.
- Design and implement a unique user roles/permissions model.
- Design and implement a scalable data model atop our noSQL database, and enforce it with isomorphic object validation.
- Migrate our codebase to Typescript.
- Build an internal admin tool.
- Build out a test suite and CI/CD flow.