Back End Software Engineer II
About the Role
Abnormal Security is looking for a Software Engineer to join the Message Detection Decisioning team. At Abnormal, we protect our customers against nefarious adversaries who are constantly evolving their techniques and tactics to outwit and undermine the traditional approaches to Security. That’s what makes our novel behavioral-based approach so…Abnormal. Abnormal has constantly been named as one of the top cybersecurity startups and our behavioral AI system has helped us win various cybersecurity accolades resulting in being trusted to protect more than 8% of the Fortune 1000 ( and ever growing ).
In a landscape where a single successful attack can lead to financial losses of millions of dollars, the Message Detection Decisioning team plays the central role of building an extremely precise Detection Engine that can operate on hundreds of millions of messages at milliseconds latency. Every email ingested by Abnormal flows through the workflow owned by the Detection Decisioning team which applies hundreds of signals and detectors on a message based on the message and user context. The system then computes the final overall decision for the message and consequently chronicles attribution to drive various offline and online metrics such as offline precision, online precision, online False Negative Rate etc.
This team is solving a multi-layered detection problem, which involves modeling communication patterns to establish enterprise-wide baselines, incorporating these patterns as robust signals, and combining these signals with contextual information to create extremely high precision systems. The team builds discriminative signals at various levels including message level (eg. presence of particular phrases), sender-level (eg.frequency of sender) and recipient level (eg.likelihood of receiving a safe message) which forms the foundation to create highly accurate heuristic and model based detectors. Additionally to maintain an overall high precise detection system, the team innovates on software systems and processes which can be quickly adapted to solve trends seen in the short term as well as generalize well in the longer term.
This role will work with the Decisioning Tech Lead to own the adaptation of our detection system to scale to support 10X customer growth. In addition, this role will focus on improving detection efficacy by identifying and correcting false positives (business critical emails which result in significant customer workflow disruption).
The ideal candidate will have the ability to dive deep into specific customer issues, troubleshoot, and come up with simple solutions that address the customer problem as well as find ways to adapt the solution and apply it generally to overall message detection.
What you will do
- Understand features that distinguish safe emails from email attacks, and how our model stack enables us to catch them.
- Design and implement detection systems that can scale to support 10X customer growth
- Identify and resolve detection efficacy through feature engineering and rule optimizations
- Automate repeatable steps and find ways to eliminate human involvement in customer onboarding
- Maintain and improve data pipelines that feed our Data Science team
- Write code with testability, readability, edge cases, and errors in mind biasing towards simple iterative solutions
- Collaborate with Software Engineers, Customer Sales, Customer Success, Data Engineers, and Data Scientists in order to implement solutions that bring value to our customers
- Participate in Sprint planning, code reviews, standups, and other aspects of the software development life cycle
- 3+ years experience designing and building software applications in Python with a particular focus on backend development
- Strong ability to independently solve complex problems
- Experience debugging using log analytic tools, metrics, and other signals
- Proven experience translating business requirements into software requirements and delivering high quality implementations
- Ability to work effectively with cross-functional teams
- BS degree in Computer Science, Software Engineering, Information Systems or other related engineering field
Nice to Have
- Experience with big data, statistics, and Machine Learning
- Experience with Airflow, Kubernetes, Kafka, Spark, Pandas
- Experience with algorithms and optimization