Senior Software Engineer
Posted Updated
- Parallel Systems is seeking a Senior Software Engineer to design, build, and optimize critical system applications
- You will work on high-performance backend systems that empower our rail vehicles to navigate the rail network safely and securely, as well as interface with customer’s train control systems
- Design and implement high-performance, low-latency backend systems for critical train control applications
- Develop and maintain system-level software written primarily in Rust
- Optimize existing codebases for scalability, performance, and reliability
- Collaborate with cross-functional teams to architect fault-tolerant and distributed systems
- Ensure software meets security, compliance, and performance standards
- Conduct performance profiling, debugging, and system diagnostics for complex issues
- Contribute to code reviews, technical discussions, and best practices within the team
- What Success Looks Like:
- After 30 Days: You’ve ramped up quickly, developed a deep understanding of our backend systems, and are actively contributing to high-impact feature development that improves the performance and reliability of our train systems
- After 60 Days: You’ve taken initiative in designing a scalable architecture for integrating with customer enterprise systems. You’ve outlined a clear and realistic implementation plan, including milestones for development, testing, and deployment
- After 90 Days: You have implemented and tested major features in simulation and on real hardware at the test site and have taken the lead on the future path of our back-office systems
- This role requires deep expertise in systems programming and the ability to build robust, efficient software solutions
- Experience building highly available, high-performance systems
- 5+ years of experience in backend or systems-level software development
- Professional experience in C, C++, Rust, or other systems programming languages
- Strong understanding of operating systems, networking, and concurrency models
- Strong debugging and performance optimization skills for complex distributed systems
- Proficiency with Linux environments, low-level system interactions, and memory management
- Experience with Rust in production or a strong desire to work with Rust
- Experience in safety critical application spaces such as autonomous vehicles, industrial control equipment, or aerospace
- Experience in or knowledge of rail control systems is greatly preferred
- Familiarity with cloud-based architectures and containerized environments (Docker, Kubernetes)