If I had known at the end of my internship that, were I to return Facebook, that I would be working on the same project as I had during my internship, I would be working at Microsoft.
Yet, here I am, the newest member of the probabilistic programming language team at Facebook. My decision to join was not easily made – there were other teams that I would have been thrilled to join – and it certainly did not help that the team’s project is risky and success, uncertain.
After all, probabilistic programming still, for the most part, exists in the land of academia – a realm whose problems are vastly different from Facebook’s. As a result, academia’s vision of probabilistic programming differs from the vision our director, Erik Meijer, has. At the very least, it would unexpected for an essay titled “Making Money using Math” to come out of academia. If that essay is not a clear enough picture of his vision for probabilistic programming at Facebook, he travels frequently to give talks on the subject that you can attend and pick his brain.
However, before one can even begin to get to the point of making money, a huge amount of work must be done so that probabilistic programming is successful at Facebook:
Unfortunately, none of these problems have easy solutions. After working on and reading about probabilistic programming last summer, I was aware of these problems when I joined the team this fall. I am still uncertain about the success of the team. Despite all of this, I think that were good enough reasons for me to join the team.
It just so happened to work out that I stumbled across an opportunity to work on a language in OCaml, something that I can check off my list of things to try. Currently, I am working on adding coroutines to the Hack programming language. My team lead gave a talk on this at SPLASH 2017. Although I did not know that this was going to be the task I would work on when I joined, out of the distribution of possibilities, I think this was the best outcome. There’s certainly uncertainty in the future. But at some level, I think I need to explore higher variance paths right now in life, starting with probabilistic programming.