We are looking for a highly motivated Communications Software Engineer to join our engineering team developing next-generation connected products deployed across transportation and industrial environments.
This role offers the chance to work on advanced communication systems, embedded Linux platforms, wireless networking technologies and cloud-connected edge devices. You will collaborate closely with software, hardware, systems and cloud engineers to design, develop and maintain high-performance communication software that powers mission-critical applications.
If you enjoy solving challenging low-level software problems, working close to hardware, and building robust networking solutions, we'd like to hear from you.
Key Responsibilities
- Design, develop and maintain software for embedded Linux platforms.
- Develop networking software for wired and wireless communication systems.
- Build reusable software modules for embedded devices and edge computing platforms.
- Integrate open-source software and customize Linux distributions to meet product requirements.
- Develop and maintain REST APIs for communication between devices and cloud services.
- Troubleshoot complex software, networking and operating system issues.
- Perform root cause analysis of field issues and implement permanent solutions.
- Work with cross-functional teams including hardware, systems, QA and cloud engineers.
- Participate in software architecture discussions and technical design reviews.
- Contribute to code reviews, documentation and continuous improvement initiatives.
Required Skills
Programming
- Python
- Bash scripting
- Object-Oriented Programming
- Experience in Golang is desirable
Linux
- Strong Linux command-line skills
- Linux system administration
- Shell scripting
- Process management
- System services
- Package management