401

I have noticed I have had great success using another co-worker as a metaphorical rubber duck (sometimes intentionally, sometimes unintentionally). It improves my productivity vastly. However, I know that it probably distracts others when I am using them in that way.

That's why I want to buy a literal rubber duck and talk to it. I could do it very quietly and most of my close co-workers use noise-cancelling headphones 80% of time while sitting at their desks. My only concern is other people passing by my desk would think that I am weird. My desk is in an open space and several people pass by it every hour. I work in a big IT company in Sweden (however on my floor besides developers we have HR, marketing and people from high up who might be unfamiliar with the rubber duck method).

Is it unprofessional to talk to a rubber duck at the office?

14
  • 4
    Comments are not for extended discussion; this conversation has been moved to chat.
    – Jane S
    Jan 23, 2017 at 6:45
  • 7
    Are you planning to talk out loud? Or just in your head? Jan 24, 2017 at 20:35
  • 65
    Why do you need a duck, when you already have a mouse? Jan 27, 2017 at 7:42
  • 79
    Personally, I open up Stack Overflow and start typing a question. Their rules demand for a pretty comprehensive question; so in the process the answer strikes me anyway most of the time before I'm finished with the question. :)
    – cst1992
    Jan 27, 2017 at 12:02
  • 34
    It's only unprofessional if the duck talks back.
    – ajb
    Jan 30, 2017 at 1:49

9 Answers 9

337

In the IT world, this is pretty much accepted so long as you aren't interrupting someone else (which is the point of using the duck or teddy bear or whatever in the first place).

I've set it up in some work places I've been at which didn't already have it, and it became accepted and normal almost overnight.

If you are still worried about looking like an idiot talking to a rubber duck, print out an explanatory note ("why am I talking to a rubber duck?!? Read this to find out...") or give people links to http://www.rubberduckdebugging.com/

1
439

If you want to be quiet, start describing your problem as a question on stackoverflow. There were numerous times where I started writing a question and found the solution while explaining the problem.

You could also start to write the documentation of your code even before it is finished. I had various moments where I wrote the documentation of some code I wrote, and in the middle of it noticed "wait a minute, that's not what I programmed".

17
  • 153
    Yes, this is the way to go. The act of formulating a question whether it be verbal or written is what helps you. "Rubber ducking" has nothing to do with a rubber duck. The only problem with stackoverflow is that you will sometimes get back an instant withering dismissal of your question if you actually post it.
    – teego1967
    Jan 22, 2017 at 17:31
  • 65
    100% agreed with this. I have written maybe 20x more SO questions than I've actually ended up posting thanks to how well this works. Jan 23, 2017 at 23:25
  • 27
    Also, if the question could be useful for others and fits the site, consider polishing it and posting an answer yourself.
    – kapex
    Jan 24, 2017 at 8:39
  • 49
    And one more advantage, SO will do a great job suggesting existing Q's that match what you're right in the middle of writing.
    – sq33G
    Jan 24, 2017 at 9:00
  • 40
    I often find my solution while writing down my SO questions. Then I just answer myself for posterity. Ocasionally, I find my own questions on google months later.
    – ecc
    Jan 24, 2017 at 13:38
282

Leave the duck at home, put on a phone headset and talk to the duck's voicemail.

Fellow software engineers will understand what you're doing, sales or HR people will think you're on the phone (which you will truly be) and won't be weirded out.

10
  • 97
    Good idea, but for a bonus, keep the rubber duck too. So you can actually talk to the duck but it will seem like you are talking to someone on the headset. Jan 22, 2017 at 19:26
  • 29
    I always thought the webbed feet of the rubber duck were an essential part of the debugging process. Jan 22, 2017 at 21:40
  • 120
    @DepressedDaniel If your duck has webbed feet, just email it -- as long as it uses a web-based client, the effect is the same.
    – anon
    Jan 22, 2017 at 22:10
  • 4
    Carboard cutout programmers also work: wiki.c2.com/?CardboardProgrammer
    – armb
    Jan 24, 2017 at 14:42
  • 16
    "Leave the duck at home, put on a phone headset and talk to the duck's voicemail." I've been on Stack Exchange for 3 1/2 years and the whole time I was just waiting to read this sentence. Thank-you A E
    – paj28
    Jan 26, 2017 at 21:20
52

This what FaceTime or Web ex or any number of video conferencing technologies are for. Give the Duck his own computer (all competent developers should have one), and start a video conference with it. The duck will provide the answer you need without having to physically be there.

