I have been educated in Poland, where I got my PhD in Theoretical Physics. I had several postdoc positions in Europe and in the United States. Then I suddenly found myself working for Microsoft designing and implementing a search engine. That didn’t work very well, since Microsoft was in denial about the Internet. I quit and started my own micro company, Reliable Software, which makes a distributed version control system. I wrote a book “C++ in Action, Industrial Strength Programming in C++.” I started digging into Computer Science, enlisting in graduate courses at the University of Washington. I became fascinated with multithreading and joined Walter Bright and Andrei Alexandrescu in designing and implementing the D programming language. Interest in C++ template metaprogramming and concurrency naturally led me to Haskell, and then to category theory.