We are looking for a passionate Senior Software Engineer to join our Network Sensor Team.This person should bring deep a curiosity about all areas of technology, as well as specific expertise in the technologies listed below. You will have a keen interest in cloud technologies and writing efficient, clean, and maintainable code. This individual will play a pivotal role in architecting and developing Rapid7's network traffic analysis capability, as well as guiding and mentoring more junior developers.
About the Team
In this position, you'll be joining our Network Sensor Team - a team primarily focused on building out the NTA (Network Traffic Analysis) product alongside passionate and friendly peers.
Developing Rapid7 network traffic analysis capability: including a high-speed DPI engine and network IDS
Participating in all phases of the development process: design, implementation, documentation, planning, release management, and analysing telemetry data.
Mentoring fellow team members
Assisting in leading R&D efforts to ensure continuous innovation
Upholding high standards such as exemplary design clarity, implementation quality, performance, security, etc
Continuously developing personal skills and learning about new technologies on the frontier of high-speed packet processing and network security
Required Skills & Experience
Deep experience of systems-level programming in C or C++
Experience with either DPDK or Linux networking stack internals, especially XDP
Good understanding of network protocols at the level of bits and bytes
Familiarity with performance analysis using tools such as perf, strace
Strong ability to debug issues in complex systems across multiple layers of the tech-stack
Good working knowledge of UNIX, especially Linux
Experience in at least one other language such as Python, Rust, Go etc
Knowledge of one or more of the following areas would be a big plus: kernel or device-drivers, compiler design, databases (implementation and theory)
Broad awareness of relevant security issues arising from processing large amounts of untrusted data such as network traffic