PurelyFunctional.tv Newsletter 201: Consulting, Wizards, Looking Glass
Sign up for weekly Clojure tips, software design, and a Clojure coding challenge.
Issue 201 - November 28, 2016
Not too long ago, I was a bit iffy about the future of my job at the time. I needed a Plan B, in case it disappeared. So I started looking for Clojure consulting gigs.
I didn't have much luck. People were telling me that with my newsletter all I would have to do is drop a hook in the water and fish would jump at the chance to work with me. Instead, I found no job but some interesting perspectives on the Clojure market:
- Small teams are highly productive in Clojure. Big systems can be written and maintained by a few Clojure programmers.
- Novice Clojure programmers can pair with experience Clojurists for a short time and get productive. Most companies don't do much formal training.
- Clojure helps companies stay out of trouble. Consultants in other technologies are often called in when teams get in over their head. But the companies I talked to seemed to be fine.
I short, they don't have any expensive problems they'd love to pay someone to fix. Other experienced consultants I have talked to have reached similar conclusions about Clojure (at the moment) and prefer to stay in more lucrative waters like Java and Ruby.
My search was discouraging. Then the job I had took a turn for the better, and I stopped the search. But now I'd like to hang out my shingle again and offer consulting services. This offer is exclusive to you, my loyal readers, for the moment. I wanted to give you the first chance to get on my schedule. Email me if you are interested in hiring me.
Some of the Clojure services I offer are:
- Achieving high concurrency with core.async
- Using clojure.spec and test.check to increase reliability
- Turning imperative, stateful code into pure, functional code
I have been using Lisp since 2001 and have six years of professional functional programming experience. I'm sure there's a way I can help you. Please get in touch!
And if you're interested in learning Clojure, don't worry, I will continue teaching on PurelyFunctional.tv. Register today.
Where Wizards Stay Up Late goodreads
This book covers the exciting story of the invention of the internet. What struck me most was that it was all done by the seat of their pants.
Dealers of Lightning goodreads
The history of Xerox PARC, the people who were there, and the forces that shaped the inventions we take for granted today.
I remember the first time I read this paper. It opened my eyes to a problem I had experienced many times but had never fully described. Typically, when breaking up software into modules, a programmer will draw the borders between the steps in the process. Each step will become a module. David Parnas shows that this is misguided. The purpose of modules is the shield design decisions in one module from the rest of the modules. The interface for a module should form a shell around difficult design decisions which will likely change.
This paper describes a study trying to determine if Erlang offered any value over using C++. Of course, the title gives away the punchline.
Through the Looking Glass YouTube
I don't know how this man does it, but David Nolen is at it again, spreading the good news about ClojureScript.
Working Hard to Keep Things Lazy YouTube
Raichoo explains how laziness is achieved in Haskell.
The Conj is coming up. Jason Gilman will be speaking about Proto REPL, a visual Clojure REPL for Atom. He was kind enough to do an interview with me.
Alan Kay gave a short presentation first about some of the bigger influences on his thinking. There are some great recommendations for papers and books in there. Joe Armstrong seemed very excited to interview him and they touched on some good topics. All-in-all, this was a different perspective from Dr. Kay from what we often see in his talks.
If you're in the market for a Clojure job, you might be interested to find as many Clojure job listings as you can. Well, I put this together.