Network Security Software Engineer
Location: highly preferred them to be located in the Dallas area (hybrid), but open to remote candidates as well My client is preparing for the retirement of their Engineering Architect, who will be retiring in the next year or two (resume attached). They are looking for a long-term hire to train under him and eventually take over key responsibilities. The role centers on a Linux-based network appliance that processes data in real time and detects security threats. Candidates should have a strong background in Linux, C, and C++, with solid skills in algorithms and data structures. While cybersecurity experience is helpful, it is not required. He mentioned multiple times to me that the soft skills are maybe even more important than the hard skills. They want someone solutions-focused, open to healthy debate, and capable of understanding complex code, making sound decisions, and defending them. Stability is important—they are not looking for job hoppers.
We're looking for a software engineer to work on a high-performance network analysis platform that operates at extremely high throughput. This role focuses on building and improving systems that inspect and analyze network traffic in real time to identify potential security threats across enterprise and cloud environments. The platform incorporates modern detection techniques, including machine learning, to surface and stop malicious activity.
What You'll Do
- Build, enhance, and ship new capabilities for a Linux-based network security product within an iterative development cycle
- Optimize and maintain performance-critical code written in C/C++, ensuring efficient packet processing at very high data rates
- Develop and extend protocol parsing logic for a variety of networking and industrial communication standards
- Partner with security and data science teams to translate threat patterns into detection logic
- Investigate and resolve complex technical issues such as concurrency bugs, memory inefficiencies, and system instability
- Create and maintain automated tests to ensure code quality and reliability
- Manage build and release processes using standard Linux packaging and version control tools
- Document system architecture and design decisions, and communicate them clearly to technical stakeholders
- Participate in team ceremonies such as sprint planning and daily check-ins
What We're Looking For
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or similar experience
- Strong proficiency in C/C++ along with a solid foundation in algorithms and data structures
- Working knowledge of common networking protocols (e.g., TCP/IP stack, DNS, HTTP, TLS)
- Experience developing in Linux-based environments
- Experience compiling Linux kernels
- Familiarity with database-backed applications, including SQL
Nice to Have
- Experience building network-focused or distributed systems (e.g., socket programming, backend services)
- Exposure to containerization and virtualization technologies
- Understanding of fault-tolerant or highly available system design
- Experience with low-level Linux development (kernel space, drivers, or similar)
- Knowledge of system-level performance concepts such as memory management or NUMA
- Familiarity with Python or scripting for tooling and automation
- General understanding of cybersecurity principles and network defense concepts