Software Engineer, Static Analysis

(London, United Kingdom)

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

Preferred 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

Peipei Z.

Manager, Global Client Solutions

Peipei helps Facebook’s top clients devise solution-based and results-driven social media strategies. She creates strategic partnerships to help people and brands connect in a more meaningful way.

Cristina T.

Sr. Manager, WhatsApp Customer Support & Localization

Cristina manages the WhatsApp customer experience, translating the application into multiple languages and troubleshooting communication services worldwide.


Back to top