Real World Clojure is your source for in-depth information about designing Clojure applications. I will help you move from a beginner Clojure programmer to an intermediate and from an intermediate to an advanced Clojure programmer by giving you practical information for architecting Clojure and ClojureScript applications.

There are many tutorials, websites and books about how to get started with Clojure (language syntax, set up a project, configure your IDE, etc.). There are also many tutorials, websites, and books about how language features work (protocols, multimethods, core.async). There are precious few tutorials, websites, and books about when and how to use Clojure’s features.

For example, say you want to design a modular application with plugins. How do you do it? What language features should you use? How do you put those language features to use? Do you put each plugin in its own namespace or perhaps in its own project? What are the advantages and disadvantages of each? This is the information I will give you.

What makes me qualified?

What makes me qualified to give you this information? My name is Paul Stadig and I’ve been using Clojure since 2008. I took a job writing Clojure full-time (actually writing Clojure every day!) in 2010. Since then I’ve worked at two other companies writing Clojure code full-time, and still do!

I have worked on large, distributed, cloud based applications that ran Clojure services on hundreds of Amazon Web Service instances processing jobs from RabbitMQ. I have worked on Clojure services that served front page ad carousels to 1,000,000 visitors per day. I have worked on distributed Clojure systems that process graph algorithms across billions of observations about network activity.

I have patches that have been applied to Clojure. I have been an administrator for Clojure’s Jira ticketing system, and for the Clojure developer Google Group. I have been actively involved in Clojure user groups. I have created and contributed to many Clojure open source projects. I have spoken at Clojure conferences. I have been a technical reviewer on several Clojure books.

I also have a life outside of Clojure :). I live in central Virginia in the foothills of the Blue Ridge Mountains with my wife and four children.

I hope you find this site to be useful and actionable. If you have any questions, criticisms, or suggestions, please contact me.