Convince your boss to use Clojure
Summary: Clojure has been successfully adopted by many companies. There are many resources available by people who did the hard work of introducing Clojure to their team.
Do you want to get paid to write Clojure? Let's face it. Clojure is fun, productive, and more concise than many languages. And probably more concise than the one you're using at work, especially if you are working in a large company. You might code on Clojure at home. Or maybe you want to get started in Clojure but don't have time if it's not for work.
One way to get paid for doing Clojure is to introduce Clojure into your current job. I've compiled a bunch of resources for getting Clojure into your company.
Take these resources and do your homework. Bringing a new language into an existing company is not easy. I've summarized some of the points that stood out to me, but the resources are excellent so please have a look yourself.
The Strategy
Before you begin your quest to introduce Clojure, you're going to need a good strategy. By far the best presentation of a strategy is by Neal Ford. Neal Ford is a Director at ThoughtWorks and has a great strategy for introducing Clojure into an existing company. Watch this video.
- Spread Clojure outside of the company.
- Get a groundswell of people inside the company.
- Use Clojure for things it's great at.
- Get the Clojure jar file included.
If your company happens to be using Ruby, Joshua Ballanco has some great tips for How to Sneak Clojure Into Your Rails Shop.
Sean Corfield helped move a sizeable legacy application to Clojure. He's got some good, sobering advice.
- Be ready to explain the lack of a framework.
- OOP habits are ingrained.
- Don't underestimate the difficulty.
A lot of great advice from someone who's actually done it.
- Find allies.
- Answer the questions.
- Take responsibility.
- Get help.
- Be an advocate.
Some great advice from Logan Campbell, someone who convinced his coworkers to use Clojure at a Post Office.
- Be positive: if they say "We need static typing", say "Great! Clojure has that!" (which it does with Typed Clojure).
- Show them working code.
- Be ready for performance questions.
Material for other developers
Prismatic has been using Clojure to great success. They've written about how Clojure is used throughout their stack. This is a great introduction to answer the question "Why Clojure?". Spread this post whenever anyone asks why?.
Leo Polovets polled Clojurists at Factual and summarized their answers to Why Clojure?.
A while ago, this great post was trending on Hacker News. It explains Why Clojure?.
Material for the project manager
If you'd like a high-level overview of the business advantages to using Clojure, you can do a lot worse than asking Cognitect, the company that develops Clojure itself. They've published a case study, meant for non-tech folks, to understand the implications. It's focused mainly on Datomic, but it touches on Clojure.
Though a little hyperbolic, this post is a good one for the skeptical manager, the one who wonders whether their team can really learn a new technology quickly enough to justify the cost.
For those who like to follow industry trends and what others are recommending, look no further than the ThoughtWorks Technology Radar. It's a compendium of recommendations, published regularly, that takes a realistic view of a constantly changing landscape. Clojure has been rated at Adopt since October 2012. A lot of secondary Clojure technologies are also on the radar, including core.async, om, Datomic, and ClojureScript.
Documentation, Training, Support
I mainly want to show that there's plenty out there and plenty of new stuff coming out, not recommend anything specific.
Books
There's plenty going on with documentation. There are many books available on Amazon. These are all of the same quality as any enterprise Java book.
- Clojure Programming
- The Joy of Clojure
- Programming Clojure
- Clojure in Action
- Mastering Clojure Macros
- Clojure Cookbook
- Web Development with Clojure
- Clojure Data Analysis Cookbook
- Mastering Clojure Data Analysis
- Clojure for Machine Learning
- Functional Programming Patterns in Scala and Clojure
Videos
Videos are an up-and-coming type of training, but there's plenty out there.
Training
Besides these courses, there are often Clojure courses before or after the Clojure conferences.
Support
Besides the normal IRC (#clojure on freenode), Google Group, and Jira, Cognitect offers support.
Conclusion
Clojure is gaining traction. It's fun, it's productive. But it's still a little fringe in larger companies. Though it will still take a lot of work, these resources should help you make a case for Clojure. It's my mission to help people thrive with Clojure. If you'd like to keep up to date on what's happening in the Clojure world, you may be interested in getting the Clojure Gazette for free. Sign up here.
For more inspiration, history, interviews, and trends of interest to Clojure programmers, get the free Clojure Gazette.
Clojure pulls in ideas from many different languages and paradigms, and also from the broader world, including music and philosophy. The Clojure Gazette shares that vision and weaves a rich tapestry of ideas from the daily flow of library releases to the deep historical roots of computer science.