Senior Software Engineer, Core Systems
New
This can be a remote position.Full-TimeSenior
SalaryCash compensation of $175,000–$230,000.
Apply NowOpens the employer's application page
Job Details
- Experience
- 7+ years of experience developing software; 3+ years of experience with data-intensive or mission-critical systems.
- Required Skills
- GitC++RustCI/CDNetworkingDistributed Systems
Requirements
- 7+ years of experience developing software.
- 3+ years of experience with data-intensive or mission-critical systems.
- Proficiency in a systems programming language (Rust, C++, or similar).
- Proficiency with version control (git).
- Competency with CI/CD pipelines for automated tests and deployment.
- Experience building or maintaining network-facing software (handling connection lifecycles, protocol implementation, or communication reliability in production systems).
- Understanding of fundamentals in computer networking (L2–L4), transport protocols, congestion control, and distributed systems.
- Experience designing systems for constrained, high-latency, intermittent, and/or expensive links (e.g., satellite, maritime, remote ops).
- Familiarity with security principles for networked systems (authentication/authorization, encryption, key management).
- Ability to work in a fast-paced and self-starting atmosphere.
- Ability to communicate thoughtfully and empathetically.
- Motivation and curiosity to learn a wide variety of concepts across many disciplines.
Responsibilities
- Build and maintain the network-facing software layers that enable Node to communicate reliably with shore – from low-level connection handling to higher-level data exchange protocols.
- Design egress telemetry pipelines that use bandwidth efficiently, weighing tradeoffs between data fidelity, timeliness, and link constraints.
- Collaborate on APIs and schemas for command, control, and telemetry exchanges between subsystems, ensuring reliability is built in from the start.
- Partner with network engineers to ensure a cohesive strategy for how bandwidth is divided and prioritized among competing data streams.
- Ensure that software degrades gracefully during connectivity loss or link degradation – including buffering, retry logic, and prioritized retransmission.
- Work with network and security engineers to review onboard software for vulnerabilities, harden network-facing services, and ensure telemetry and control interfaces meet security standards.
- Analyze system performance and implement optimizations for latency, throughput, and resource efficiency.
- Extend and improve existing unit testing frameworks, integration tests, and CI/CD pipelines.
- Strengthen code review, documentation, and general software engineering practices within the team.
- Participate in design reviews, architecture discussions, and cross-team technical collaborations.
View Full Description & ApplyYou'll be redirected to the employer's site