Concurrency programming helps developers capture the logical structure of certain applications and cope with independent physical devices thus ensuring multiple users work on a database without interference. Clojure is a great language to build concurrent applications with. Many applications require simultaneous task processing^ but Clojure uses a multi-threaded approach to implement concurrent programming. Through this book^ you will be able to understand the philosophy of Clojure and leverage the power of the multicore processor. We will help you write your code more efficiently and make inherently more scalable. You will learn to build and test robust programs that make full use of your hardware. We will also take a look at writing concurrent applications at scale that run on the cloud with multiple servers.