Software Engineer, Programming Languages

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 is seeking a Software Engineer experienced in programming language implementation and design to join the Programming Languages & Runtimes team. The Programming Languages & Runtimes team builds the languages and runtimes used to develop and execute the product code for Facebook. We are looking for candidates who share a passion for the practical application of programming language theory to build new language features, libraries, and tools that improve the efficiency of developers and machines. This position is full-time and based in our Menlo Park, CA office.

RESPONSIBILITIES

  • Envision, design, and implement language features, libraries, and tools to solve specific problems with broad impact, such as improving developer experience, enforcing code reliability, and enabling performance optimizations
  • Code using primarily OCaml, C/C++
  • Interface with other teams to incorporate their innovations and vice versa
  • Conduct design and code reviews
  • Analyze and improve efficiency, scalability, and stability of languages and tools
MINIMUM QUALIFICATIONS
  • 6+ years coding experience in OCaml, Haskell, F#, Java, C#, and/or C/C++
  • 2+ years experience building scalable languages, libraries, and tools
  • B.S. in Computer Science or related technical field
PREFERRED QUALIFICATIONS
  • Experience with programming language design, program analysis, type systems, compilers, operating systems, file systems, and distributed systems
  • Relevant knowledge of PHP/Hack, JavaScript, Python, and/or related languages
  • M.S. or Ph.D. in Computer Science or related technical field


Back to top