Role: Senior Embedded Developer
Duration: 09/06/2021 to 09/05/2022
Location: Concord, ON
We are a leader in the development of rugged communication networking solutions designed for mission critical applications in harsh environments. We are an innovative, rapidly growing company where you'll find an exciting, dynamic work environment and significant opportunity for personal growth.
We are currently looking for a Sr. Embedded Software Developer for our Concord office who would report directly to the Manager of Software Engineering; someone with high analytical skills, can multi-task on various projects, a good problem solver and has good organizational skills.
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)
- Linux kernel driver and device-tree development
- Strong experience in developing, modifying and integrating open source projects (OSS)
- Experience developing with POSIX threads
- Experience with computer networks, switching and routing.
- Experience with TCP/UDP/IP and socket programming
- Software source control tools such as Git, Subversion, etc.
- 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 Debian and/or Yocto Linux
- Experience with bootloader
- Experience with ARM32/64 bit platforms
- Experience with Preempt RT Linux
- Experience with Cryptography
- 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.
- Experience with Ethernet, Wifi, LTE, and/or PoE technologies.
- Experience reading and working with schematic/circuit diagrams as well as vendor-provided technical reference manuals and datasheets.
- Experience developing OA&M aspects of network devices
- 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