Application development can be tricky enough even when you aren't dealing with complex systems programming problems like web-scale concurrency and …