Televic Rail is seeking an innovative and hands-on Software Development Engineer to help build the next generation of onboard communication, passenger information, and mission-critical transportation technologies. This role is based in Morrisville, North Carolina (Raleigh-Durham area).
This role will be part of the founding North American R&D team and will work closely with global engineering teams across Europe and other regions to design, develop, test, and maintain software solutions used in demanding transportation environments worldwide.
The ideal candidate is a strong software engineer who enjoys solving complex technical challenges, working across embedded systems and application layers, and contributing to products where reliability, safety, networking, and performance matter.
This position includes the opportunity to contribute to IP-based onboard communication and passenger information platforms used in rail environments around the world. Televic Rail values collaboration, innovation, continuous learning, and engineering excellence in a globally connected environment.
Key ResponsibilitiesSoftware Development- Design, develop, test, and maintain software applications for rail and transportation products
- Develop software and functional tests for Linux-based environments
- Write and maintain clean code in languages such as Java, Python, C++ or Rust depending on product requirements
- Translate system requirements into technical specifications and software solutions
- Participate in architecture discussions and technical design reviews
- Develop software for distributed systems
- Document developed software and technical functionality
Product Development- Collaborate with hardware, systems, mechanical, and product engineering teams
- Support full product lifecycle from concept and prototyping through production release
- Troubleshoot software issues in development, testing, and field environments
- Depending on experience level, provide guidance and mentorship to junior developers
Testing & Quality- Develop unit tests, integration tests, and validation procedures
- Support root-cause analysis for software and system defects
- Ensure software meets performance, cybersecurity, reliability, and safety requirements
- Follow established coding, documentation, and development processes
Global Collaboration- Work closely with international R&D and project teams, including collaboration with engineering teams in Belgium and Germany
- Support the development of engineering best practices within the North American R&D organization
- Bachelor's degree in Computer Science, Software Engineering, Electrical Engineering, or related technical field
- 5+ years of professional software development experience
- Strong programming experience in Java using the Quarkus and/or Spring Boot frameworks - minimum 3 years
- Experience with Linux system configuration, including file systems, systemd, NetworkManager, and firewall - minimum 2 years
- Practical understanding of Git and its use in a distributed development environment
- Strong debugging, troubleshooting, and problem-solving skills
- Ability to work independently in a fast-paced R&D environment
Preferred - Experience with embedded systems and embedded Linux environments
- Experience with Programming in C++ and Rust
- Experience with Linux packaging, ideally for Debian
- Experience with scripting languages such as Bash or Python
- Experience with audio/video technologies or communication systems
- Experience with CI/CD pipelines, Docker, or containerized environments