$30 off During Our Annual Pro Sale. View Details »

The Importance of Fun in the Workplace

The Importance of Fun in the Workplace

An in-depth look at what makes software development a roller coaster where the highs of 0 compiler warnings are quickly cancelled out by the pain of long hours, bad requirements, endless configuration, clueless managers and a plethora of other issues which make death by a thousand cuts seem like a good idea…. They will answer questions such as: “Why is programming often called an art despite having its underpinnings in formal logic?” “How can I rediscover the delight I felt when I first started coding?” “What’s that rush I feel when my test passes? Am I addicted to TDD?” Combining Psychology, Philosophy and Computer Science, Holly will present a series of practical tips to help you rediscover the euphoria that you felt the very first time a metal box in front of you came to life and cried out “Hello World”.

Holly Cummins

June 22, 2023
Tweet

More Decks by Holly Cummins

Other Decks in Programming

Transcript

  1. @BuildStep
    FeatureBuildItem feature() {
    return new FeatureBuildItem(FEATURE);
    }
    @Record(STATIC_INIT)
    @BuildStep
    public void helloBuildStep(HelloRecorder recorder) {
    recorder.sayHello("World");
    }
    @Record(RUNTIME_INIT)
    @BuildStep
    LogHandlerBuildItem addLogHandler(final MinecraftLogHandlerMaker maker, BeanCon
    return new LogHandlerBuildItem(maker.create(beanContainer.getValue()));
    }
    /**
    * Makes the interceptor as a bean so we can access it.
    */
    @BuildStep
    void beans(BuildProducer producer) {
    producer.produce(AdditionalBeanBuildItem.unremovableOf(MinecraftLogIntercep
    producer.produce(AdditionalBeanBuildItem.unremovableOf(MinecraftService.cla
    }
    @BuildStep
    AnnotationsTransformerBuildItem transform() {
    return new AnnotationsTransformerBuildItem(new AnnotationsTransformer() {
    public boolean appliesTo(org.jboss.jandex.AnnotationTarget.Kind kind) {
    return kind == org.jboss.jandex.AnnotationTarget.Kind.METHOD;
    }
    public void transform(TransformationContext context) {
    if (context.getTarget().asMethod().hasAnnotation(JAX_RS_GET)) {
    context.transform().add(MinecraftLog.class).done();
    }
    }
    });


    Holly Cummins


    Red Hat


    @[email protected]
    the importance of


    fun in the workplace


    Joy of Coding


    June 23rd

    View Slide

  2. View Slide

  3. @[email protected] #RedHat
    first things first.

    View Slide

  4. @[email protected] #RedHat
    first things first.
    why is there a duck on the title slide?

    View Slide

  5. @[email protected] #RedHat
    first things first.
    why is there a duck on the title slide?
    answer: science.

    View Slide

  6. @holly_cummins #RedHat

    View Slide

  7. @holly_cummins #RedHat

    View Slide

  8. @holly_cummins #RedHat

    View Slide

  9. @holly_cummins #RedHat

    View Slide

  10. @holly_cummins #RedHat

    View Slide

  11. 350,000 participants ranked jokes


    (world’s largest scientific experiment)

    View Slide

  12. controlled experiments show:


    ducks make jokes funnier

    View Slide

  13. funniest joke in Belgium:

    View Slide

  14. why do ducks have webbed feet?
    funniest joke in Belgium:

    View Slide

  15. why do ducks have webbed feet?
    to stamp out fires.
    funniest joke in Belgium:

    View Slide

  16. why do ducks have webbed feet?
    to stamp out fires.
    funniest joke in Belgium:

    View Slide

  17. why do ducks have webbed feet?
    to stamp out fires.
    why do elephants have flat feet?
    funniest joke in Belgium:

    View Slide

  18. why do ducks have webbed feet?
    to stamp out fires.
    why do elephants have flat feet?
    to stamp out burning ducks.
    funniest joke in Belgium:

    View Slide

  19. View Slide

  20. View Slide

  21. @[email protected] #RedHat
    ma’am, this is a wendy’s.


    View Slide

  22. @[email protected] #RedHat
    ma’am, this is a wendy’s.


    ma’am, this is a technology conference.


    View Slide

  23. View Slide

  24. @[email protected] #RedHat
    second things second.

    View Slide

  25. @[email protected] #RedHat
    second things second.
    why am i qualified to talk about
    fun in the workplace?

    View Slide

  26. @holly_cummins #RedHat
    2016

    View Slide

  27. @holly_cummins #RedHat
    2022

    View Slide

  28. @holly_cummins #RedHat

    View Slide

  29. @holly_cummins #RedHat
    Let’s talk about your career.

    View Slide

  30. @holly_cummins #RedHat
    “Hi boss! Joy of Coding was great.
    It was a very serious conference
    and there were no pink octopuses
    and I definitely did not attend a talk
    about how to have fun. By the way,
    did you know ducks are the
    funniest animal?”

    View Slide

  31. @[email protected] #RedHat
    Specialty: Having fun at work

    View Slide

  32. @[email protected] #RedHat
    Are you brave enough?
    Specialty: Having fun at work

    View Slide

  33. @[email protected] #RedHat
    Are you brave enough?
    I’m not :)

    View Slide

  34. @holly_cummins #RedHat

    View Slide

  35. @holly_cummins #RedHat
    Wait. Where’s “fun-loving”?

    View Slide

  36. @holly_cummins #RedHat
    We keep fun a secret.
    Wait. Where’s “fun-loving”?

    View Slide

  37. @holly_cummins #RedHat
    Puritan confronts ale drinkers


    Howard Pyle

    View Slide

  38. @holly_cummins #RedHat
    what is fun?

    View Slide

  39. @holly_cummins #RedHat
    Photo by Linearahandmade@etsy
    Exploration

    View Slide

  40. @holly_cummins #RedHat
    Photo by William Warby
    Puzzle

    View Slide

  41. @holly_cummins #RedHat
    Play

    View Slide

  42. @holly_cummins #RedHat
    Game

    View Slide

  43. @holly_cummins #RedHat
    Work

    View Slide

  44. @holly_cummins #RedHat

    View Slide

  45. @holly_cummins #RedHat
    Exploration


    focussed investigation


    View Slide

  46. @holly_cummins #RedHat
    Play


    flexible


    for its own sake


    Exploration


    focussed investigation


    View Slide

  47. @holly_cummins #RedHat
    Play


    flexible


    for its own sake


    Exploration


    focussed investigation


    Puzzle


    a goal and rules

    View Slide

  48. @holly_cummins #RedHat
    Play


    flexible


    for its own sake


    Exploration


    focussed investigation


    Games


    a winner and rules
    Puzzle


    a goal and rules

    View Slide

  49. @holly_cummins #RedHat
    Play


    flexible


    for its own sake


    Work


    a goal


    Exploration


    focussed investigation


    Games


    a winner and rules
    Puzzle


    a goal and rules

    View Slide

  50. @holly_cummins #RedHat
    Play


    flexible


    for its own sake


    Work


    a goal


    Exploration


    focussed investigation


    Games


    a winner and rules
    Puzzle


    a goal and rules
    jokes


    laughter

    View Slide

  51. @holly_cummins #RedHat
    Positive
    affect

    View Slide

  52. @holly_cummins #RedHat
    It feels
    good

    View Slide

  53. @holly_cummins #RedHat
    fun


    happiness


    joy


    laughter


    delight


    silliness


    jokes


    View Slide

  54. @holly_cummins #RedHat
    fun


    happiness


    joy


    laughter


    delight


    silliness


    jokes


    View Slide

  55. @holly_cummins #RedHat
    Programming is fun.

    View Slide

  56. @holly_cummins #RedHat
    We get to control stuff
    when we program.

    View Slide

  57. View Slide

  58. View Slide

  59. View Slide

  60. @[email protected] #RedHat
    programming is fun

    View Slide

  61. @[email protected] #RedHat
    programming is fun
    making is fun

    View Slide

  62. @[email protected] #RedHat
    programming is fun
    making is fun
    being useful is fun

    View Slide

  63. @[email protected] #RedHat
    programming is fun
    making is fun
    puzzles are fun
    being useful is fun

    View Slide

  64. @[email protected] #RedHat
    programming is fun
    making is fun
    puzzles are fun
    learning is fun
    being useful is fun

    View Slide

  65. @[email protected] #RedHat
    programming is fun
    making is fun
    puzzles are fun
    learning is fun
    code is squishy and
    awesome
    being useful is fun

    View Slide

  66. @holly_cummins #RedHat
    Photo by Linearahandmade@etsy
    Exploration

    View Slide

  67. @holly_cummins #RedHat
    Photo by Linearahandmade@etsy
    Exploration
    > Hello, World

    View Slide

  68. @holly_cummins #RedHat
    Photo by William Warby
    Puzzle

    View Slide

  69. @holly_cummins #RedHat
    Photo by William Warby
    Puzzle
    Exception in thread "main" java.lang.NullPointerException:
    WhyWhyWhyIsThisHappeningNullPointerException
    at StackTraceExample.method111(StackTraceExample.java:15)
    at StackTraceExample.method11(StackTraceExample.java:11)
    at StackTraceExample.method1(StackTraceExample.java:7)
    at StackTraceExample.main(StackTraceExample.java:3)

    View Slide

  70. @holly_cummins #RedHat
    Game

    View Slide

  71. @holly_cummins #RedHat
    Game

    View Slide

  72. @holly_cummins #RedHat
    Katie Bouman,
    discovering that her
    algorithm for imaging
    black holes worked.

    View Slide

  73. @holly_cummins #RedHat
    Katie Bouman,
    discovering that her
    algorithm for imaging
    black holes worked.
    It feels
    good

    View Slide

  74. @holly_cummins #RedHat
    Why are most of our workplaces
    Not Fun?

    View Slide

  75. @holly_cummins #RedHat
    The 1980/90's Management Model
    Very hierarchical


    Control favoured over
    autonomy


    Technology seen as a cost
    centre

    View Slide

  76. @holly_cummins #RedHat
    http:/
    /www.defenceimagery.mod.uk

    View Slide

  77. @holly_cummins #RedHat
    processes control us
    Photo by Michal Matlon on Unsplash

    View Slide

  78. @holly_cummins #RedHat
    processes control us
    Photo by Michal Matlon on Unsplash
    dumb

    View Slide

  79. @holly_cummins #RedHat
    the value of
    fun in the
    workplace

    View Slide

  80. @holly_cummins #RedHat
    Research shows:


    Fun is good for business.

    View Slide

  81. @holly_cummins #RedHat
    Research shows:


    Fun is good for business.

    View Slide

  82. job satisfaction is
    the no. 1 predictor
    of organizational
    performance

    View Slide

  83. “Pleasure in the job puts
    perfection in the work.”
    Aristotle

    View Slide

  84. @holly_cummins #RedHat

    View Slide

  85. @holly_cummins #RedHat
    “so, what was said on the conference call?”

    View Slide

  86. @holly_cummins #RedHat
    “so, what was said on the conference call?”

    View Slide

  87. @holly_cummins #RedHat
    “so, what was said on the conference call?”
    “I have no idea …

    View Slide

  88. @holly_cummins #RedHat
    “so, what was said on the conference call?”
    “I have no idea …
    but they were laughing, so the project is OK. ”

    View Slide

  89. @holly_cummins #RedHat
    “so, what was said on the conference call?”
    “I have no idea …
    but they were laughing, so the project is OK. ”
    a team that doesn’t laugh together
    doesn’t want to work together

    View Slide

  90. @holly_cummins #RedHat

    View Slide

  91. @holly_cummins #RedHat
    laughter:

    View Slide

  92. @holly_cummins #RedHat
    laughter:
    defuses tense situations

    View Slide

  93. @holly_cummins #RedHat
    laughter:
    defuses tense situations
    creates team cohesion

    View Slide

  94. @holly_cummins #RedHat
    laughter:
    defuses tense situations
    creates team cohesion
    is a nice muscle workout

    View Slide

  95. @holly_cummins #RedHat
    Studies have shown...
    Employee fun

    View Slide

  96. @holly_cummins #RedHat
    Studies have shown...
    Employee fun

    View Slide

  97. @holly_cummins #RedHat
    Studies have shown...
    Employee fun
    Less sick leave

    View Slide

  98. @holly_cummins #RedHat
    Studies have shown...
    Employee fun
    Less sick leave
    Harder working

    View Slide

  99. @holly_cummins #RedHat
    Studies have shown...
    Employee fun
    Less sick leave
    Harder working
    More productivity

    View Slide

  100. @holly_cummins #RedHat
    https:/
    /hbr.org/2012/01/positive-intelligence

    View Slide

  101. @holly_cummins #RedHat
    “Your brain at positive is 31%
    more productive than your
    brain at negative, neutral or
    stressed. "
    https:/
    /hbr.org/2012/01/positive-intelligence

    View Slide

  102. @holly_cummins #RedHat

    View Slide

  103. @holly_cummins #RedHat
    https:/
    /www2.warwick.ac.uk/fac/soc/economics/staff/eproto/workingpapers/happinessproductivity.pdf

    View Slide

  104. @holly_cummins #RedHat
    "Individuals [who just watched a
    comedy video] have
    approximately


    View Slide

  105. @holly_cummins #RedHat
    play helps creativity


    we work in a creative industry

    View Slide

  106. @holly_cummins #RedHat
    piglet litters grow faster
    if they play more
    https://www.flickr.com/photos/tambako/8746156155

    View Slide

  107. @holly_cummins #RedHat
    “my contractors are in their
    zone of competence.”
    fun: cause and correlation

    View Slide

  108. @holly_cummins #RedHat
    How much fun can you
    expect to have?
    https:/
    /www.flickr.com/photos/paulesson/3065570366

    View Slide

  109. @holly_cummins #RedHat
    How much fun can you
    expect to have?
    (Yes, this is a picture of lots
    of fungi. You’re welcome.)
    https:/
    /www.flickr.com/photos/paulesson/3065570366

    View Slide

  110. @holly_cummins #RedHat

    View Slide

  111. @holly_cummins #RedHat
    Fun. What could possibly go wrong?

    View Slide

  112. @holly_cummins #RedHat
    Fun. What could possibly go wrong?

    View Slide

  113. @holly_cummins #RedHat
    Fun. What could possibly go wrong?
    2008: A developer had a lot of fun with Groovy.

    View Slide

  114. @holly_cummins #RedHat
    Fun. What could possibly go wrong?
    2008: A developer had a lot of fun with Groovy.

    View Slide

  115. @holly_cummins #RedHat
    Fun. What could possibly go wrong?
    2008: A developer had a lot of fun with Groovy.
    2009: The others who had to maintain the code had less fun.

    View Slide

  116. @holly_cummins #RedHat
    Limits to Fun
    Photo by Joshua Hoehne on Unsplash

    View Slide

  117. @holly_cummins #RedHat
    Limits to Fun
    • Fun has business value.
    Photo by Joshua Hoehne on Unsplash

    View Slide

  118. @holly_cummins #RedHat
    Limits to Fun
    • Fun has business value.
    • Logical extension: only do
    activities if they’re fun and
    enjoyable!
    Photo by Joshua Hoehne on Unsplash

    View Slide

  119. @holly_cummins #RedHat
    Limits to Fun
    • Fun has business value.
    • Logical extension: only do
    activities if they’re fun and
    enjoyable!
    • Uh, no.
    Photo by Joshua Hoehne on Unsplash

    View Slide

  120. @holly_cummins #RedHat
    Photo by Marek Studzinski on Unsplash

    View Slide

  121. @holly_cummins #RedHat
    balance

    View Slide

  122. @holly_cummins #RedHat
    Just because it's fun, doesn't
    mean it's good.

    View Slide

  123. @holly_cummins #RedHat
    Just because it's fun, doesn't
    mean it's good.

    View Slide

  124. @holly_cummins #RedHat

    View Slide

  125. @holly_cummins #RedHat
    Is everyone having fun?

    View Slide

  126. @holly_cummins #RedHat
    Is everyone having fun?

    View Slide

  127. @holly_cummins #RedHat
    Is everyone having fun?

    View Slide

  128. @holly_cummins #RedHat
    who are we including
    in our laughter?


    who are we excluding?
    https:/
    /www.flickr.com/photos/davefayram/4266804988

    View Slide

  129. @holly_cummins #RedHat
    Enjoy fun.


    Responsibly.

    View Slide

  130. How to achieve fun

    View Slide

  131. Step 1.


    Find un-fun things.


    Get rid of them.

    View Slide

  132. View Slide

  133. Step 0.


    Stop prohibiting fun.


    Obviously.

    View Slide

  134. @holly_cummins #RedHat
    “Please stop sending
    emails telling people
    you are sharing cake.”

    View Slide

  135. @holly_cummins #RedHat

    View Slide

  136. @holly_cummins #RedHat
    “If you’re in
    the office
    after 5:30,
    you need to
    be doing
    work.”

    View Slide

  137. @holly_cummins #RedHat
    “Why are you smiling? Work
    isn’t a place to be happy!”


    - a prowling project manager

    View Slide

  138. Step 1.


    Find un-fun things.


    Get rid of them.

    View Slide

  139. @holly_cummins #RedHat

    A process being unfun is
    a red flag that it’s not
    adding value.

    View Slide

  140. Step 1.


    Find un-fun things.


    Get rid of them.
    ... because they're probably waste.

    View Slide

  141. @holly_cummins #RedHat
    We all hate being told what to do.


    Usually, because we know it’s wrong.


    Let people make their own decisions.

    View Slide

  142. @holly_cummins #RedHat
    Fun Not-Fun
    Effective tools Bad tools
    Programming Meetings
    Puzzles Mysteries
    Collaboration Criticism
    Just doing it Process/Ceremony
    Learning Repeating
    Designing Sizing
    Doing Status reporting
    Prototyping Hardening
    Interactions Interruptions
    Making a difference Being a cog

    View Slide

  143. @holly_cummins #RedHat
    Fun Not-Fun
    Effective tools Bad tools
    Programming Meetings
    Puzzles Mysteries
    Collaboration Criticism
    Just doing it Process/Ceremony
    Learning Repeating
    Designing Sizing
    Doing Status reporting
    Prototyping Hardening
    Interactions Interruptions
    Making a difference Being a cog
    We can fix these.

    View Slide

  144. @holly_cummins #RedHat
    Fun Not-Fun
    Effective tools Bad tools
    Programming Meetings
    Puzzles Mysteries
    Collaboration Criticism
    Just doing it Process/Ceremony
    Learning Repeating
    Designing Sizing
    Doing Status reporting
    Prototyping Hardening
    Interactions Interruptions
    Making a difference Being a cog
    Streamlined
    process
    Pair
    programming
    #noestimates
    Self-directed
    teams
    Automation
    We can fix these.
    Knowledge
    sharing
    Self-generating
    status
    MVP

    View Slide

  145. @holly_cummins #RedHat
    Pair programming

    View Slide

  146. @[email protected] #RedHat
    Status for all to see.

    View Slide

  147. @[email protected] #RedHat
    Keep stories small, so status is self-reporting.


    Daily stand-up. Keep it short.
    Status for all to see.

    View Slide

  148. @[email protected] #RedHat
    #noestimates
    Estimates are rarely accurate.


    Why bother??

    View Slide

  149. @[email protected] #RedHat
    Testing should not be something
    we do only at the end.
    TDD is fun.

    View Slide

  150. TDD

    View Slide

  151. TDD

    View Slide

  152. @holly_cummins #RedHat
    Automation
    Computers don’t expect to have fun (yet).


    Let them do the tedious tasks.


    Bonus: Automating stuff is fun (yay!).
    With permission of Richard Greenhill and H


    View Slide

  153. @holly_cummins #RedHat
    Toil
    https:/
    /www.flickr.com/photos/seat850/3341460975
    SRE is a whole discipline dedicated to
    eliminating toil from ops because toil
    isn’t worth it.

    View Slide

  154. @holly_cummins #RedHat
    “devops helps make our
    lives humane and win in
    the marketplace.”


    -Gene Kim

    View Slide

  155. @holly_cummins #RedHat
    Fast feedback
    matters.

    View Slide

  156. Step 2: Add fun

    View Slide

  157. @[email protected] #RedHat
    Your brain needs breaks.


    View Slide

  158. @[email protected] #RedHat
    Your brain needs breaks.


    View Slide

  159. @holly_cummins #RedHat
    Can our job be fun?

    View Slide

  160. @holly_cummins #RedHat
    Play


    a goal


    Exploration


    View Slide

  161. @holly_cummins #RedHat
    Play


    flexible


    for its own sake


    Work


    a goal


    Exploration


    focussed investigation


    Games


    a winner and rules
    Puzzle


    a goal and rules

    View Slide

  162. @holly_cummins #RedHat
    gamification

    View Slide

  163. @holly_cummins #RedHat
    gamification
    (management loves)

    View Slide

  164. @holly_cummins #RedHat
    The Fun Theory
    “something as simple as fun is the
    easiest way to change people’s
    behaviour for the better”

    View Slide

  165. @holly_cummins #RedHat

    View Slide

  166. @holly_cummins #RedHat

    View Slide

  167. TDD

    View Slide

  168. @holly_cummins #RedHat

    View Slide

  169. @holly_cummins #RedHat

    View Slide

  170. @holly_cummins #RedHat
    7186 new lines of coverage

    View Slide

  171. @holly_cummins #RedHat
    7186 new lines of coverage
    1000 new tests added

    View Slide

  172. @holly_cummins #RedHat
    7186 new lines of coverage
    1000 new tests added
    230 issues fixed

    View Slide

  173. @holly_cummins #RedHat
    7186 new lines of coverage
    1000 new tests added
    230 issues fixed
    10 years of tech debt resolved

    View Slide

  174. @holly_cummins #RedHat
    7186 new lines of coverage
    1000 new tests added
    230 issues fixed
    10 years of tech debt resolved

    View Slide

  175. @holly_cummins #RedHat
    7186 new lines of coverage
    1000 new tests added
    230 issues fixed
    10 years of tech debt resolved

    View Slide

  176. @holly_cummins #RedHat
    what dazzling reward achieved that?

    View Slide

  177. @holly_cummins #RedHat
    what dazzling reward achieved that?

    View Slide

  178. @holly_cummins #RedHat
    1 free lunch ➡ 230 issues fixed
    what dazzling reward achieved that?

    View Slide

  179. @holly_cummins #RedHat
    metrics matter

    View Slide

  180. @holly_cummins #RedHat
    remember, you get what you measure

    View Slide

  181. @holly_cummins #RedHat
    gamification is so motivating it will
    drive people do the wrong thing

    View Slide

  182. @holly_cummins #RedHat

    View Slide

  183. @holly_cummins #RedHat
    employees are not stupid


    they may notice they’ve been gamed

    View Slide

  184. @holly_cummins #RedHat
    Play


    flexible


    for its own sake


    Work


    a goal


    Exploration


    focussed investigation


    Games


    a winner and rules
    Puzzle


    a goal and rules
    jokes


    laughter

    View Slide

  185. @holly_cummins #RedHat
    Easter Eggs
    https:/
    /www.flickr.com/photos/30478819@N08/47142913712

    View Slide

  186. @holly_cummins #RedHat

    View Slide

  187. @holly_cummins #RedHat
    Play
    Children learn through play.


    View Slide

  188. @holly_cummins #RedHat
    learn skill while “playing on the job”


    use skill later on for real work

    View Slide

  189. Failing


    at

    Fun

    View Slide

  190. @holly_cummins #RedHat
    31% of us dislike


    team-building activities.
    http:/
    /www.successfulmeetings.com/Strategy/Meeting-Strategies/When-Teambuilding-Fails/

    View Slide

  191. @holly_cummins #RedHat
    fun is not a formula

    View Slide

  192. @holly_cummins #RedHat
    Failing at Fun


    Forgetting to fix the other stuff.

    View Slide

  193. @holly_cummins #RedHat

    View Slide

  194. @holly_cummins #RedHat
    A layer of fun

    View Slide

  195. @holly_cummins #RedHat
    A layer of fun
    … on top of a terrible
    workspace …

    View Slide

  196. @holly_cummins #RedHat
    A layer of fun
    … on top of a terrible
    workspace …
    is still terrible.

    View Slide

  197. View Slide

  198. Fun is important.

    View Slide

  199. Fun is important.
    Recap on achieving fun:

    View Slide

  200. Fun is important.
    Recap on achieving fun:
    1. Get rid of un-fun things

    View Slide

  201. Fun is important.
    Recap on achieving fun:
    1. Get rid of un-fun things
    2. Add fun things

    View Slide

  202. Fun is important.
    Recap on achieving fun:
    1. Get rid of un-fun things
    2. Add fun things
    Doing 2. without 1. is going to fail.

    View Slide

  203. thank you


    Holly Cummins


    Red Hat


    @[email protected]
    slides

    View Slide