What’s standing in your way? Let’s talk about it.

We’ve all been there: frustrated, uncertain, struggling with the sense that you really ought to know the answer to this one. From debugging nightmares, to tough architecture decisions, to deciding what’s the next step to level up as a developer… there’s one thing that has always helped me when I’ve been at an impasse: a conversation with a trusted peer who’s been around the block a few more times than I.

Hi, I’m Avdi. I’m not a real duck, but I am a real programmer. I’ve been at it for twenty years, and along the way I’ve helped a lot of other developers become more effective at what they do. Book a consultation with me, and get un-stuck.

I was really struggling with the Big Question of being a super-senior developer: Build a business of my own? Stick with my job? Become a consultant? Find a different job or role? I started to chase all of these, and so I made progress on none of them. And I was getting increasingly frustrated about it.

Working with Avdi helped guide my thinking. In a short conversation, he was not only able to help me find the confidence and clarity I needed, but was able to talk about each of the different possibilities in enough detail that, even after my personal situation changed, it was perfectly obvious which new path I should take.

More than anything else, Avdi helped me understand what I'd be best at and what would make me happiest, and which directions would likely make me unhappy. That's knowledge I'll be able to fall back on, no matter what comes next.

Justin Weiss

Avdi was full of helpful advice with regards to refactoring, testing and TDD-ing. The gems he suggested I still use today (such as VCR).

Tushar Saxena

its been a few years since I paired with Avdi, but I still draw from that experience to this day. I was hoping to get some clear direction on schema and architecture and get me going down a decent path with my project. Avdi was very helpful and we broke the problem domain down and created an approach to solve it.

Pairing with Avdi was a bit intimidating at first, but that quickly turned into excitement. I never felt like I was 'inferior' or the lesser 'half' of the pair (even if that was definitely the case). He always went at my pace, and stopped to explain each step along the way. And more importantly the reasoning behind the decision.

I think I went into our first session with a bit of an inferiority complex, and when we got into a a bit of a corner, Avdi actually had to look up something in the rails documentation. I thought "wow" even someone as "ruby famous" as Avdi has to look up stuff! Just like me! Reflecting back, of course he does not have the entire Ruby and Rails API memorized, but I no longer feel inferior when I have to reference documentation.

Jason Fraley

I have, at various points, worked for the same company as Avdi, engaged him for remote pair-programming sessions after that because I missed his enthusiasm and insight, bought copies of “Exceptional Ruby“ and “Confident Code” for all the junior developers on a team because that seemed the quickest way to bring everybody up to speed and give them a common idiom, and had a prototype rubber duck session earlier this year. When it has been necessary to reignite enthusiasm or provide a lateral insight into an intractable problem, Avdi has at more than one point proven invaluable.

Brilliant. Two examples, six years apart, of things I would not have thought of but were evidently true once Avdi pointed them out were that Cucumber need not be restricted to integration tests but could usefully build unit tests where the SUT has sufficiently complex logic that expressing the behaviour in words as well as code would very likely result in a clearer understanding and therefore a clearer implementation, and that “marketing“, while not an obvious example of the Pragmatic Programmers’ “learn one new language a year”, was potentially the most important of all.

Sean Miller

I needed a different perspective on improving the code structure and interactions for a few SOA Ruby apps.

The pairing experience was natural, well-paced, insightful and, most important, helpful. We explored multiple alternatives, and sure enough, the optimal changes became clear and simple. Pairing is all about communication, and Avdi is an excellent communicator, it was a pleasure exploring different ideas.

Pairing with Avdi helped me slow down, learn to entertain ideas more and not become too attached to intermediary iterations. It taught me that all understanding is temporal and it's most valuable to continue exploring and improving, in the most playful and easy-going way possible.

Gerhard Lazu

Rubber ducks facing one another

Do you:

  • Need a second perspective on an architectural decision?
  • Want suggestions (or moral support) for refactoring a big ball of mud?
  • Want someone to help you hone a conference talk?
  • Desire to get better at knowing what to test, and how?
  • Want a third-party code review for yourself or your whole team?
  • Want help deciding what to study next?
  • Crave feedback on an API design?
  • Want some company for a gnarly debugging session?
  • Want to talk about making the transition from being “just a coder” to someone who teaches, mentors, and disseminates ideas?

I’ve helped programmers with all of these things and more, and I can probably help you too.

Book a Rubber Duck Session

  • What would you like to consult with Avdi about?


What if I'm not satisfied?
Then I’ll give you a full refund.
What if I can't make it, or there's an interruption?
Life happens. I’ll make sure you’re re-booked to get the balance of your time.