JMU CS Student
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ab eaque deserunt rem. Vitae provident, impedit, alias optio architecto facere beatae voluptatem, eaque placeat earum minima? Explicabo facere deserunt ipsam dolorem.
Objective: Lorem ipsum dolor sit, amet consectetur adipisicing elit. Nihil perferendis quaerat necessitatibus ipsa minus dignissimos, quam molestiae cumque minima quod. Ab quisquam modi tempore delectus voluptas omnis rem sit. Doloremque.
Projects
Recent Work
- Find your duck - Get a rubber duck, or any inanimate object that can serve as your patient listener
- Explain the problem - Tell the duck what your code is supposed to do
- Go through your code - Explain your code line-by-line, describing what each part does
- Identify the issue - Often during this explanation, you'll spot the problem or gain new insights
- Test your solution - Apply the fix and verify it works
Benefits
🧠 Clarifies Thinking
Verbalizing your thoughts helps organize and clarify your mental model of the problem.
🔬 Reveals Assumptions
Speaking out loud forces you to examine assumptions you might otherwise take for granted.
⏱️ Saves Time
Often faster than lengthy debugging sessions or waiting for colleague availability.
🧘 Improves Focus
The act of explanation requires focus and attention to detail.
When to Use It
- When you're stuck on a bug and can't see the issue
- Before asking a colleague for help (you might solve it yourself!)
- When reviewing complex code logic
- During design phase to think through algorithms
- When you feel like you're missing something obvious
Beyond the Duck
While a rubber duck is traditional, you can use any object: a houseplant, a stuffed animal, or even a printed photo. Some developers prefer explaining to a pet or even recording themselves. The key is having a patient, non-judgmental "listener" that won't interrupt your thought process.