About the role

  • Work on R&D projects developing firmware focused on optical communication equipment.
  • Assist in defining and implementing software architecture.
  • Develop tools, libraries, distributions, and documentation.
  • Provide technical administration/oversight of assigned activities.

Requirements

  • Degree in Computer Science or a related field.
  • Strong knowledge of core Software Engineering concepts such as programming paradigms (at minimum OOP and imperative), data structures and algorithms, software architecture (abstraction, componentization, reuse, decoupling, etc.), software testing, and quality processes.
  • Proficiency with Agile methodologies, including understanding relationships between tasks and epics, dependencies, effort estimation, etc.
  • Proficiency in C, C++, Bash, Python, and other relevant languages.
  • Familiarity with network programming, communication systems (optical, wired, etc.), relevant protocols (TCP/IP, gRPC, OSI model, etc.), and distributed programming.
  • Knowledge of Operating Systems fundamentals and Embedded Linux, including image-generation tools (Yocto, Buildroot, etc.).
  • Basic knowledge of containerization.
  • Basic knowledge of standard hardware interfaces such as serial ports, I2C, SPI, GPIO, etc.
  • Proactive and autonomous work style with the ability to make decisions.
  • Team player who works in an organized, well-documented manner focused on building and improving the company's knowledge base.
  • Desirable: hardware knowledge sufficient to read schematics, perform diagnostics, and support the hardware team.

Job title

Mid-level Linux Developer

Job type

Experience level

Mid levelSenior

Salary

Not specified

Degree requirement

Bachelor's Degree

Location requirements

Report this job

See something inaccurate? Let us know and we'll update the listing.

Report job