Lead Software Engineer - InsightIDR
Rapid7 (Nasdaq: RPD) is advancing security with visibility, analytics, and automation delivered through our Insight cloud. Our solutions simplify the complex, allowing security teams to work more effectively with IT and development to reduce vulnerabilities, monitor for malicious behavior, investigate and shut down attacks, and automate routine tasks. Over 9,300 customers rely on Rapid7 technology, services, and research to improve security outcomes and securely advance their organization. For more information, visit our website, check out our blog, or follow us on LinkedIn.
What You'll Be Building
InsightIDR is a cloud-based, microservice-designed architecture built with the mandate to ingest, monitor, and review log data from an organization's environment in real time in order to raise the alarm if and when attackers hack their way into their network. In security terms, we are committed to providing Blue Team defenders the best tools in the industry to detect and respond to attacks. We've achieved a lot - InsightIDR is already acknowledged as a Leader in the Gartner Magic Quadrant for our industry - but the threat landscape is always evolving, and we must continue to grow and improve our product along with it.
Our microservices are built on top of AWS technology designed to scale horizontally as our data processing requirements continue to grow. You'll be working at scale from the start. We are a successful product with heavy adoption, so any code we deploy will immediately be responsible for handling massive amounts of data from the moment it is turned on. And you'll be deploying a lot: our CI/CD tools deliver new features into production multiple times a day; our Slack channel for release notifications is never quiet.
Our Terraform-described stack is mostly Java-based built over various data persistence and queue technologies, such as SNS/SQS, Kafka, ElasticSearch, ElastiCache, MySQL-flavored RDS, and Cassandra.
What You Should Bring
To be a good fit for our team as a Lead Software Engineer, you should have:
- A demonstrable passion for the craft of software development
- Interest in remaining a hands-on programmer for the next few years as you learn and contribute to the architecture of the system
- A history demonstrating a team-based approach to problem solving
- Experience defining contracts for coordinating development of software projects across multiple teams
- A dynamic sense of ownership and responsibility for the quality of the software you create
- At least 6-10 years of experience in software development, including active or recent Java experience
- At least 1-3 years of team lead experience with successes you can describe, leading your team through full life cycle software development
- Passion to collaborate with our wider teams (e.g. product, UX, support) to think strategically about how to solve problems for our users
- Empathy for our users and the Rapid7 mission
Even better if you have:
- Interest and/or experience in the security industry
- Interest and/or experience in cloud-based architecture
- Experience with Spring and/or SpringBoot
- We value diversity in our team and we are eager to accept applications for our engineers across all backgrounds and life experiences.