Compiler Developer
We're looking for a talented colleague to join our small language and data tools team. The ontology team at Crowdstrike researches, develops, and maintains tooling central to the data model used throughout our engineering department, including custom languages and compiler environments. Our team actively collaborates with most other groups on major initiatives within engineering, including the sensor and cloud teams.
Our team is highly distributed with most people working remotely on flexible hours, though coordination with other team members is expected. Occasional travel required. The Ontology team’ core office is in Minneapolis MN, and Crowdstrike also has engineering offices in Kirkland WA, Sunnyvale CA, Irvine CA, and Arlington VA, for those who prefer office life.
CrowdStrike is a computer security company, but we do not expect candidates for this role to have prior security industry experience. We will mentor/train in aspects of the security world as required. We do expect a strong interest in CrowdStrike's mission and a willingness to grow into a position consulting on system design decisions and coordinating with other teams across the company.
Responsibilities:
- Develop and implement compilation algorithms in Haskell for our next-generation logic engine.
- Establish and maintain positive relationships with internal users.
- Maintain and develop functionality in existing tools in Python.
Requirements:
- High proficiency with algorithms in functional programming languages
- Experience in Haskell and Python
- General understanding of modern compiler design
- Familiarity with modern software engineering practices (source control, agile development, etc.)
- Understanding of different testing methodologies and their uses
- Able to self-direct work and collaborate with remote colleagues
- BS or higher in Computer Science, Math, or similar field, or equivalent experience
- Flexibility: our team is small but covers a lot!
Bonus points for:
- Experience with theory or practice in compiler design, particularly with optimization (e.g. SSA vs CPS, data flow analysis, register allocation)
- Familiarity with golang and/or C/C++
- Familiarity with automated proof environments such as Agda, Coq, Idris
CrowdStrike is an Equal Opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex including sexual orientation and gender identity, national origin, disability, protected veteran status, or any other characteristic protected by applicable federal, state, or local law.