Alternatively, a blue tooth headset would work. Society has quickly been conditioned to ignore people on blue tooth headsets without thinking they are just crazies talking to themselves or worse, to a rubber duck.

14
  • 18
    How will the duck accept the incoming FaceTime call? Jan 23, 2017 at 0:50
  • 8
    @ZachLipton Auto Answer.
    – cde
    Jan 23, 2017 at 1:32
  • 30
    I seriously don't understand what video conferencing adds to the situation. You still have to talk out loud, and if anyone sees what's on your screen, you'll seem way crazier for having set your duck up with its own device. I'm not sure the rubber duck technique should go on if you're giving your duck its own IP address. Jan 24, 2017 at 7:47
  • 10
    No need for a whole separate computer. Just fire up a VM. Once set up, it can even run headless, as long as you aren't into rubber chicken debugging.
    – user
    Jan 24, 2017 at 12:20
  • 12
    Make sure the duck is wearing a headset. Somebody's going to see through it and think you're weird if they see you FaceTiming with a duck that doesn't even have audio equipment hooked up. Jan 26, 2017 at 22:34
24

A more quiet but as effective solution in my experience can be to simply write down your current situation, doubts and questions in an email or draft thereof.

The idea is similar to Philipp's suggestion of writing it down as a stackoverflow question but might be less distractive if you are, like I am, often curious about random questions and their possible answers.

6
  • 1
    This is an excellent suggestion, and has the additional bonus of having a record of your conversation. You can use email or just notepad, and if you feel you may have typed up something of importance for later, go ahead and sent it/save it. Use notepad as a text messenger or IM client for that instant-reply feature, too!
    – ArmanX
    Jan 23, 2017 at 19:35
  • 25
    Ah yes, the curse of the hot networks questions list...
    – Pyritie
    Jan 24, 2017 at 12:22
  • 3
    "Ooo - that's an interesting question" :) Jan 25, 2017 at 1:44
  • 14
    @Pyritie Indeed, the "the hot networks questions list" is how I arrived here in the first place. Back to work now. :-) Jan 25, 2017 at 17:12
  • 1
    Why did I end up reading about world building questions again. I am not even interested in that.
    – Mr Me
    May 9, 2018 at 12:17
14

Since other answers tell that it is acceptable, I can only assume they never worked in an open office. Or noise do not disturb them.

I worked and I know how bad it can be. And no headphone is going to help you. That being said, I would throw you and your duck out of the window as soon as you start talking to it in open space. It is absolutely unacceptable to add additional disruption and noise to an environment that is already bad enough.

If you have to talk to your duck, go close yourself in a meeting room (or whatever you got there), and discuss without disturbing your colleagues further.

9
  • 2
    You're missing the point entirely. The whole thing is to avoid distracting your colleagues - the alternative is to talk to one of them instead, which introduces a discussion, which quickly tends to involve every single guy in the open office. Rubber ducking doesn't require talking out loud, and if you want to (some people think much better when they actually physically talk), you can easily take your duck with you to a meeting room, bathroom, coffee, whatever.
    – Luaan
    Jan 24, 2017 at 13:34
  • 5
    @Luaan I am not. The OP wants to talk to his rubber duck in the open office in front of his colleagues. If that is not clear enough, go read the question again. Both (talking to colleagues and to a duck) are very distracting. From the question it is not clear if he is actually going to hide in a meeting room. Jan 24, 2017 at 13:38
  • 7
    @ecc I was unfortunate enough to have a guy next to me, who talked to himself all the time. So, even without a duck, this mumbling annoyed hell out of people. Jan 24, 2017 at 13:46
  • 4
    It is scientifically harder to tune out half a conversation than a whole one. I would find this extremely distracting and obnoxious. If you truly want to avoid disturbing your coworkers, you need to either be silent or move to a meeting space sciencenetlinks.com/science-news/science-updates/… Jan 24, 2017 at 16:33
  • 3
    you shouldn't try to talk in open space, even if you have been thrown out of an airlock.
    – Malachi
    Jan 24, 2017 at 16:44
14

Short Answer:

In most cases, no. It is not uncommon for people to use techniques such as rubber duck debugging in software-centric businesses or departments. If a company is more business-centric in its culture, then there may be concerns from management who are not familiar with the method.

Long Answer:

The culture of many modern software-centered offices would allow for a variety of common (if odd, to the outside world) developer practices, such as talking to a rubber duck. However, if you work in an environment where verbalizing your process to a rubber duck would be considered distracting or frowned upon, there are other, more silent alternatives you could consider:

Compose a Letter

