Cookie Consent by Free Privacy Policy Generator Update cookies preferences

Rubber Ducking: The greatest tool of a development agency

Now you must be thinking, ‘What do rubber ducks and development have in common?’, other than being the start to a potentially cheesy joke, it's actually a lot more than you think…

Rubber Ducking in Web Development 

Now you must be thinking, ‘What do rubber ducks and our Magento developers have in common?’ Other than being the start to a potentially cheesy joke, it's actually a lot more than you think… stay with me.

What is Rubber Ducking?

‘Rubber ducking' is short form for ‘rubber duck debugging' a term coined in the 1999 book ‘The Pragmatic Programmer. In this book it explains having a physical rubber duck on a developer's desk is one of the best tools for a coding dilemma.

What is the concept of rubber ducking?

Quite simply, all you need to do is explain the problem you are having to the rubber duck. Obviously, the duck can’t answer you, but the value lies in clearly organising and explaining the problem that you are having, any ideas why you think your code isn’t having the desired outcome and what you want the code to do. Sometimes, when you are just thinking about a bug in your head, even if you think that you have everything in mind clearly, you are missing something which becomes clear when you explain it to someone else.

How to do rubber duck debugging

  1. Obtain rubber duck
  2. Explain your problem / bug / philosophical question in as clear as detail as possible
  3. Realise that everything is a bit clearer now you’ve explained it and you can now see the answer
  4. Thank your rubber duck for its service (optional)

How rubber duck debugging helps

It forces developers to simply talk to the object about their final code outcome and the issues they are currently experiencing. By walking through the issue line by line they can see their problem from a bird's eye view, thus helping them to solve the issue in an alternate way. It can illuminate details they may be skipping over.

In reality, it doesn’t even have to be a rubber duck! It can be any inanimate object, pet or another person who has no idea about coding - they will go one step further and potentially offer a completely different angle on the issue which helps you to solve it differently. Perhaps don’t tell the person you are asking that you are using them in place of an inanimate object though. Or you can ask another developer - but then that’s usually the next step anyway, in the rare event that your plastic feathered friend didn’t help you find the answer!

Of course, if you want to rush out and buy yourself a new desk pal, having them there can be a helpful, visual reminder to slow down and think through all the facts.

I know from my side, as someone who is not skilled with writing code, if I explain my problems to a developer friend, they are seen from a more logistical standpoint and solutions are offered based on this, which can be a super helpful alternative way to view things.

On the other hand, if all else fails and the rubber duck starts conversing with you, it may be time to close down the computer for the day and return with fresh eyes in the morning.


At Develo, we bridge the gap between project managers and developers in order for our clients to fully understand developer terms, issues, and fixes. Knowledge shared between us helps our client and agency relationships all around.
Develo is a leading Magento agency and ecommerce web development company based in Birmingham, in the UK, serving clients globally since 2010. We provide our Learn articles to share knowledge of magento web development, magento extension development and more to the wider web developer community. To extend your team with our white label web developers, collaborate or consult with us on your project contact us here.

Have a problem you’d like us to Rubber Duck for you?


Selina

share:

Ready to start your next project?

See how we can help you accelerate your business