Software Engineer, Distributed Compute

Base Power Company•Austin, TX
•Onsite

About The Position

Base is building software to coordinate distributed computing across thousands of physical devices deployed in homes and grid infrastructure. The Software Engineer will design, build, and maintain application-level software in systems languages such as Go, Rust, or C. The software will run on connected hardware, collect telemetry, execute compute tasks, and communicate device state to central infrastructure while meeting reliability, security, and performance needs at the edge. This is not a firmware role. The engineer will own the software lifecycle, from understanding hardware constraints and field network conditions to designing resilient communication protocols and safely shipping updates to deployed devices. The role works closely with hardware engineers, infrastructure engineers, and product teams. The software connects physical devices to cloud infrastructure and must be efficient, resilient, and maintainable. Base is a startup, so priorities and responsibilities may evolve with business needs. The company works in person and describes its work as not being a 9-to-5.

Requirements

  • At least 3 years of production software experience on physical devices, IoT systems, or embedded systems; the role involves software running on devices, not firmware.
  • Strong experience in C, C++, Rust, Go, or equivalent systems languages.
  • Deep understanding of networking, HTTP/REST APIs, and device communication protocols.
  • Experience building software that handles unreliable networks, offline states, and eventual synchronization.
  • Familiarity with Linux or equivalent operating systems at the system level.
  • Understanding of battery life, memory constraints, and performance optimization on resource-constrained hardware.
  • Comfort owning backend device software end-to-end, from development and testing through deployment and monitoring.

Nice To Haves

  • Experience with real-time or safety-critical systems.
  • Background in automotive, robotics, industrial IoT, or energy/utilities.
  • Experience with over-the-air (OTA) updates and device management platforms.
  • Familiarity with containerization or lightweight runtimes such as Docker or systemd.
  • Experience with gRPC or other RPC frameworks for device communication.
  • Exposure to cryptography and secure communication on devices.
  • Experience with distributed tracing and understanding system behavior at edge scale.

Responsibilities

  • Design and implement core device software that runs reliably on thousands of deployed devices, targeting greater than 99.5% uptime and reducing software-related incidents through improved error handling, telemetry, and observability.
  • Build device-to-cloud communication protocols that handle network interruptions, packet loss, and latency without data loss, while maintaining state consistency across distributed devices.
  • Create safe, rapid deployment infrastructure and tooling for field updates, including rollback mechanisms and health monitoring.
  • Develop telemetry systems that enable diagnosis and remote debugging while limiting bandwidth use and privacy intrusion.
  • Design software around hardware constraints such as memory, CPU, power, and storage.
  • Collaborate with hardware engineers to understand device capabilities and limitations and make sound architectural decisions.
  • Partner with infrastructure teams on device-to-cloud synchronization protocols, authentication, and secure communication.
  • Ensure code is tested, reviewed, monitored, and maintainable, applying rigor comparable to backend services.
  • Own backend device software end-to-end, including development, testing, deployment, and monitoring.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service