Software Engineer, Static Analysis

Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities â€" we're just getting started.

Facebook’s Static Analysis team is seeking an experienced software engineer with expertise in C++ and typed functional programming to help build and improve our analysis tools. You will help design and extend Infer for C++, which is used to find bugs across all Facebook engineering. Our tools are written in OCaml, part of the Infer open source static analysis suite, and we use Clang for the Front End. As a successful candidate, you improve our OCaml/Clang toolchain so we catch more bugs in C++. Candidates should have C++ language, compiler or relevant development experience. This is an OCaml role, so demonstrated experience in typed FP (e.g. OCaml, Haskell) is preferred. We are looking for someone who loves working at scale, where performance, reliability and modularity intersect.

RESPONSIBILITIES

  • Proactively develop software to support analyses on C++
  • Lead improvements to underlying OCaml code base
  • Work with engineers to identify improvements to our tools
MINIMUM QUALIFICATIONS
  • B.S. or M.S. in Computer Science or related field, or equivalent experience
  • Experience with C++ language specification, semantics or compilation
  • Strong communication skills
PREFFERED QUALIFICATIONS
  • M.S. or further study in an language design, functional programming or static analysis
  • Experience designing APIs for language tools
  • Experience with typed functional programming (e.g. OCaml, Haskell)
  • Knowledge of C++, Clang or other compiler Front Ends
  • Static analysis knowledge or other formal methods in verification and correctness
  • Knowledge of OCaml or equivalent typed language


Meet Some of Facebook's Employees

Lauren W.

Global Marketing Lead, Facebook Blueprint

As the marketing lead for Facebook’s Blueprint program, Lauren focuses on building awareness around the program and the adoption of education and training by businesses and advertisers.

Ariane J.

Software Engineer

Ariane works to improve Android performance for various Facebook products. She drives the entire tooling system and the way it should operate, and fixes logging and instrumentation APIs.


Back to top