Job Description
We are seeking a highly skilled Senior C/C++ Developer with expertise in systems development and networking to join our dynamic team. The ideal candidate will have extensive experience in C/C++ development on Linux systems, with a strong background in system-level applications, multithreading, and inter-process communication (IPC). Additionally, proficiency in hypervisors such as QEMU or KVM, along with hands-on experience in networking protocols including TCP/UDP/IP, HTTP, SNMP, DHCP, DNS, and VLAN, is essential for this role.
Key Responsibilities:
- Develop and maintain system-level applications with a focus on performance, reliability, and scalability.
- Implement multithreading and IPC mechanisms to ensure seamless communication between processes.
- Utilize hypervisor technologies like QEMU or KVM for virtualization and emulation purposes.
- Design, implement, and troubleshoot networking protocols for efficient data transmission and network management.
- Configure and manage networking components such as switches, routers, and firewalls to ensure optimal network performance and security.
- Collaborate with cross-functional teams in SAFe Agile environments to deliver high-quality software solutions.
Preferred Qualifications:
- Bachelor's degree in Computer Science, Engineering, or related field (or equivalent work experience).
- 5-10 years of experience in C/C++ development on Linux platforms.
- Strong understanding of system-level programming concepts, multithreading, and IPC mechanisms.
- Proven track record of working with hypervisors like QEMU or KVM in virtualized environments.
- Extensive knowledge of networking protocols including TCP/UDP/IP, HTTP, SNMP, DHCP, DNS, and VLAN.
- Experience in configuring and managing network infrastructure components such as switches, routers, and firewalls.
- Familiarity with Agile methodologies, particularly SAFe, and the ability to work collaboratively in Agile teams.
- Excellent communication and problem-solving skills.
Nice-to-Have Skills:
- Background in Avionics protocols such as ARINC-429, ARINC-485, and ARINC 628.
- Knowledge of WiFi protocols including 802.11a/b/g/n/ac/ax.
- Experience with version control systems (e.g., Gitlab), issue tracking tools (e.g., JIRA), static code analysis, and CI/CD pipelines.
- Familiarity with unit test frameworks like CATCH 1.0 and CATCH 2.0.
- Understanding of the latest C++ standards (C++17/19 and beyond).