Experienced embedded software developer for optical line systems. Collaborating with engineers to develop and sustain software for new and legacy products in a multi-disciplinary environment.
Responsibilities
Work closely with hardware/FPGA engineers to understand HW control architecture including CPU architecture, memory access and control of various peripherals.
Be able to independently develop firmware that supports the designed hardware, e.g. driving DACs, reading ADCs and control flash devices through low level device interfaces or FPGA interfaces.
Work closely with optical engineers to define optical control requirements and develop control algorithms.
Implement the control algorithms on top of Linux and FreeRTOS operating systems.
Work on software interface layer that communicates with system controller on a different card through gRPC interface over Ethernet.
Provide to management team accurate design estimates for planning purposes.
Follow development processes to ensure delivery of quality products on time.
Flexible and adapt to changing tasks when needed.
Requirements
Bachelor or higher degree in Computer Engineering/Electrical Engineering, or equivalent education.
Minimum 5 years of industry experience in real-time programming using C/C++ in embedded Linux and/or RTOS environments
Solid experience with low-level device interfaces, including UART, SPI, and I2C.
Proficient in using lab equipment, such as oscilloscopes and power meters.
Strong understanding of SOC controller/processor architecture, Linux kernel, and real-time OS operations.
Experience with CMAKE build system
Working knowledge in gRPC and protobuf design and implementation
Proven ability to quickly grasp new technical concepts.
Excellent written and verbal communication and presentation skills.
Experience with optical networking communication systems, particularly optical transceivers or fiber optics modules (nice to have).
Familiarity with optical technologies and components such as EDFAs, WSS, OCMs, and OTDR (nice to have).
Junior Software Developer contributing to full - stack development of web - based applications in a geospatial intelligence company. Collaborating in an agile team with exposure to innovative projects.
Software Developer involved in web application development for a geospatial intelligence company. Focusing on full - stack development and collaborating in a small, agile team environment.
Senior Tag Management/MarTech Engineer responsible for client - side tagging in a remote role at Northern. Collaborating with teams to ensure data governance in a regulated fintech environment.
Senior Municipal Engineer leading civil engineering projects at GEMTEC. Emphasizing on municipal and transportation infrastructure and site development in a hybrid work environment.
Lead Full Stack Developer providing technical direction and mentoring junior developers at RBC. Collaborating on innovative payment solutions for commercial clients.
Staff Chief Engineer overseeing engineering activities and ensuring safety and compliance on maritime vessels. Leading engineering teams and managing technical operations with compliance to safety standards.
Senior Software Engineer at Affirm's Zero to One labs developing and launching scalable AI - enabled systems. Engaging in rapid prototyping and collaborating with product managers in a fast - paced environment.
Test and Product Engineering Developer at Ford working on hardware testing for Electronic Control Units. Focus on defining test requirements, methodologies, and achieving product quality in mass production.
Full Stack Developer building complex web applications and APIs in Assurance Innovation Lab at BDO. Collaborating with high - performing teams to drive innovation and enhance client service.
Software Developer I developing AI - driven applications within PR Newswire Canada. Collaborating with cross - functional teams to enhance application development and code quality.