Kirk Shoop (email, phone, map)

@kirkshoop (twitter, github)


I love writing code. I am driven to write C++ libraries that provide primitives that contain complexity and reduce bugs in code that uses the libraries. In the past I have written; STL collections using macros when templates were not allowed, shared_ptr and unique_ptr when they were not in the standard library, range, unique_error and unwinder since they are still not yet standardized and several more. Now I write async libraries like rxcpp, async (an awaitable observable and generator) and transducer. I love to learn and apply new compiler features to achieve better safety and expressivity in my libraries and code.


Developers have said that my code ‘reads like poetry’, that my code is ‘scary until they work in it for a month’, that they ‘learned a lot and are using what they learned in all their new code’, and that I ‘lead without leading’.

Testers have said that they have a hard time finding bugs in code written using my libraries. One tester ran bug stats after a joint project building the same code in a modern gc language and C++. He reported that the C++ code, using my libraries and design, had 1/7th the bugs of the gc language code over the same period. Another tester reported that after I left, a new manager joined, and banned my libraries in the same codebase with the same people - the tester said it was nice to have something to do again when the bug rate jumped.



  • 1993-1994 - Intern
  • 1993-1997 and 2000 - Contractor
  • 2001-present - Employee

I work on Azure Machine Learning.


I worked on various open source projects in my role at Microsoft Open Technologies, Inc..

Some other projects to which I have contributed:

  • RxJava
  • Biometrics, finger and face recognition and presence detection in windows logon.
  • LiveId in windows logon
  • Virtual smartcard using TPM 2.0 in a UMDF driver
  • Windows kernel codesign enforcement for Windows Store apps


1997-1999 - employee Worked on the RealServer and RealPlayer, adding end-to-end Authentication and few other features.


I have been using all spare time to work on some projects that I care about; rxcpp and async.

I also to publish what I am learning and doing:

Description Link
Twitter real-time analysis using rxcpp and Range-v3 twitter stream analysis app
CppCon 2016 talk on youtube CppCon 2016
C++ Russia talk on youtube C++ Russia 2016
CppCon 2014 talk on youtube CppCon 2014