Senior Software Engineer, Netcode (Backend)
Viam is a software platform that makes it easy to turn great ideas into production-ready smart machines & robots at scale. Viam works with any hardware and has modern architecture, easy developer APIs, cloud connectivity and tools, and enterprise-grade security to give even the leanest teams the power to launch and manage their smart machine businesses.
Viam makes building, deploying, and monitoring smart machines a more flexible, affordable, and user-friendly experience, allowing developers to do more with smart machines while getting them to market faster. By making smart machines more accessible, Viam is attracting talent and investment to the industry so that more people start building automated products and services that improve our quality of life.
Viam's products are built by engineers, for engineers, creating a platform we would use ourselves.
As a Senior Software Engineer on the NetCode team, you’ll develop backend features that enhance the developer experience for creating smart machine applications. You'll contribute to the foundations of the viam-server application, enabling other teams to build richer features in the future, and you’ll work deeply on Viam’s network connectivity suite
In this role, you will:
- Write, review, and improve code for core backend features.
- Collaborate closely with and mentor other engineers.
- Propose and evaluate technical designs, prioritizing tasks with the team.
- Help shape the technical roadmap for features and system improvements.
Our immediate projects include:
- Expanding functionality in the gRPC API to reveal robot configuration and resource graph states.
- Enhancing communication stack stability for dependable and reliable connectivity.
- Developing diagnostic tools to ease the process of troubleshooting smart machine issues.
Hybrid role (~3 days a week in our NYC office located at 1900 Broadway).
You’ll be:
- Part of a nimble team iterating rapidly to create significant impact.
- Influencing our application’s architecture and broader technical direction.
- Engaging with diverse client types, from browsers to smart machines, mobile devices, and SDKs.
- Working with protocols like gRPC, WebRTC, and HTTP to enable cross-platform connectivity.
- Learning and advancing the use of WebRTC in smart machine communication.
- Given opportunities to dive deeper into robotics, Internet of Things, and other areas where software meets hardware.
We’re looking for someone who:
- Has solid experience in backend development and is excited to dive deeper into distributed systems
- Finds energy in collaboration and thrives in a team-oriented environment
- Enjoys adapting to evolving product goals with flexibility
- Has experience diagnosing and resolving challenging technical issues
- Enjoys mentoring and developing junior engineers
- Prefers in-person collaboration in the office but is also comfortable with remote team members
Apply for this job
*
indicates a required field