Slide 1

Slide 1 text

Unleash your Programming Creativity

Slide 2

Slide 2 text

2

Slide 3

Slide 3 text

Xavier F. Gouchet Staff Engineer… @xgouchet @datadoghq

Slide 4

Slide 4 text

But not just that Xavier F. Gouchet Staff Engineer…

Slide 5

Slide 5 text

About me… 5

Slide 6

Slide 6 text

“I’m not a creative person!”

Slide 7

Slide 7 text

“Programming is a creative art, where imagination and problem-solving skills come together.” — Margaret Hamilton

Slide 8

Slide 8 text

What is Creativity? And why it’s often misunderstood…

Slide 9

Slide 9 text

creativity /krieɪtɪvəti/ The production of ideas and objects that are novel or original, and worthwhile or appropriate, that is, useful, attractive, meaningful, or correct. — https://www.oxfordreference.com/

Slide 10

Slide 10 text

A lot of engineers used very creative solutions for very pragmatic problems Creativity is only for artistic goals 0x5F3759DF — Greg Walsh 0x30490610 — unknown

Slide 11

Slide 11 text

Creativity is a skill that can be trained, nourished and grown Creativity is an Innate Talent

Slide 12

Slide 12 text

“If people knew how hard I had to work to gain my mastery, it would not seem so wonderful at all.” — Michaelangelo Creativity is easy

Slide 13

Slide 13 text

“Substantially all ideas are second-hand, consciously and unconsciously drawn from a million outside sources […]” — Mark Twain Creativity equals Originality

Slide 14

Slide 14 text

The three kinds of Creativity* Combinatorial

Slide 15

Slide 15 text

Combinatorial Creativity

Slide 16

Slide 16 text

The three kinds of Creativity* Combinatorial Exploratory

Slide 17

Slide 17 text

Exploratory Creativity Eternal Ascend Challenge by @pwnisher

Slide 18

Slide 18 text

Exploratory Creativity Eternal Ascend Challenge by @pwnisher

Slide 19

Slide 19 text

The three kinds of Creativity* Combinatorial Exploratory Transformational

Slide 20

Slide 20 text

Transformational Creativity Illustration by Benedikt Bitterli

Slide 21

Slide 21 text

The three kinds of Creativity* Combinatorial Exploratory Transformational

Slide 22

Slide 22 text

How does it work? Understanding the Creative approach

Slide 23

Slide 23 text

Hypothesis Design (Procedure) Question Research Experiment The Scientific Method Illustration by Sangharsh Lohakare (@sangharsh_l)

Slide 24

Slide 24 text

Design (RFC / ADR) Implementation Problem Research Requirements The Engineering Approach Photography by Christina Morillo (@wocintechchat)

Slide 25

Slide 25 text

Preparation Illumination Evaluation Incubation Elaboration The Creative Process* Photography by Lucas K (@aznbokchoy)

Slide 26

Slide 26 text

Preparation Illumination Evaluation Brainstorm Eureka Design Incubation Elaboration The Creative Process* Photography by Lucas K (@aznbokchoy) Implementation Research

Slide 27

Slide 27 text

Brainstorm Eureka Design Design (RFC / ADR) Implementation Hypothesis Design (Procedure) Research Implementation The Creative Process* Photography by Lucas K (@aznbokchoy) Problem Research Requirements Question Research Experiment

Slide 28

Slide 28 text

Boosting your Creativity How to make the spark happen?

Slide 29

Slide 29 text

Photography by Kati Hoehl (@helenatheactress) Learn the rules, break the rules

Slide 30

Slide 30 text

Photography by Malcolm Lightbody (@mlightbody) Master the tools

Slide 31

Slide 31 text

Photography by Vlad Hilitanu (@vladhilitanu) Collaborate with others

Slide 32

Slide 32 text

Photography by Catherine Heath (@catherineheath) Be curious

Slide 33

Slide 33 text

Photography by Erik Witsoe (@ewitsoe) Keep your brain healthy

Slide 34

Slide 34 text

Photography by Priscilla Du Preez (@priscilladupreez) Daydream

Slide 35

Slide 35 text

Photography by Ashkan Forouzani (@ashkfor121) Take a break from your screens

Slide 36

Slide 36 text

Photography by Michael Dziedzic (@lazycreekimages) Be ready for failures

Slide 37

Slide 37 text

And in practice Some concrete examples

Slide 38

Slide 38 text

Hackathon Innovation Week Side Projects Photography by Alex Kotliarskyi (@frantic) Practice makes…

