About the Role
The Software/Firmware Engineer will design, develop, and test embedded software for Optical Layer solutions. You will collaborate closely with optical, hardware, and test engineers to deliver high-quality, production-grade firmware for next-generation optical networking systems.
Key Responsibilities
- Design, develop, and integrate modern C/C++ embedded software running on Linux and real-time operating systems (RTOS) such as FreeRTOS.
- Own the complete software development lifecycle — from requirements and architecture through implementation, testing, debugging, and deployment.
- Develop and maintain device drivers for fiber-optic components (e.g., EDFA, Raman, OTDR, OCM, WSS, etc) and other hardware subsystems.
- Collaborate with hardware teams on schematic reviews, hardware design input, and board bring-up.
- Partner cross-functionally with optical, hardware, and test engineers in an Agile environment to meet product milestones and quality goals.
- Develop and maintain unit tests, automation scripts, and test frameworks to validate firmware functionality.
Basic Qualifications
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
- 3+ years of experience in embedded software or firmware development, preferably in telecommunications or networking.
- Strong proficiency in modern C/C++, including adherence to C++ best practices and coding standards.
- Experience with RTOS, low-level debugging, and hardware/software integration.
- Understanding of embedded communication protocols (SPI, I²C, UART) and hands-on experience developing and debugging device drivers.
- Familiarity with ARM or other microcontroller architectures.
- Proficient with Git and collaborative development workflows (branching, reviews, CI).
- Skilled in reading schematics and troubleshooting embedded systems.
- Experience participating in code reviews, testing, and documentation to ensure high-quality deliverables.
- Excellent analytical, problem-solving, and communication skills.
- Demonstrated ability to work effectively with cross-functional teams, including QA, product management, and manufacturing.
- Commitment to continuous learning and staying current with modern C++ and emerging embedded technologies.
Nice to Have
- Experience developing device drivers for ASICs or FPGAs.
- Hands-on experience with CMake and scripting languages (Bash, Python, Ruby, or Perl).
- Experience with CI/CD pipelines for embedded platforms.
- Familiarity with Agile/Scrum methodologies.
- Proficiency in using oscilloscopes, logic analyzers, and diagnostic tools for system validation and debugging.
Requirements & Work Environment
- Full-time, permanent position (40 hours per week).
- Hybrid role — in-office Tuesday through Thursday; remote Monday and Friday.
- Primary location: Norcross, GA, USA.
- Must be authorized to work in the United States.
- Energetic, collaborative, and eager to work with a diverse team.
- Positive attitude, adaptability, and a genuine desire to learn, innovate, and excel.