Don’t send a generic resume — generate a resume and cover letter tailored to this exact role.
Sofar Ocean is seeking a full-stack software engineer to contribute to cloud-based applications on the Spotter team. You will own features across the stack, collaborating with hardware and firmware engineers to ship the Spotter suite and APIs that interface with our sensing systems.
The role emphasizes building performant web applications using React, TypeScript, Express, and Postgres, with onsite work at Pier 28 for at least 3 days per week in San Francisco.
You will be a key contributor to frontend and backend engineering on cloud software systems on the Spotter team, which is a highly cross-functional group that designs our sensing systems and the applications that connect them. You’ll work alongside other software engineers and collaborate directly with hardware and firmware engineers to build features in applications like spotter.sofarocean.com and APIs (see docs.sofarocean.com) that interact with our hardware products: Spotter, Smart Mooring, next generation platforms, and Sofar’s open hardware connectivity stack Bristlemouth www.bristlemouth.org. You thrive in small and collaborative multidisciplinary teams, and love learning something new and surprising every day. You strive for the shared success of improving the health of our oceans and planet by shipping a cohesive, performant and impactful product. You’re a full-stack engineer with experience developing frontend and backend elements of modern web applications. Our tech stack includes React on the frontend with backend APIs written using Typescript, Express, and Postgres. You will own features across the stack and should be comfortable architecting solutions from the data storage layer to UIs. This role will be working onsite at our Pier 28 office at least 3 days per week and reporting to our Senior Engineering Manager.
We had a particular user account with rapidly increasing numbers of deployed hydrophones, reporting data more and more frequently, with many users concurrently opening the dashboard that displays complex visualizations of this real-time streaming dynamic data, so that the load on the backend system was compounding exponentially. We’re proud of some intense, fun, and successful performance testing work we did, with solutions that spanned React component data invalidation, multiple layers of caching, database index optimization, and remotely configurable thresholds on the hardware systems.
We’re currently automating some processes for configuring and updating a wide range of remote hardware devices in order to make it easier for users to manage their systems safely without contacting support. One part of the challenge is documenting the giant unwritten decision tree that has only ever been performed by our very smart and deeply knowledgeable colleagues. We all continue to surprise each other by bringing up yet another caveat or edge case that we have to account for in software.
$140,000-$179,000 + stock options
The range listed is what we reasonably expect to pay for this role at the time of this posting. We may ultimately pay more or less than the posted range and may be modified in the future. Actual compensation packages are based on several factors that are unique to each candidate, including but not limited to skill set, experience, and equity package.