Whether via text, hand-written, or diagramed, composing a note as if you were explaining the software to someone else can be used in a similar method to verbal rubber duck debugging.

Chat With a (Secure) Bot

If you find yourself more effectively debugging when you bounce ideas off of another person instead of an inanimate object, you could download and build the numerous open-source chat bots available.

One example is the original chatbot: Eliza, designed to use Rogerian psychotherapy methods for conversing. Eliza comes standard in copies of Emacs, for those who use prefer it as a text editor. The one thing to remember is to use a secure chatbot, if you have concerns about leaking corporate or trade secrets.

Utilize Unconventional Tools

If your issue is that you are having difficulty approaching your problem from a new perspective to gain clarity on the issue and find a solution, then a variety of similar techniques exist for reframing your perspective.

One example is to use an external prompt of some kind, such as a deck of cards, a set of story dice, or a tarot deck where each card has a predefined meaning. Comparing your software to these prompts forces you to draw unconventional parallels and think of your software issues in new ways.

Another example is to attempt to draw your software as a physical machine, to describe the relationships between the components. In doing so you may realize how you intended the software to operate is missing a key step somewhere.

The benefit of using unconventional debugging techniques is that it forces you to think creatively, and can help to unblock your process when you find yourself in a mental rut. The downside is that how easy it becomes to get off track from your goal, and find yourself spending more time finding parallels than you are actually accomplishing development goals.

11

Set the duck under or beside your monitor and either very quietly or silently talk out the issue. Having a loud conversation with a duck will be understood by some, but not by most. It is also distracting.

The alternative is to use your colleagues more since your duck has one main flaw: it can't ask questions back or offer alternatives to your methods/thinking. Working on your interpersonal interactions with a colleagues, doing code reviews, seeing alternative methods and solutions to an issue, these will all be immensely helpful in your career. It will raise your profile among your peers and your management will most likely notice your increase in productivity as you pointed out.

When it comes time to promote someone or pick someone to lead a high profile project, your colleagues and manager will be able to give you a good recommendation based on how well you work with others and how your work is above standard. Your duck, on the other hand, won't have much to offer at all.

6
  • But I am doing all of that you mentioned. Should there be any harder problems I would encounter, then I would definitely ask my colleague. I am talking about day to day use.
    – kukis
    Jan 22, 2017 at 13:32
  • 3
    @kukis It is only unprofessional if it becomes a distraction to yourself or others. If you talk loud enough to bother someone, it is unprofessional. If you hold it in your hand like Hamlet and speak to it, unprofessional. If you blow off a code review because your duck is preferred, unprofessional. If you need to talk out loud, book a private room in the office somewhere and hash it out with your duck.
    – dfundako
    Jan 22, 2017 at 13:38
  • 12
    The entire point of using a duck or other stand in is so you do not disturb colleagues - the role the duck plays is NOT to answer the question, but for you to have to verbalise the question, and that often leads you to pose the problem in a way that merely thinking about it does not do, which often leads you to a conclusion before the person you are asking can offer an opinion. So the advice to "use your colleagues more" is entirely against the point here...
    – user34687
    Jan 22, 2017 at 15:00
  • Also, having conversations with the duck should not interfere with colleagues any more than having conversations on the phone does - in neither case the colleague can hear the "other side" of the conversation.
    – user34687
    Jan 22, 2017 at 15:00
  • 5
    @Moo the duck doesn't answer your questions? I've been doing it so wrong....
    – Patrice
    Jan 22, 2017 at 22:11
7

I work with about 8 other colleagues in the same room. Some of them put headsets on all the time and some not. I also have the feeling that explaining my code to myself or to a colleague improves my productivity too. I don't have a rubber duck but I talk to myself in "whisper modus" like quietly in order not to disturb the others. And by the time, I noticed that a lot of other colleagues also do the same. Talking to yourself makes you avoid writing stupid code and makes you also solve some difficult problems you might not be able to solve alone but with your ego maybe.

As a developer, you are allowed to do whatever you're pleased too. This is at least what I gained from my different experiences with different companies. Do not be afraid of looking weird. All the developers are weird and we do not care about what others think of that. It's our own concern. If your boss or a any higher management people tells you it's not professional, try to explain the rubber duck method to them in a "professional" way. I'm pretty sure you'll find a rubber duck on their desk too after some days !

1
  • the reason those colleagues have noise canceling headsets on is because others in the office are talking all the time, disturbing them. If that goes on enough, a loud/noisy office environment is very bad for productivity and can cause serious health problems.
    – jwenting
    Jan 27, 2017 at 13:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .