Software Engineer II - (.NET/Core)

Northern Ireland - Belfast


Northern Ireland - Belfast


Product & Engineering

Agent Engineer (.NET/Core) 

Rapid7's tCell agents are a core component of our innovative approach to application security. Agents monitor and protect the application by instrumenting the runtime code. The instrumentation includes gathering runtime behavior in the form of events streaming to the Rapid7 tCell cloud service for real-time data analysis, including anomaly and threat detection. In addition, the agent can automatically block attacks in order to prevent the compromise of the application. This is a great opportunity for engineers who enjoy programming in-depth, below the framework layer of the application. In this job, you'll utilize your knowledge of server frameworks, and their implementation to build highly-efficient instrumentation that maximizes the agent's ability to provide visibility into the runtime, and protect the application (with minimal performance overhead). If you have a passion for knowing how things work from top to bottom, and producing rock-solid, performant code, this job is for you. 


  • Design and implement agent features (including collection, detection, and blocking actions) for the target language and framework stack
    Languages include: C#, C++, Rust. Frameworks can include: Asp.NET, Asp.NET Core, and .NET Profiling API

  • Write automated tests that can exercise all the functionality for correctness and performance, as well as working under a variety of configurations and versions

  • Develop and enhance data transport services that enable efficient and fault-tolerant obtaining and sending of data to the backend services

  • Develop and enhance configuration and policy features options, and protection of the application

  • Work as part of the team to improve the overall product, and make customers successful Requirements

  • Curiosity and love of figuring out things work at the implementation layers

Experience required:

  • 3+ years of experience in application development in one or more of the following languages: C# and C++

  • Solid understanding of .NET GC and the CLR

  • Understanding of Linux and Windows operating system fundamentals, and experience developing on both operating systems

  • Expertise and proficiency in various frameworks in the target language, including knowledge of internals such as HTTP handling, MVC framework, data access, threading, pooling, async capabilities, package handling, etc

  • Demonstrated abilities in developing software involving caching, queuing, concurrency, memory management, and network programming

  • Knowledge of internal APIs and diagnostic services

  • Ability to quickly understand various code bases, and selectively instrument

  • Ability to quickly pick up new languages and frameworks

  • Knowledgeable about writing secure code, performance, and resource profiling

  • Prior experience in implementing monitoring (APM) agents, and metrics gathering, including .NET Profiling API, a plus

  • Prior experience working on web framework internals, a plus

  • Prior experience with the language Rust, a plus

  • Bachelor's degree (or higher) in Computer Science, or equivalent experience. (Masters a plus)