Senior software engineer at Asemio in Tulsa, OK

We are Asemio and our team of data scientists, software engineers, architects, and management consultants are working together to achieve a nationwide data ecosystem for social good.

You’ll be working on the Asemio Community Integration Platform. It features state-of-the-art privacy-preserving, pre-processing and pipeline management, as well as record linkage technology.

The back end is written in OCaml. The front end is compiled from OCaml to JavaScript and uses a modern MVC framework. The work you’ll be doing will touch numerous technical disciplines, including cryptography, distributed systems, language design and implementation, data analytics, and data visualizations.

We prefer candidates willing to relocate, but we could make an exception for an exceptional candidate.

For more information or to apply, please refer to our SE listing: https://stackoverflow.com/jobs/401383/ocaml-senior-software-engineer-asemio

7 Likes

Curious to know more about your ocaml tech stack - which libs/framework do u use? With regards to front end do u use jsoo or bucklescript? Similarly what libs do u use in you back end?

The backend is Core, Lwt, Cohttp, Angstrom. Some others too, of course.
The frontend is JSOO, I’ve been experimenting with https://github.com/janestreet/bonsai lately and I’m extremely impressed.

Being “fullstack” isn’t expected, we’ll let you work on what you do best.

1 Like

I’m curious to hear how well positioned you think ocaml is for secure multi party computation. I see inpher and informal.systems building in this space as well.

1 Like

It would be interesting to hear a write up on your production experience with jsoo, now that you have been using it for a while.

Super late response, but it turned out to work well in practice. Bonsai and JSOO together made the site so fast you’d think it was HackerNews (one of the fastest sites I know)!
The main 2 downsides are that Bonsai code can become a complex tangled mess of state in unexpected ways -although that was partly due to my inexperience with it- and the size of the compiled .js payload grows quickly! I was adding 1mb to the compiled app every 6 months of development, just by myself!
Overall I would pick the same stack again, it was a success.

4 Likes