The Programmer’s Guide to the Parallel World