Slide 39

Slide 39 text

Constraints Requirements Opportunities Photography by Sandra Seitamaa (@seitamaaphotography) Define the problem boundaries

Slide 40

Slide 40 text

Brainstorming Scamper MacGyver Photography by Simone van der Koelen (@simonevdk) Generate ideas

Slide 41

Slide 41 text

Photography by Theo Crazzolara (@theocrazzolara) S · C · A · M · P · E · R S Substitute C Combine A Adapt M Modify P Put to other use E Eliminate R Rearrange

Slide 42

Slide 42 text

MacGyver Method Photography by Nipun Haldar (@focusbreathing) 1. Write a question 2. Incubation activity 3. Write the answer

Slide 43

Slide 43 text

Why should we care? Especially in 2024…

Slide 44

Slide 44 text

Artificial Intelligence vs Human Creativity 44 Photography by Erhan Astam (@vaultzero) Code Whisperer

Slide 45

Slide 45 text

TL;DR; What’s a statistically probable next word? 45 Photography by Patrick Tomasso (@impatrickt) Input Output

Slide 46

Slide 46 text

No Intent Generated by Leonardo AI

Slide 47

Slide 47 text

No sense of value Generated by Leonardo AI

Slide 48

Slide 48 text

No Semantics Generated by Leonardo AI

Slide 49

Slide 49 text

AI is a tool, driven by Human Creativity 49 Photography by Towfiqu Barbhuiya (@towfiqu999999)

Slide 50

Slide 50 text

Take aways

Slide 51

Slide 51 text

“Programming is Art built on top of Logic” — Erika Heidi Photography by Erika Heidi (@erikaheidi)

Slide 52

Slide 52 text

Take aways 🎶 🎵

Slide 53

Slide 53 text

In the chaos of Kotlin Lines, Suspend functions tangled like vines I need to come up with a plan, To publish an app that will shine I need to overcome so much : Folded devices I can’t touch, Deprecation of APIs, Leacy code I don’t recognize… 🄏 🄏 🄏 CC BY-NC 4.0

Slide 54

Slide 54 text

1… Gotta prepare my mind 2… Do research for a while 3… wait for a little tick, Until the cogs in my brain can all click 4… Brainstorm the ideas, put together all the pieces 5… That’s it! It’ll be the best… Just have to write another test… 🄏 🄏 🄏 CC BY-NC 4.0

Slide 55

Slide 55 text

I read the book that Chet has done I booked tickets for Droidcon Of course I watched all of the talks And tried thinking outside the box I learned about git hooks and hoops Jetpack Compose internal loops Android studio’s latest tricks And Unix systems’ obscure tips 🄏 🄏 🄏 CC BY-NC 4.0

Slide 56

Slide 56 text

1… Gotta prepare my mind 2… Do research for a while 3… wait for a little tick, Until the cogs in my brain can all click 4… Brainstorm the ideas, put together all the pieces 5… That’s it! It’ll be the best… Just have to write another test… 🄏 🄏 🄏 CC BY-NC 4.0

Slide 57

Slide 57 text

I learned to knit, to paint and bake, Although you shouldn’t try that cake I learned Python and Sign Language, Just to see if I could manage I turned my phone off for a day Which turned out to be quite okay, Wandered alone in the forest, Played cards with my daughter and lost… 🄏 🄏 🄏 CC BY-NC 4.0

Slide 58

Slide 58 text

1… Gotta prepare my mind 2… Do research for a while 3… wait for a little tick, Until the cogs in my brain can all click 4… Brainstorm the ideas, put together all the pieces 5… That’s it! It’ll be the best… Just have to write another test… 🄏 🄏 🄏 CC BY-NC 4.0

Slide 59

Slide 59 text

Thanks! Any questions? @xgouchet - @datadoghq

Slide 60

Slide 60 text

References* ➔ Erika Heidi - The Art of Programming ➔ Corey Latislaw - The Creative Technologist ➔ Connie Biesalski - The Creative Process ➔ Unmistakable Creative - The 5 Stages of the Creative Process ➔ Marcus Du Sautoy - The Creativity Code - Three types of creativity ➔ Andreas Stöffelbauer - How LLMs work ➔ MindTools - Scamper * Non exhaustive list

Slide 61

Slide 61 text

Credits Presentation template by SlidesCarnival All credited photographs and illustration by their respective authors on Unsplash AI illustrations generated by Leonardo.ai Song by Xavier F. Gouchet 🄏 🄏 🄏 CC BY-NC 4.0