London Clojure Job Survey

154 views
Skip to first unread message

Bruce Durling

unread,
Jul 29, 2011, 10:42:06 AM7/29/11
to London Clojurians
Fellow Clojurians,

At the risk of having the recruiters jump in here...

I'd just like to do a little survey of places in London that are
looking for people who know clojure or are actually doing clojure
projects/have clojure running in production.

Here are the 3 that I'm aware of (though more flesh on the bones would be good).

1. Deutsche Bank (is this just in Risk, or have I got the wrong end of
the stick)
2. Citibank (front office pricing and correlations I believe)
3. Barclays Capital (Risk)

I think that Forward are doing stuff too (anything in production?) and
there is "another media company" out there doing stuff as well.

Anyone for any more?

cheers,
Bruce

Paul Ingles

unread,
Jul 29, 2011, 10:56:22 AM7/29/11
to London Clojurians
We've had Clojure in production for a little over a year now.

Originally we used it for doing some big data analysis and ETL. More
recently, we replaced the core of the Utilities pricing and comparison
for uSwitch.com with a Clojure implementation around 9 months ago.

We're definitely also looking for good people- if anyone's interested,
please feel free to email me directly (pa...@forward.co.uk).

Thanks!

Paul Ingles

unread,
Jul 29, 2011, 12:10:58 PM7/29/11
to London Clojurians
Sorry, I should've added that I work for Forward (forward.co.uk). :)

Incidentally, I'd be interested to hear how others that are using it
in production have found it- how they went about introducing it,
getting other members of the team involved etc.

On Jul 29, 3:56 pm, Paul Ingles <paul%forward.co...@gtempaccount.com>
wrote:
> We've had Clojure in production for a little over a year now.
>
> Originally we used it for doing some big data analysis and ETL. More
> recently, we replaced the core of the Utilities pricing and comparison
> for uSwitch.com with a Clojure implementation around 9 months ago.
>
> We're definitely also looking for good people- if anyone's interested,
> please feel free to email me directly (p...@forward.co.uk).

Bruce Durling

unread,
Jul 29, 2011, 12:17:46 PM7/29/11
to london-c...@googlegroups.com
So, uh...

How did you go about introducing it? How did you get other people
involved? What have been the biggest problems and what have been your
biggest successes? Any surprises? ;-)

cheers,
Bruce

> --
> You received this message because you are subscribed to the Google Groups "London Clojurians" group.
> To post to this group, send email to london-c...@googlegroups.com.
> To unsubscribe from this group, send email to london-clojuri...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/london-clojurians?hl=en.
>
>

Paul Ingles

unread,
Aug 1, 2011, 4:26:39 AM8/1/11
to London Clojurians
How did we introduce?

I guess much like anything we use, we didn't really introduce it. We
experimented with it, used it to build some internal tools and
systems. These would be rolled into production and we'd start getting
a feel for where it might/might not be useful.

We've favoured building systems in small, independent pieces which
makes swapping out an implementation easier, and encourages us to
learn and re-learn everything about what that piece did. We'd take the
knowledge but feel confident about dropping any/all of the code that
ran before.

I used it originally at the beginning of last year for doing some work
with Google's APIs and to build a system to run the ETL flow for one
of our businesses. A part of that runs on Hadoop (we have some tens-of-
gigabyte XML files) and is still used today, although we dropped the
flow system for a JRuby implementation.

More recently, we've been working at uSwitch to replace a
monolithic .NET system (it's actually lots of WCF services, but feels
like you can't manoeuvre easily :) with a mix of Ruby and Clojure. A
colleague, Mike Jones, was on paternity leave and felt Clojure might
be a good fit for the core pricing/comparison of the Utilities. As we
went we uncovered all kinds of nuances and things which had been
missed in the original .NET, and our Ruby implementation.

How did we get other people involved?

Anyone that worked on the team would need to do some work on the code
at some point. Mike has kind of been the lead for it, but, all of us
have been working with it.

We place a big emphasis on learning. We started studying SICP and
organising weekly meetings to go through examples. Others started
working the Project Euler questions and meeting to go through those.

What have been the biggest problems?

I think it's been getting the functional-feel/Clojure-feel. After a
while you get a feel for what's good/bad with OO languages- forced out
through many years of TDDing and applying OO principles to older
systems. I don't think any of us had experience with a functional
language, so you have to rely on more base things to know whether it's
going well. I'd say more recently, I take a lot of inspiration from
Stuart Halloway's emphasis on Simple over Compound to know where a
solution lies.

I'd say it's taken us a long time and lots of extra learning to get to
being average Clojure programmers. But, I definitely think it's made
us significantly better programmers overall (a side-effect of learning
SICP and some other old-school CompSci books has been making better
decisions). It sets the programmer bar pretty high.

What have been the biggest successes?

I actually think one of Clojure's best strengths is it's Java Interop.
If I'm looking at using some Java library, I'll almost always 'lein
new' a new project and play around. I find the flow in Emacs/SLIME
with Clojure very productive now. I also think the interop code you
write ends up being cleaner than with other JVM languages (think
JRuby).

The bit of code I wrote at the beginning of last year to do some of
our big data ETL is still being used (although given it's triviality
it's more to do with it just working, than a specific Clojure #win :).
The utilities pricing has probably been in production for around 9
months and runs really well. We hired Antonio Garrote (https://
github.com/antoniogarrote), who slated our Clojure code during his
interview, and he's been using Incanter to help analyse and visualise
some stuff he's been doing with Mahout.

Aside from anything Clojure specific, I think the biggest success has
been the emphasis it's placed on us to be more thoughtful and
analytical programmers.

Any surprises?

This isn't really related to Clojure per se, but, Mike and I both
attended clojure-conj last year. During the flight we paired for about
7 hours and rewrote whole parts of the utilities code. Protocols had
just been introduced to Clojure and we thought it might be possible to
write a tidier implementation. We added them and then deleted them,
our implementation didn't really work out very well. But, what was
surprising was how being locked away without the Internet was still
productive. We felt it was one of the most productive 7 hours work
we've ever had.

Bruce Durling

unread,
Aug 1, 2011, 4:55:59 AM8/1/11
to london-c...@googlegroups.com
Paul,

That was ace. Thanks for telling us about that. Anyone else care to
step forward with their story?

cheers,
Bruce

On Mon, Aug 1, 2011 at 09:26, Paul Ingles <pa...@oobaloo.co.uk> wrote:
> How did we introduce?
<snip>

Reply all
Reply to author
Forward
0 new messages