What problems are there with asynchronous programming?
When programmers have to deal with non-blocking (aka asynchronous APIs) we have to maintain more state which can be complicated.
Tyler mentions tracing as being valuable for us when we deal with our own non-blocking code in C++.
.