Responsibilities:
- Design, develop and test embedded software related to network and authentication (mainly in C)
- Understand and maintain existing undocumented code base.
- Work closely with other embedded software teams to architect cross-functional features
Requirement:
- 2+ years of experience for Bachelor’s degree, 1+ years of experience for Master’s (interns included), Their degree should be in related fields such as Electrical Engineering or Computer Science.
- Proficient in C/C++ or any other programming language that you have to manage memory by yourself.
- Basic knowledge in computer networks, including understanding of the layered nature of network, basic understanding of TCP/UDP/HTTP.
- Good understanding of basic data structures such as linked list and tree.
- Proficient in using Linux, able to resolve/diagnose common issues.
- Basic understanding of UNIX-like operating system, including process, socket programming,
- Basic understanding of time complexity and how to use it to estimate a piece of code’s efficiency.
- Basic understanding of git.
- Problem solving skills and communications skills.
Bonus point if have:
- Hands-on experience of private-key-public-key infrastructure.
- Hands-on experience of common certificate management protocols (SCEP, EST, CMP, ACME)
- Hands-on experience of common authentication protocols (LDAP, TACACS+, RADIUS, SAML)
- Hands-on experience of cyber security (e.g. CVE reproduction)
The Canada base salary range for this full-time position is expected to be between $92,300 - $112,800 annually. Wage ranges are based on various factors including the labour market, job type, and job level. Exact salary offers will be determined by factors such as the candidate’s subject knowledge, skill level, qualifications, and experience.