Role: Senior Software Developer
Location: Concord, ON
Duration: 06/14/2021 to 12/13/2021
Ruggedcom is 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. 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:
- someone who takes full ownership of their work, is resourceful and analytical in solving problems, is candid, vocal and acts with integrity
- Strong programming skills in C / C++ as well as shell programming in a Linux environment
- Strong command line experience in Debian or Ubuntu Linux including Debian package (build) management
- Extensive knowledge about the PC secure boot process: BIOS, UEFI and Secure Boot for Linux, using Trusted Platform Module (TPM) and/or Intel's Trusted Execution Engine
- Experience with software containers and virtualization, specifically Docker
- Strong knowledge about public-key cryptography and digital certificates, including public-key infrastructure
- Experience implementing device-specific portions of a pre-defined API to integrate devices into a managed distributed IT infrastructure
- Experience with redundant (dual) root partitions for fail-safe device upgrades in a secure boot environment
- Experience with computer networks, switching and routing, TCP/UDP/IP
Additional "nice to have" strengths in the following areas
- Experience with ARM32/64 bit platforms, Intel x64/Aton CPU
- Experience with socket programming
- Experience with encrypted root partitions
- Experience with SWUpdate and/or EFI Boot Guard
- Software source control tools such as Git, Subversion, etc.
- 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