Senior Software Engineer - Malware Detection

Canada - Toronto

Location(s)

Canada - Toronto

Team(s)

Product & Engineering


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