Embedded Software Engineer – Intern

CienaOttawa, ON
CA$25 - CA$32

About The Position

As the global leader in high-speed connectivity, Ciena is committed to a people-first approach. Our teams enjoy a culture focused on prioritizing a flexible work environment that empowers individual growth, well-being, and belonging. We’re a technology company that leads with our humanity—driving our business priorities alongside meaningful social, community, and societal impact. How You Will Contribute: We design, implement, and maintain real-time embedded platform and application software for several of Ciena’s flagship products. Functional areas in our scope range from low level bit flipping drivers to high level software state machines for interfacing with external applications: Linux and VxWorks kernels and base software components Drivers for proprietary and 3rd party ASICs, FPGAs, and other hardware components. Hardware/software interface to provide bridging of various abstraction layers. Fault and alarms subsystems to detect, report and maintain defects and manage their hysteresis and co-relations. System applications such as traffic/equipment protection, performance monitoring, etc. SDKs that abstract the underlying low-level software and hardware to facility platform application developments and integration.

Requirements

  • Enrolled in a bachelor’s or master's degree in computer or electrical engineering, computer science, or similar disciplines
  • Experience with C or C++

Nice To Haves

  • Developing software for embedded systems or telecom products
  • Understanding of CPU hardware architectures, hardware functional specifications, hardware timing diagrams, device data sheets
  • Understanding of real-time operating systems and embedded systems
  • Software development tools such as git, BitBucket, Gerrit, Jira, etc.
  • Unit test frameworks such as Google Test, JUnit, Robot, PyTest, and the like
  • Debuggers and tools (e.g., gdb), especially for troubleshooting embedded systems in user space and kernel space
  • High-level programming and scripting languages such as Java, Python, Perl, Tcl, bash
  • YANG modeling language and toolchains
  • Software development methodologies such as Agile or Waterfall
  • Familiarity with datacom and telecom concepts such as DWDM, SONET/SDH, OTN, Ethernet, OSI Model, TCP/IP, MPLS

Responsibilities

  • Design, implement, and maintain real-time embedded platform and application software.
  • Develop low-level bit flipping drivers.
  • Develop high-level software state machines for interfacing with external applications.
  • Work with Linux and VxWorks kernels and base software components.
  • Develop drivers for proprietary and 3rd party ASICs, FPGAs, and other hardware components.
  • Implement hardware/software interfaces to bridge various abstraction layers.
  • Develop fault and alarms subsystems to detect, report and maintain defects and manage their hysteresis and co-relations.
  • Develop system applications such as traffic/equipment protection, performance monitoring, etc.
  • Create SDKs that abstract underlying low-level software and hardware to facilitate platform application developments and integration.

Benefits

  • Employee Assistance Program (EAP)
  • company-paid holidays
  • paid sick leave
  • vacation pay
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service