Machine Learning Engineer II
Abnormal Security’s Account Takeover team is defining the next generation of security for Software as a Service and cloud offerings. Enterprises of all sizes have begun to adopt cloud offerings from Google Docs to Box to Slack: work that once took place in a single office building or behind a firewall is now happening out on the open internet, and criminals are very aware of the opportunities to steal data, hijack important financial information, and otherwise compromise companies that use these cloud services. Help us build a new layer of protection that will give enterprises the same level of security for their cloud offerings as Abnormal Security’s industry leading products do in the email security space.
We’re looking to add a Machine Learning Engineer to our Account TakeOver (ATO) Detection team. The ATO Detection team’s mission statement is to provide world-class attack detection efficacy to tackle the fast evolving attack landscape using a combination of generalizable and auto-trained models as well as specific detectors for high value attack categories. This team is solving a multi-layered detection problem - from modeling communication patterns to establish enterprise-wide baselines, to normalizing across multiple event sources, to making use of contextual information to avoid false positives (e.g. comparing unusual sign in locations with travel records). This role straddles the line between velocity and excellence.
You are someone who wants to make an impact. You are passionate about solving customer problems and have a burgeoning set of skills around machine learning, software engineering and data science with which to do so. You want to apply those skills on a problem that leaves the world in a better place.
You are humble and want to learn! This is one of your first jobs - maybe your actual first job - and you know that there’s a ton of skills to build and knowledge to grow and you want to do so as fast as possible. You ask questions. You take notes. You have an active and curious approach to your work and as a result you grow faster than the average person.
We are a scrappy team: we are building a new product from scratch - this means you should be comfortable with a level of uncertainty beyond what you’d find at a more mature company or even a more mature team at Abnormal. Not every project will come with a well defined PRD - that’s expected and we expect this engineer to go dig in and figure out what to do. This also means occasionally we’ll ask you to do things that may not strictly fit the role of a “machine learning engineer” - it might mean jumping on a customer call, or digging in to help fix a frontend bug.
We are also not only a remote team, but a very distributed team, as such you will need to have excellent communication skills across both verbal and written mediums. You will need to be just as comfortable on a zoom call as writing a 1 pager project proposal to be shared across the team for technical feedback.
In this job, you will bring these skills
Skills/Experience - Required:
- Excellent Software Engineering skills
- Strong software fundamentals - has ample experience coding in a production environment
- Experience designing systems with data at their center - has thought through and executed on long-term designs to support a scaling product
- Experience with production ML systems - understands the pillars of a modern ML stack and the development/maintenance process of ML models
- Fluent with Python and machine learning libraries like numpy and scikit-learn
- Familiarity with using data processing frameworks like Pandas and Spark
- Systematic approach to debug both data and system issues with ML models or heuristics
- Writing code that is easily testable and understood by other engineers
- Works well with other stakeholders - has worked with cross-functional teams to drive projects over the finish-line
- Machine learning academic background (Bachelor's degree in Computer Science or related fields)
- Hands on experience training and tuning models
- 2+ years of experience applying these skills in a production environment
- Interest in security and stopping bad actors
Skills - Nice to have:
- Experience with tuning a machine learning system in a production setting
- Master’s in Computer Science or related field
- Experience working in a startup environment
- Familiarity with LLMs
This position is not:
- A role focused on optimizing existing machine learning models
- A research-oriented role that's two-steps removed from the product or customer
- A statistics/data science meets ML role
As a Machine Learning Engineer on the ATO team, you will:
- Design and implement systems that combine rules, models, feature engineering, and business and product inputs into an ATO detection product, with guidance from senior engineers
- Build attack detection systems capable of highlighting rare, suspicious activity (one in a million) with 95%+ precision & <1 minute latency on the event stream
- Understand the nature of attacks and design features to calibrate behavior across our customers from multiple industries, with different usage patterns to provide consistent performance
- Write code with testability, readability, edge cases, and errors in mind, such as feature drifts between online/offline data.
- Contribute in other areas of the stack: building and debugging data pipelines, or presenting results back to customers in our tools when the occasion arises
- Participate in building a world-class detection engine across all layers - data quality, feature engineering, model development, experimentation and operation
- Work with infrastructure & systems engineers to develop the right feature aggregates to feed into the detection system
- Create a magical work environment with colleagues and memorable interview process for candidates