Title: ROX Senior Developer – Embedded
Location: Calgary, AB
Remote Possible?: Yes
Experience Level: 8 – 15
Additional Details: Most of the work is done remotely, just need to be in the area of Concord/Calgary for doing some occasional set up.
2 openings for this position: one for a new HW product, one for infrastructure maintenance
This role provides an opportunity to experience the entire life cycle of product development including specifications, design, coding, test, production and maintenance. The responsibilities include writing software, participating actively in development projects, both hardware and software component selection and developing technology for future products. You will be part of a small team and play an integral role in bringing advanced telecommunications products to market.
Skills and technical knowledge required:
The ideal candidate will be familiar with or have experience in many of the following areas:
• Strong programming skills in C / C++ and Perl and Linux Shell programming in a Linux environment (user and kernel space)
• Experienced in developing Linux kernel drivers, device tree, or kernel networking stack
• Experience with Layer 2 and Layer 3 network stack development
• Experience reading and working with schematic/circuit diagrams as well as vendor-provided technical reference manuals and datasheets.
• Experience developing with POSIX threads
• Strong experience in developing, modifying and integrating open source projects (OSS)
• Working engineering skills: self-guided, methodological and analytical approach to debugging complex low-level hardware interface issues in collaboration with hardware engineers.
• Work within the process and procedures defined by the organization: reporting/recording bugs in tool, participating in daily stand-ups, planning and retrospective sessions, updating work items regularly in process tool.
Additional “nice to have” strengths in the following areas:
• Experience with Ethernet, Wifi, LTE, and/or PoE technologies.
• Experience with Preempt RT Linux
• Experience with ARM32/64 bit platforms
• Experience with bootloader
• Experience with Debian Linux
• Experience with Cryptography
• Linux security expertise (VPN, trust architecture, PKI)
• Experience with TCP/UDP/IP and socket programming
• Experience with or working knowledge of Network device management over HTTPS, SNMP or NETCONF
• Experience working on Linux for embedded devices such as network firewalls and routing.
• Software source control tools such as Git, Subversion, etc.
• Experience in device configuration management.
• 10+ years of experience developing software using C / C++ and Linux
• Has an undergraduate or graduate degree in Computer Science or Engineering, Mathematics or related disciplines