Are WE the right fit for YOU?:
When you join the herd, you become part of something much bigger than just your title and role. We are not only committed to supporting and trusting one another, but we advocate for diverse thinking and strive to cultivate a workforce that mirrors the best minds around the world as well as the security community we serve. With a strong diversity of mindset, we can push the boundaries of our thinking and pursue our goals of continuous innovation and secure advancement for all. Even when the going gets tough, we band together as #OneMoose.
You're probably wondering why we call ourselves Moose. Well think about it… What's the singular form of Moose? Moose. What's the plural form of Moose? It's also Moose! This theme epitomizes our amazing culture - regardless of your role, whether you're an individual contributor or work in a group, we're all one team and we're all One Moose. Interested in learning more about our awesome culture? Check out our #Rapid7Life!
Learn more about your next opportunity:
We are looking for a passionate Software Engineer to join our growing engineering team. This person should bring deep curiosity about all areas of technology, as well as specific expertise in architecture, scaling systems, data integrity/lineage, distributed systems, and cloud technologies. This individual will play a foundational role in architecting and developing new innovative features of our endpoint and data collection solutions, that are deployed to millions machines, collecting data and information to work with our cloud-based services to detect and prevent evil. As well as guiding and mentoring more junior developers.
How you'll contribute:
Architect, design, develop, and test software to aid in large scale data collection and computer forensics.
Deploy and support code in production systems
Provide presentations to stakeholders on solution design and architecture
Ability to self-start in a fast-paced environment
Ability to prioritize work in the face of competing demands
Help develop junior staff members
We want you to be as successful as possible! Here's what you should have:
A bachelor's degree in computer science, computer forensics/information assurance, or the equivalent work experience as determined through technical interview.
5+ years of software development
Knowledge and experience in low-level programming like C/C++.
Knowledge and experience in Operating systems.
Expert knowledge in software development languages like Python, GoLang, Java and/or C++.
Expert knowledge and experience using OOP and Design Patterns
Experience with shell scripts like BASH and/or windows batch files
Experience designing and debugging multithreaded/multi-process applications
Familiarity with versioning control systems (Git)
Proven ability to take on complex problems independently and to generate creative solutions.
Excellent analytical and problem-solving skills
Demonstrates an eagerness to obtain domain knowledge in order to effectively demonstrate technical qualifications
Understanding of organization's development platform and languages
Ambitious and capable of leading multiple priorities and tasks as delegated
Teamwork skills and ability to get work done through others
Proven abilities to operate independently and part of a team of developers
Desire to constantly expand technology skill set and squeeze every ounce of performance from a system
Comfortable driving new concepts/technologies to peers and management
Familiarity with AWS or other cloud hosting services
Good To Have
Familiarity with the SOLID principles.
Experience with POSIX and Windows APIs.
Kernel Programming knowledge.
Knowledge of Windows, OS X and/or Linux internals
Experience performing/analyzing live memory
Continuous Integration / Continuous Deployment tools and methodologies
DevOps related tools and processes
Familiarity with TCP/IP networking
Experience with terraform and AWS services