Fortinet is seeking an experienced C/C++ Software Developer with a passion for enhancing and expanding the rich feature set of our FortiGate firewall platform. You will join a dedicated engineering team responsible for developing innovative security solutions, including Zero Trust Network Access (ZTNA) and Endpoint Management Server (EMS) integration.
The ideal candidate thrives on solving complex technical challenges and takes pride in writing clean, efficient, and well-structured code. You are proactive in leveraging and developing tools to streamline development workflows, improve productivity, and deliver high-quality software solutions.
Most importantly, you are passionate about technology, eager to learn, and committed to continuous improvement. Your contributions will play a key role in strengthening FortiGate's capabilities and delivering exceptional security solutions to our customers.
Key Responsibilities
Design, develop, implement, and maintain software components supporting FortiGate's Endpoint Management Server (EMS) integration and related security features.
Stay current with emerging technologies, application-layer protocols, and software development practices, proactively identifying opportunities for improvement.
Promote and uphold software engineering best practices, including clean coding, efficient design, code reviews, and maintainability.
Troubleshoot complex software issues, perform root cause analysis, and implement robust, long-term solutions.
Evaluate Fortinet products through hands-on testing and usage, providing recommendations to enhance functionality, performance, and user experience.
Research and explore new technologies to enhance existing products and support future product development.
Review and optimize existing software architectures, designs, and implementations to improve performance, reliability, and scalability.
Collaborate with cross-functional engineering teams to develop and deliver high-quality security solutions.
Required Qualifications
Strong programming experience in C/C++, with a solid understanding of software design principles and best practices.
Excellent analytical, problem-solving, and troubleshooting skills, particularly in debugging complex software issues.
Hands-on experience developing software in Linux or UNIX-like environments.
Solid understanding of TCP/IP networking, TLS, POSIX APIs, and socket programming.
Familiarity with source control systems, such as Git.
Ability to quickly learn and adapt to new technologies, tools, and development methodologies.
Strong communication skills and the ability to work effectively in a collaborative engineering environment.
Preferred Qualifications
Knowledge of networking and cybersecurity concepts, particularly TLS/SSL protocols, certificate management, and secure communications.
Experience with scripting languages such as Python, Shell, or Perl.
Basic understanding of Linux/UNIX system administration, server management, and troubleshooting.
Familiarity with Database Management Systems (DBMS), including database operations and integration.
Experience developing networking, security, or system-level software.
Familiarity with debugging and performance analysis tools in Linux environments.
Education
Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or a related technical discipline.
A Master's degree or Ph.D. in a relevant field is an asset.
The Canada base salary range for this full-time position is expected to be between $94,000 - $115,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…