Senior Software Engineer (Erlang / Python) - Menlo Park, California
Summary
Senior Software Engineer designs and builds scalable, fault-tolerant distributed systems in Erlang (or similar languages) for warehouse automation and robotics platforms, collaborating with cross-functional teams.
As a Senior Software Engineer, you will be a key contributor to the design, development, and optimization of high-performance, distributed software systems that power our next-generation robotic and automation platforms. We are specifically looking for engineers with hands‑on Erlang experience, who can help us build robust, fault-tolerant systems at scale.
You will work in close collaboration with product managers, system architects, and cross-functional engineering teams to build solutions that are critical to warehouse automation, robotics orchestration, and real-time decision-making systems.
Responsibilities
- Design and implement core modules in Erlang to build scalable, distributed systems.
- Lead development of critical product features and solve complex system-level challenges.
- Collaborate with architects to define low-level design and contribute to the technical roadmap.
- Refactor and optimize existing algorithms and services for better performance and reliability.
- Review code, provide technical mentorship, and promote best coding practices within the team.
- Use simulations and testing to validate system behavior and performance at scale.
Requirements
MUST HAVE;
- 3+ years of professional software development experience with strong problem-solving skills.
- Hands‑on experience in Erlang PREFERRED and a strong understanding of its concurrency model (processes, message passing, supervision trees). ERLANG WAS REQUIRED, however we are now open to HEAVY experience with programming languages including any of the following:
- Erlang
- Elixir
- Gleam
- Pony
- Akka (Scala)
- Haskell
- Exposure to building and maintaining distributed, high-availability systems.
- Experience with microservices architecture and REST-based APIs.
- Solid knowledge of RDBMS/SQL and experience working with databases in production environments.
- Understanding of software design principles, object-oriented programming, and system design patterns.
- Familiarity with version control systems (Git or similar).
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field from a reputed institute.
- Strong analytical and debugging skills with an ability to work in a fast-paced environment.
- Clear, concise communication skills with the ability to explain complex technical concepts to diverse stakeholders.
Nice to Have
- Background in real-time systems, telecom-grade architectures, or robotic platforms is a plus.
- Exposure to CI/CD pipelines and containerized deployments (Docker, Kubernetes, etc.).
Benefits
- Comprehensive health and dental insurance
- Retirement plans like a 401K
- Time off benefits such as paid time off and maternity/paternity leave.
- They also offer work-life balance support through flexible hours and hybrid work options, alongside professional growth opportunities in the form of training programs and job training.