We are seeking a Staff Software Engineer with demonstrable, professional-grade programming experience. To these engineers, systems are code, code is data, data is bits, and bits can be manipulated. Can you read a specification, implement it, test against it, find flaws in it, and then exploit it...?
You will be joining the Cylance Research & Intelligence team, developing the code that teaches our truly revolutionary, machine learning-driven security platform to understand every last aspect of the data it consumes. You'll be depended upon to think creatively with both breadth and depth; to become an expert in topics you may never have seen before, readily experimenting and reverse engineering to get the knowledge you need; and to imbue our core technology with your expertise. Your contributions will be critical to our future success.
WHAT YOU WILL DO:
- Write C# code to quickly, correctly, comprehensively and safely process data in diverse formats
- Exercise autonomy and creativity in identifying and extracting documented, undocumented and totally novel features of that data
- Become a domain expert in various data formats and the programs that handle them
- Think adversarially to ensure the robustness of our data processing code and anticipate the assumptions of others' code
- Knowledgeable of OS internals for Windows, Linux, MacOS
WHO WE ARE LOOKING FOR:
- BS in Computer Science or a related discipline, or 5+ years of professional experience
- Experience programming in C# or the ability to master it quickly (e.g., expert in Java, novice in C#)
- Requires the ability to work independently with substantial latitude for action and decision while maintaining focus on achieving optimal outcomes as part of a collaborative development effort
ABOVE AND BEYOND:
- Experience with C code and performing kernel function and API hooking
- Assembly programming
- Familiarity with software vulnerabilities and software exploitation techniques
- Experience with Machine Learning model training (Neural Networks, Logistic Regression, etc.)
- Portfolio of data processing projects such as file and protocol parsers
- Broad knowledge of software security topics
WHAT WE NEED FROM YOU TO APPLY
- Current résumé
- Cover letter/summary expressing:
- Why you are interested in working at Blackberry Cylance
- The skills, strengths and expertise you will contribute to our diverse team of extraordinary talent and humble hearts.