VoIP & Telephony Development
Develop and maintain embedded software for VoIP telephone products.
Work with SIP and related VoIP/telephony technologies.
Investigate and resolve signaling, media, networking, and system integration issues.
Develop efficient software suitable for embedded systems with limited CPU and memory resources.
Software Development
Design, implement, test, and maintain software primarily in C and C++.
Apply object-oriented design principles where appropriate.
Diagnose complex software problems using effective debugging techniques and tools.
Work with static and dynamic libraries, including library linking and dependency management.
Use development environments and tools such as Eclipse, Visual Studio, GDB, and related embedded development/debugging tools.
Participate in code reviews and contribute to software design and architecture discussions.
Qualifications & Experience
Required
Strong experience in embedded software development using C/C++.
Hands-on experience developing software in a Linux embedded environment.
Working knowledge of Linux kernel architecture and kernel-level development.
Experience working with and debugging Linux device drivers.
Experience working with bootloaders and the embedded Linux boot process.
Hands-on experience with cross-compilation, embedded toolchains, and target platform builds.
Good understanding of IPC, multithreading, synchronization, and process management.
Strong debugging and problem-solving skills, including the ability to troubleshoot issues across multiple layers of an embedded system.
Understanding of memory and performance constraints common to embedded systems.
Preferred / Nice to Have
Experience with any of the following would be an asset but is not required:
Telephony systems and technologies.
VoIP protocols, particularly SIP.
Real-time Linux and performance-sensitive applications.
Networking protocols and network programming.
Personal Attributes
Strong analytical and problem-solving skills.
Clear and effective communication skills.
Responsible, self-motivated, and proactive.
Comfortable working independently as well as collaboratively within a team.
Able to prioritize and deliver high-quality work under schedule constraints.
Willing and able to learn new technologies quickly.
The Canada base salary range for this full-time position is expected to be between $150,000 - $183,000 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.
Fortinet strives to provide you and your family with a comprehensive benefits package. Benefits eligibility starts on your first day of hire and comprises of 100% company paid medical, dental, and vision coverage, including a Health Spending Account and a Personal Spending Account that gives you flexibility to spend where you need it the most. Our Employee & Family Assistance Plan (EFAP) offers you and your family access to various services like counseling, legal advice, mental health resources etc. We also provide critical illness, disability, and life insurance, as well as a Group Registered Retirement Savings Plan (RRSP) with a company match to help you save faster for retirement. We offer competitive Paid Time Off and flexible leave policies, including paid health days, to help you take care of yourself and your family members.
All roles are eligible to participate in the Fortinet equity program. Bonus eligibility is reviewed at time of hire and annually at the Company’s discretion.