Senior Elixir Software Engineer
Role details
Job location
Tech stack
Job description
- Own and deliver complex distributed system features end-to-end, from technical design through production deployment and iteration across satellite command and control, mission planning, mission data processing, and data analysis systems
- Drive architectural direction for Elixir/OTP systems, establishing patterns and conventions for fault tolerance, concurrency, and scalability that scale across the team and codebase
- Proactively identify and address technical debt, reliability risks, and performance bottlenecks in distributed systems
- Set the quality bar through rigorous code review, championing testing practices, and writing code that serves as a reference implementation for the team
- Mentor and elevate junior and mid-level engineers through pairing, design discussions, and constructive code review that teaches, not just approves
- Collaborate as a technical partner with product, frontend engineers, backend engineers, space operators, and astrodynamics algorithm engineers, contributing to system-wide architectural decisions
- Ship efficiently and iteratively, breaking complex distributed systems work into well-scoped increments while maintaining a bias toward completion over perfection
- Document decisions and patterns, ensuring the team's collective knowledge grows and onboarding becomes easier over time
What Success Looks Like In This Role :
- You see a PR from a junior engineer that works but misuses OTP patterns; you don't just approve it; you take the time to explain the supervision tree design and why it matters for fault tolerance
- You notice a GenServer is becoming a bottleneck under load; you propose and implement a redesign using dynamic supervisors or process pooling, then document the pattern for the team
- You're assigned a feature and the requirements are ambiguous; you proactively clarify with product and operations, propose a technical approach, and share it with the team before diving into implementation
- You see downtime as an opportunity, not a break; you're the kind of engineer who notices the intermittent cluster synchronization issue everyone's been working around and decides to finally fix it
- You disagree with an architectural decision; you articulate your concerns constructively, propose alternatives with tradeoffs, and commit fully once a decision is made
- You're thinking beyond your current ticket; you're aware of how your work fits into the broader ground system architecture and operational mission, and you surface risks or opportunities early
Requirements
- Minimum 7 years of software development experience
- Expert-level command of Elixir and OTP, including deep understanding of BEAM internals, scheduling, process architecture, supervision strategies, and runtime characteristics
- Deep expertise in designing and building resilient, fault-tolerant distributed systems, including advanced patterns for process supervision, clustering, and state management
- Strong testing philosophy and hands-on experience with ExUnit, property-based testing, and integration testing strategies for distributed systems; you understand what to test, not just how
- Proven experience designing and evolving service architectures, API boundaries, and inter-service communication patterns at scale
- Fluency with gRPC, RESTful, and WebSocket-based services, including debugging integration issues and contributing to API design discussions
- Comfort operating across the stack when needed; you can read frontend code, understand infrastructure constraints, and collaborate effectively with engineers across disciplines
- Track record of working in Git-based workflows with high standards for commit hygiene, PR quality, and collaborative review processes
- U.S. Citizen and eligible for DoD Secret or TS/SCI clearance, * Bachelor's degree in computer science or a similar discipline
- Experience as a technical lead or primary backend on a product with real users and production constraints
- Deep understanding of OTP, including BEAM scheduling, GenServers, run queues, pg, the Actor model, and advanced patterns like dynamic supervisors, registries, and distributed process groups
- Experience building and shipping complex, real-time systems with demanding reliability and performance requirements (real-time telemetry, large-scale data processing, mission-critical operations)
- Experience with OAuth2, role-based access controls, and security patterns for sensitive systems '
- Deep database experience with PostgreSQL, including schema design, query optimization, and operational concerns at scale
- Experience with monitoring, observability, and distributed tracing in production systems (e.g., OpenTelemetry, Prometheus, Grafana)
- Strong collaboration and communication skills that let you thrive in a culture that values respectful, professional, and constructive conflict
Benefits & conditions
You do not need to have experience building space ground systems or experience in aerospace. You'll have ownership of challenging, greenfield problems and a chance to fundamentally impact the outcome of future conflict (and the future of the company), all while enjoying world-class benefits including platinum healthcare, flexible work hours/location, highly competitive compensation, and a generous stock options package., Benefits offered to vary by the contract. Depending on your temporary assignment, benefits may include direct deposit, free career counseling services, 401(k), select paid holidays, short-term disability insurance, skills training, employee referral bonus, affordable medical coverage plan, and DailyPay (in some locations). For a full description of benefits available to you, be sure to talk with your recruiter.
This position requires access to technologies and hardware subject to US national security-based export control requirements. All applicants must be US Persons (8 USC 1324b(a)(3)), or otherwise authorized by the U.S. Government. No company sponsorship will be offered.