This Code Sucks — A Story About Nonviolent Communication, by Nadia Odunayo


Think about something that happened at work recently. How did it make you feel? Why did it make you feel that way?

Chances are you answered those two questions poorly. Our inability to answer such questions effectively leads us to communicate in ways that are negative and unhelpful.

Let’s explore a day in the life of a fictional programmer who, just like us, means well and wants to do a great job. We’ll use our protagonist’s story to learn about how to honestly express our needs and effectively collaborate in disagreement.


This talk will be a fictionalised account of a day in the life of a programmer. We’ll meet our protagonist during their morning commute, following their day all the way up to bedtime. The talk will be interspersed with brief asides from other characters our programmer interacts with, as well as some short thinking exercises/quizzes for the audience.

The key points of the story will include:

  • How to make observations without attaching evaluations to them.
    • When we combine an evaluation with an observation, we often express a criticism, which is then met with defensiveness.
  • How to actually express feelings so that we can better connect with one another
    • We often use the word ‘feel’ and then don’t express a feeling after that. For example: “I feel like this project is going to fail” or “I feel he’s rubbish at his job”.
  • Taking responsibility for our feelings by understanding the underlying needs we have
    • Everything we feel, whether positive or negative, stems from a need that we have that has been met or not met. When we learn to take on this responsibility, we adopt a frame of mind that helps us collaboratively find solutions that meet our respective needs..
  • Making requests that meet your needs and that others are willing to fulfil
    • We often communicate our requests in ways that are heard as demands. This erodes enthusiasm and trust.

The audience takeaways will be:

  • It’s vital that we talk about our feelings in the workplace, and we should seek opportunities to do so.

  • In order to give feedback nonviolently, express your feelings by focusing on your needs and specific observations, rather than by judging the actions of others.

  • If we employ nonviolent communication practices then, difficult conversations become easier. In fact, difficult conversations managed nonviolently can strengthen relationships between colleagues, and make our workplaces happier and more productive.


Communication is the biggest problem that we face at work. We suck at being upfront and talking about our feelings and needs. We are quick to make judgements and apportion blame, either towards ourselves or to those around us. We end up breeding tense environments, which means that teams often don’t have the psychological safety they need to perform at their best. If more developers were familiar with of the practice of nonviolent communication, the improvement in their day-to-day interactions could be substantial.

The talk will explore ideas and approaches from the book ‘Nonviolent Communication’ by Marshall B. Rosenberg. Rosenberg's suggestions for fostering productive communication have found increasing traction in the workplace. This talk will be an exciting way for audience members to realise the pitfalls in their communication habits and pick up invaluable techniques to improve their relationships at work.


Nadia co-founded Ignition Works in order to find fun and sustainable ways to build worthwhile software products. She has taught good engineering practices through pair programming at Pivotal Labs and Pivotal Cloud Foundry. She originally learnt to code at Makers Academy and she runs the Ruby Book Club podcast in her spare time.

Edit proposal


GORUCO 2017 - Rejected [Edit]

Brighton Ruby 2017 - Accepted [Edit]

Ship It! Conf 2017 - Accepted [Edit]

RubyConf 2017 - Rejected [Edit]

Add submission