Resume

Resume

I learned programming while studying Computer Science and Engineering at KTH - Royal Institute of Technology. My main focus became formal methods; my master's thesis was on defining a small-step operational semantics for multi-threaded Java bytecode and embedding that in a proof assistant based on μ-calculus.

After obtaining my Masters, I continued in academia (still at KTH) with doctoral studies in constraint programming. In particular, I was part of the core team for the constraint programming system Gecode. In 2008 I got a licentiate degree (a degree that can roughly be viewed as a partial doctoral degree), with a thesis titled Techniques for Efficient Constraint Propagation.

Since academia, I've worked at several different companies, including Tomologic, RaySearch Laboratories, and OptiSchedule (a start-up in personell scheduling). Currently I work at SambaNova Systems.

A full CV is also available if you are interested.

Programming Languages

I more or less regularly code in the following languages:

  • Java
  • Kotlin
  • Python
  • Rust
  • MiniZinc
  • C++
  • TypeScript

In addition, I sometimes write stuff in Scala, C, and bash. I've previously written code in Mozart/Oz and StandardML. I sometimes read code in Haskell, Ruby, Go, Erlang, C#, Prolog, and many more.