
嵌入式软件开发工程师(网络安全)
为 Fortinet 网络安全设备开发基于 C 语言的嵌入式软件。 在嵌入式 Linux 上开发网络、防火墙、安全及平台功能。
描述
- 通过实施、测试和持续支持,为网络安全设备设计和维护嵌入式软件。
- 主要使用 C 语言编写高效、易维护的软件。
- 在数据平面、控制平面和系统管理层开发网络功能。
- 构建并改进防火墙、身份验证、加密、访问控制和威胁防护功能。
- 诊断复杂的性能、并发、内存、网络和系统稳定性问题。
- 使用 Wireshark 和 tcpdump 检查数据包流并排查网络协议问题。
- 在资源受限的环境中提升吞吐量、降低延迟并增强可扩展性。
- 参与架构讨论、技术设计评审和代码评审。
- 创建单元、集成和系统测试,以支持产品质量和可靠性。
- 与硬件、质量保证、产品管理、安全研究和客户支持团队合作。
- 在整个软件生命周期中践行安全开发规范。
任职要求
- 计算机科学、计算机工程、电气工程或相关专业的学士或硕士学位。
- 至少三年专业软件开发经验,其中包括大量 C 语言开发工作。
- 扎实掌握数据结构、算法、指针、内存管理和并发编程。
- 具备在 Linux 或其他类 Unix 操作系统上开发系统级或嵌入式软件的经验。
- 熟悉 TCP/IP 和常见网络协议,包括以太网、ARP、IPv4/IPv6、TCP、UDP、ICMP、DNS、DHCP、TLS 和 HTTP。
- 具备套接字编程、进程间通信、同步和异步事件处理经验。
- 具备出色的调试和问题解决能力,能使用 GDB、Valgrind、AddressSanitizer、perf、Wireshark 和 tcpdump 等工具。
- 具备使用 Git 以及参与协作式代码评审和持续集成工作流的经验。
- 能够独立负责复杂功能,从设计、实施和测试到生产支持。
- 具备良好的书面和口头沟通能力。
- 优先条件:具备防火墙、路由器、VPN 网关、入侵防御系统、安全接入产品或其他网络安全设备的开发背景。
- 优先条件:了解有状态防火墙、NAT、路由、策略执行、流量检查和会话管理。
- 优先条件:具备 IPsec、SSL/TLS、SSH、PKI、证书管理或相关安全技术经验。
- 优先条件:熟悉 Kerberos、NTLM、LDAP、RADIUS、SAML 或 OAuth 等身份验证协议和目录服务。
- 优先条件:了解安全编码、漏洞缓解、密码学概念和常见网络攻击。
- 优先条件:具备使用 Python、Go、Bash 或其他语言进行自动化、测试或支持服务开发的经验。
- 优先条件:具备多核、高吞吐量系统的软件开发经验。
- 优先条件:熟悉敏捷开发和 CI/CD 流水线。
福利待遇
- 公司全额支付医疗、牙科和视力保险。
- 健康支出账户。
- 个人支出账户。
- 员工及家庭援助计划,提供心理咨询、法律建议和心理健康资源。
- 重大疾病、残疾和人寿保险。
- 雇主提供配比缴款的团体注册退休储蓄计划(RRSP)。
- 带薪休假。
- 灵活休假选项,包括带薪健康假。
- 符合条件者可参与股权计划。
- 奖金资格会在入职时及每年由公司酌情评估。


