What are the responsibilities and job description for the Sr. Software Engineer - Erlang/Elixir/Akka(Scala) position at FlairX?
About Employer:
We are looking to hire a Senior Software Engineer- Erlang/Elixir/Gleam for our client, a robotics unicorn based in San Francisco, CA. Backed by over $500 million in funding from top-tier investors, our client is at the forefront of developing cutting-edge machine learning technology. They are building pioneering intelligent automation systems that power some of the world’s largest warehouses and retail operations.
About the Role:
We are seeking a Senior Software Engineer with a strong foundation in functional programming, concurrent systems, and actor model architectures. You will work on designing and building robust, scalable, and highly concurrent backend systems using cutting-edge languages like Erlang, Elixir, Gleam, Pony, or Scala with Akka or Haskell
This role is ideal for someone passionate about building fault-tolerant distributed systems and experimenting with modern type-safe, concurrent languages.
Key Responsibilities
- Design, implement, and maintain backend services using actor-based and functional languages.
- Build scalable, data-race-free concurrent systems.
- Collaborate with cross-functional teams to develop backend APIs and services.
- Contribute to architectural discussions and performance optimizations.
- Write clean, testable, maintainable code.
- Mentor junior engineers in functional and concurrent programming.
Languages & Frameworks
Experience with at least one of the following:
- Erlang (BEAM, OTP)
- Elixir (BEAM, OTP)
- Gleam (typed functional on BEAM)
- Akka (Scala) – Actor model on JVM
- Pony – High-performance, safe actor model
- Haskell – Purely functional systems
Must Have:
- 5 years of professional software development experience with strong problem-solving skills.
- Hands-on experience (3 years) in Erlang or Elixir or Gleam or Akka, or Pony, or Haskell, and a strong understanding of their concurrency model (processes, message passing, supervision trees).
- 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).
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.).
Qualifications:
- 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.