Senior Backend Software Engineer
Job description
About the role
The owns the design and implementation of the cloud services that act as the central nervous system for SPAN Panel, SPAN Drive, and future product generations. This role involves owning the full lifecycle of backend features from initial discovery through deployment and long-term maintenance. The hire will architect systems that securely collect, process, and expose high-volume energy monitoring data to diverse users, including homeowners and utility operators. They will define and enforce the APIs and data specifications that enable new levels of control and automation for the built environment. This position requires deep collaboration with hardware, firmware, mobile, and web teams to ensure seamless integration across the entire product stack. The engineer will bridge product requirements and infrastructure capabilities to deliver reliable, scalable features that advance electrification and decarbonization. They will act as a technical leader shaping standards for cloud infrastructure, networking, and observability across the engineering organization.
Key facts
What you'll do
- Design and develop new backend features and subsystems in the SPAN Cloud to serve homeowners, installers, fleet managers, and utility partners.
- Bridge the Cloud and Platform teams to collaborate on service deployment, reliability, and infrastructure design decisions.
- Work cross-functionally with product and design teams to deeply understand customer needs and translate them into robust backend solutions.
- Collaborate closely with firmware, frontend, and backend engineers to build cohesive products that deliver a unified user experience.
- Develop and maintain services using Kotlin and TypeScript, and leverage gRPC, REST APIs, and GraphQL for communication.
- Communicate securely with IoT devices over MQTT to ingest energy monitoring data and issue control commands.
- Design APIs and data specifications that meet the needs of both internal teams and large-scale B2B enterprise clients.
- Mentor engineers across the team, sharing knowledge and best practices to elevate the entire engineering organization.
- Maintain and evolve backend services over time, including planning for scaling, major version upgrades, and long-term technical debt management.
- Serve as the Cloud team's subject matter expert on Kubernetes, service networking, and observability to guide architecture decisions.
- Architect and coordinate full-stack solutions for new panel functionality, such as geolocation-specific demand response to reduce peak power draw.
- Design and build integrations with third-party cloud systems and a variety of external hardware partners.
- Scale the existing cloud and data infrastructure to support the growth of SPAN's fleet of devices and users.
- Build and maintain event-driven data pipelines using Kafka to process high-volume energy monitoring streams in real time.
- Define and drive the adoption of Kubernetes networking and observability standards, including service mesh and Datadog integration patterns.
- Integrate payment processing systems, including app store payments and subscription billing, into the backend platform.
Requirements
- 4+ years of experience as a backend engineer with a track record of taking ownership of projects and features from conception to production.
- Experience collaborating with engineers from multiple domains to successfully complete complex projects.
- Experience working with cloud-native platforms such as AWS, GCP, or Azure, with a current focus on AWS deployments.
- Experience working effectively within a shared codebase using industry-standard tools and processes, including version control, type systems, linting, and unit testing.
- A strong understanding of engineering principles and processes required to design robust, scalable, and resilient systems.
- 4+ years of professional experience in a common backend programming language, with a demonstrated desire and ability to work with Kotlin, TypeScript, and Python.
- Extensive JVM expertise, including a deep understanding of JVM internals, performance tuning, and memory management.
- A proven track record of maintaining long-lived services, including planning for scaling, major version upgrades, and managing technical debt over time.
- Strong experience with containerization and orchestration technologies, particularly Kubernetes, for deploying and managing cloud services.
- Experience designing and implementing secure, reliable RESTful APIs and event-driven architectures for distributed systems.
- Solid knowledge of networking protocols, message queues, and observability tools to troubleshoot and optimize production systems.
- Ability to write clean, well-tested code that adheres to strict quality standards and supports long-term maintainability.
- Experience working with time-series data and high-throughput data ingestion pipelines in a production environment.
- Familiarity with infrastructure as code practices and tools for managing cloud resources.
- Strong written and verbal communication skills to collaborate effectively with both technical and non-technical stakeholders.
- Willingness to participate in on-call rotations to support production services and respond to incidents as needed.
Nice to have
- Experience with Kafka Streams, Kafka Connect, or similar stream processing technologies.
- Familiarity with modern service mesh technologies such as Istio or Linkerd.
- Experience with cloud billing platforms and subscription management systems.
- Knowledge of energy data standards, protocols, and use cases within the electrification ecosystem.
Practical notes
This role is full-time based in San Francisco. Candidates must be authorized to work in the United States without sponsorship for this position at this time. No third-party locations or hybrid arrangements are available for this role. Travel is not required. Visas are not sponsored for this role at this time. There are no application deadlines specified.