Senior Software Engineer D&R

Northern Ireland - Belfast

Location(s)

Northern Ireland - Belfast

Team(s)


Senior Software Engineer - D&R

We are looking for a passionate Senior Software Engineer to join our Network Sensor Team.This person should bring deep curiosity about all areas of technology, as well as specific expertise in the technologies listed below, cloud technologies, and efficient, clean, and maintainable code. This individual will play a foundational 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 Network Sensor product. The engineers focus on what matters, building excellent products with passionate and friendly peers.

Responsibilities

  • Develop rapid7 network traffic analysis capability: which includes a high-speed DPI engine and network IDS

  • Participation in all phases of the development process: design, implementation, documentation, planning, release management, and analyzing telemetry data.

  • Mentoring other team members, and also learning from their perspectives and experiences

  • Assist in leading R&D efforts to ensure continuous innovation

  • Uphold high standards and be an exemplar of design clarity, implementation quality, performance and security of everything that we deliver

  • Continually develop personal skills and learn 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

Nice-to-haves

  • 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