Well here’s something I never thought I’d write in Fabulous Adventures in Coding when I started this blog more than ten years ago:
Today is my first day at Facebook.
It still feels weird to say it. But as it turns out, Facebook has a language design team and they have very generously asked me to be a part of it.
Now perhaps it is clear why I have been working frantically to learn OCaml for the last couple of months; several of Facebook’s compilers are written in OCaml, and so I’m going to need to have a working knowledge of that language very quickly. I figured that writing a Z-machine interpreter (and, spoiler alert, a debugger) in OCaml might be a good way to get some practice in while waiting to start on the real thing! And I figured that learning F# and then having to un-learn all the ways in which F# differs from OCaml would not serve my interests.
It is still not entirely clear what exact aspects of developer tools I’ll be working on. Facebook has a lengthy and intensive “boot camp” process to get new hires up to speed, so I’ll be heads-down on that for the next eight weeks or so – which is another reason why I wanted to have a lengthy blog series already queued up.
Odds are pretty good that I’ll be working on the Hack compiler first; Hack is a gradually typed extension to PHP that looks remarkably like C#. I’ll post more – lots more! – once I have my feet under me here.
Another fabulous adventure! I can’t hardly wait!