Cornelis Networks is looking to solve the world’s most demanding computational challenges with their next-generation networking solutions by designing, developing, and maintaining software for their custom hardware platforms.
Requirements
- Proficiency in C, C++, and Python.
- Experience working in a Linux development environment.
- Experience developing software for custom hardware platforms.
- Understanding of hardware-software interaction, including low-level interfaces (e.g., SPI, I2C, UART).
- Familiarity with DevOps principles and CI/CD tools (e.g., Jenkins, Git).
- Experience with embedded systems and real-time operating systems (RTOS).
- Experience with OpenBMC (Yocto) and/or Network Operating Systems (NOS).
Responsibilities
- Design, develop, and test software for our custom hardware platforms using C, C++, and Python.
- Collaborate with hardware engineers to define software requirements and ensure seamless hardware-software integration.
- Develop and maintain low-level drivers and firmware for various hardware components.
- Develop and maintain the command-line interface (CLI) for our hardware platforms.
- Participate in the entire software development lifecycle, from concept and design to testing and deployment.
- Contribute to the improvement of our DevOps and CI/CD pipelines.
- Troubleshoot and resolve software and hardware-related issues.
Other
- Bachelor's degree in Computer Science, Electrical Engineering, or a related field.
- Approximately 5 years of professional software development experience.
- Strong problem-solving and debugging skills.
- Excellent communication and teamwork skills.
- Location: This is a remote position for employees residing within the United States