Principal Software Engineer - Content Filtering Platform
About the Role
SonicWall is looking for a Principal Software Engineer to own the technical direction and hands-on development of our Content Filtering Service (CFS) server platform - a high-throughput, multi-threaded C++17 system that SonicWall firewalls worldwide rely on in real time to categorize URLs and enforce content filtering policies.
This is a heavily hands-on role. You will write and own production code daily, set technical direction, drive the roadmap, and mentor senior engineers - all while remaining deeply involved in the code itself. You will also be the primary bridge between the India-based engineering team and US-based management, requiring strong communication and the ability to work effectively across time zones.
Responsibilities
- Write, review, and own production C++ code across the server platform: the URL rating server, the cloud categorization relay server, and the shared common libraries.
- Drive security hardening of the binary UDP protocol, including encryption key management and protocol integrity.
- Continuously improve code quality: modernize memory ownership patterns, improve concurrency safety, and reduce technical debt.
- Set coding standards, conduct code reviews, and provide technical mentorship to the Senior Engineers on the team.
- Build and maintain comprehensive architecture documentation and design knowledge across the platform.
- Establish and drive an automated testing strategy, including C++ unit testing frameworks and integration test standards.
- Identify and prioritize technical debt and drive a realistic roadmap to address it.
- Oversee GitLab CI/CD pipelines, DEB/RPM packaging, and production deployment processes.
- Maintain platform-wide awareness to contribute to architecture decisions spanning the server, firewall client, and web platform.
- Work closely with US-based engineering and management to communicate project status, priorities, and risks clearly and proactively.
Requirements
- Expert-level C++17: move semantics, smart pointers, concurrency primitives (std::shared_mutex, std::atomic), RAII, and performance-sensitive systems code.
- Strong Linux systems programming: POSIX threads, epoll-based I/O multiplexing, and high-throughput UDP socket programming.
- Experience with high-throughput server design: thread pool patterns, cache architecture, lock-free data paths, and performance benchmarking.
- Applied cryptography: symmetric encryption (AES-CBC), key management, and integrity checks.
- Familiarity with CMake-based build systems, Linux packaging (DEB/RPM), and GitLab CI/CD pipelines.
- Comfortable taking ownership of a complex, production codebase and driving it forward independently.
- Excellent written English for asynchronous collaboration with a US-based team.
Nice to have:
- Experience with binary protocol design (TLV framing, protocol versioning, wire compatibility).
- Knowledge of DNS protocol internals.
- Experience with RabbitMQ or AMQP from a C++ client perspective.
- Background in network security, UTM appliances, or content filtering products.
- Experience integrating closed-source third-party SDKs into a CMake build.
- Experience with Java is a plus.
Education & Experience
- At least 10 years of related experience with a Bachelor's degree; or 8 years with a Master's degree; or a PhD with 6 years' experience; or equivalent experience preferred. Degree in Computer Science, Engineering, or related field preferred.
#LI-KB7
#LI-Hybrid
#C++
#DevOps