Senior Software Engineer - Embedded C / Firewall Client
About the Role
SonicWall is hiring a Senior Software Engineer to develop and maintain the Content Filtering Service client embedded in SonicOS - the firmware running on SonicWall firewall appliances worldwide. This module intercepts live traffic, queries the CFS rating servers in real time, and enforces URL-based content filtering policies at the packet level. This is security-critical code: a policy bug is a traffic bypass on a deployed security appliance.
The codebase is in C with a split Control Plane / Data Plane architecture, multi-blade cache synchronization, and multiple firmware version upgrade paths.
Responsibilities
- Maintain, harden, and extend the CFS client module across both the control plane and data plane.
- Own the binary UDP protocol implementation between the firewall and the CFS rating servers, ensuring correctness and compatibility across protocol versions.
- Develop and maintain complete IPv4 and IPv6 support across all code paths.
- Own the firmware upgrade and migration paths, ensuring they are atomic, failure-safe, and correctly handle all supported version transitions.
- Improve reliability of inter-blade cache synchronization on multi-blade appliances.
- Collaborate with the server-side on coordinated protocol changes.
- Document the concurrency model, upgrade invariants, and dataplane integration for long-term maintainability.
- Collaborate asynchronously with a US-based team and the India-based server team.
Requirements
- Expert-level C (not C++): disciplined manual memory management, pointer arithmetic, and systems design.
- Multi-core concurrency in C: reader-writer locks, spinlocks, atomic operations, and memory ordering.
- Kernel-level networking: deep understanding of how a packet moves through a firewall dataplane - TCP/UDP processing, flow cache, connection tracking. Userspace socket programming alone is not sufficient.
- Strong IPv4 and IPv6 across all code paths.
- Comfortable navigating and owning a large C codebase with multiple subsystems.
- Experience with network testing and debugging tools: packet capture (Wireshark/tcpdump), traffic generators, GDB.
- Good written English for remote, asynchronous collaboration.
Nice to have:
- Experience with multi-blade or multi-ASIC hardware platforms (Octeon/CVMX or similar).
- Understanding of symmetric encryption (AES-CBC, DES) at the C implementation level.
- Prior experience on a security appliance, network device, or UTM firmware codebase.
- Familiarity with TLV binary protocol design and versioning.
- Experience with C fuzz testing or sanitizers (AFL, AddressSanitizer, ThreadSanitizer).
Education & Experience
At least 8 years of related experience with a Bachelor's degree; or 6 years with a Master's degree; or a PhD with 3 years' experience; or equivalent experience preferred. Degree in Computer Science, Engineering, or related field preferred.
#LI-KB7
#LI-Hybrid
#C
#Firewall
#Networking