Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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, Dr Holly Cummins and Martijn Verburg 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

November 28, 2022
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<AdditionalBeanBuildItem> 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
  2. why do ducks have webbed feet? to stamp out fires.

    why do elephants have flat feet? funniest joke in Belgium:
  3. 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:
  4. @holly_cummins #RedHat “Hi boss! YOW London was great! 
 I

    learned so much that will help me be a better employee! I know you wanted to do a code review of my 10 most salient lines of code and then maybe fire me, but let me tell you about how ducks are the funnest animal instead!”
  5. @holly_cummins #RedHat "Fun is a point on the intersection of

    engagement levels and social interaction for a given activity.” Fun: An Exploration in its Relevance to Interaction Design - Elise Woolley, 2010
  6. @holly_cummins #RedHat How do you measure fun? Excerpted from Elise

    M. Woolley, B.S., Fun: An Exploration in its Relevance to Interaction Design
  7. @holly_cummins #RedHat Play flexible for its own sake Exploration focussed

    investigation Games a winner and rules Puzzle a goal and rules
  8. @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
  9. @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
  10. @[email protected] #RedHat programming is fun making is fun puzzles are

    fun learning is fun code is squishy and awesome being useful is fun
  11. @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)
  12. @holly_cummins #RedHat “so, what was said on the conference call?”

    “I have no idea … but they were laughing, so the project is OK. ”
  13. @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
  14. @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
  15. @holly_cummins #RedHat piglet litters grow faster if they play more

    https://www.flickr.com/photos/tambako/8746156155
  16. @holly_cummins #RedHat How much fun can you expect to have?

    https:/ /www.flickr.com/photos/paulesson/3065570366
  17. @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
  18. @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.
  19. @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
  20. @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
  21. @[email protected] #RedHat “It was truly the most amazing, supportive, wonderful,

    empowering place I’ve ever worked” 
 – Andy Piper
  22. @[email protected] #RedHat “It was truly the most amazing, supportive, wonderful,

    empowering place I’ve ever worked” 
 – Gergely Orosz
  23. @holly_cummins #RedHat "I love the smell of napalm in the

    morning .... smells like victory.” Bill Kilgore, Apocalypse Now
  24. @holly_cummins #RedHat "I love the smell of napalm in the

    morning .... smells like victory.” Bill Kilgore, Apocalypse Now Is everyone having fun?
  25. @holly_cummins #RedHat who are we including in our laughter? who

    are we excluding? https:/ /www.flickr.com/photos/davefayram/4266804988
  26. @holly_cummins #RedHat “Why are you smiling? Work isn’t a place

    to be happy!” - a prowling project manager
  27. Step 1. Find un-fun things. Get rid of them. ...

    because they're probably waste.
  28. @holly_cummins #RedHat We all hate being told what to do.

    Usually, because we know it’s wrong. Let people make their own decisions.
  29. @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
  30. @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.
  31. @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
  32. TDD

  33. TDD

  34. @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
  35. @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.
  36. @holly_cummins #RedHat continuous delivery should feel easy and fun if

    it doesn’t, maybe you’re doing it wrong?
  37. @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
  38. @holly_cummins #RedHat The Fun Theory “something as simple as fun

    is the easiest way to change people’s behaviour for the better”
  39. TDD

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

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

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

    added 230 issues fixed 10 years of tech debt resolved
  43. @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
  44. @holly_cummins #RedHat A layer of fun … on top of

    a terrible workspace … is still terrible.
  45. @holly_cummins #RedHat my least fun project: photo by Marco Verch,

    https:/ /www.flickr.com/photos/30478819@N08/454818
  46. @holly_cummins #RedHat my least fun project: agile coaches photo by

    Marco Verch, https:/ /www.flickr.com/photos/30478819@N08/454818
  47. @holly_cummins #RedHat my least fun project: agile coaches games photo

    by Marco Verch, https:/ /www.flickr.com/photos/30478819@N08/454818
  48. @holly_cummins #RedHat my least fun project: agile coaches games laminated

    architecture diagrams photo by Marco Verch, https:/ /www.flickr.com/photos/30478819@N08/454818
  49. @holly_cummins #RedHat my least fun project: agile coaches games laminated

    architecture diagrams 1000 row requirement spreadsheets photo by Marco Verch, https:/ /www.flickr.com/photos/30478819@N08/454818
  50. Fun is important. Recap on achieving fun: 1. Get rid

    of un-fun things 2. Add fun things
  51. 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.