Bob Martin (universally known as Uncle Bob) swung by the Eden Development office to see us today. He’s in the UK for a short period on holiday and we were lucky that he was free to make the trip down to Winchester to meet us.
We spent an hour or two showing him around our company and processes, and then several of us went out for a long lunch. Along the way we had some great conversation and some useful insights:
A few small things (amongst many) that I picked up from our conversations:
Hire passion over experience: I’ve already been doing this, but it’s nice to see it underlined so strongly.
An apprentice model works: Bob takes on an appentice once every few months for several weeks: often someone locally known to him, or a member of his family. Pairing with an experienced mentor is the best way to learn your craft. You don’t charge out an apprentice, although they’re often a very good pair and help round out the team. People are also more disciplined over their practice when an apprentice is in the office, and it’s very rewarding for everyone to be able to pass on skills. I’m very excited by this: the idea of being a ‘teaching company’ really appeals.
Break the link between the persistence and the domain: Rails (and specifically ActiveRecord) gives us a lot of nice things, but one unwanted gift is a mentality that the domain layer should always be wrapped up in the persistence of that domain. The application objects really need to be as far as possible from the persistence layer: indeed, it’s much better if they don’t know how they’re persisted. We’ve run into this problem more than once now: next time around we’re definitely going to take this more to heart.
Good programmers should be language agnostic: We already know that programmers need to learn a new language every year – it should be easy to be move fluidly between them. We talked about running coding dojos during a day in three radically different languages: say, Java, Clojure, and Erlang? As an aside: wouldn’t it be great to get a bunch of people together for just coding dojos as a training workshop day? This could be a real boost to people trying to learn the craft, and good practice for the more experienced people… if you want to help kickstart this or know of something like it lets talk.
And finally:
The number of times you have to say “No” to your customer is a measure of the deficiency of your design: Think about that one for a minute…
If you’re in the area and fancy stopping by the office, get in touch: our doors are open and we love great conversation!









We’ve had the great pleasure of having