Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

@holly_cummins #RedHat senior principal software engineer helping to build Quarkus hi!

Slide 3

Slide 3 text

@holly_cummins #RedHat Caused by: java.io.IOException: Invalid Magic at org.jboss.jandex.Indexer.verifyMagic(Indexer.java:2090) at org.jboss.jandex.Indexer.indexWithSummary(Indexer.java:2479) at org.jboss.jandex.Indexer.index(Indexer.java:2452 true story

Slide 4

Slide 4 text

@holly_cummins #RedHat Caused by: java.io.IOException: Invalid Magic at org.jboss.jandex.Indexer.verifyMagic(Indexer.java:2090) at org.jboss.jandex.Indexer.indexWithSummary(Indexer.java:2479) at org.jboss.jandex.Indexer.index(Indexer.java:2452 true story Invalid Magic?!

Slide 5

Slide 5 text

@holly_cummins #RedHat we didn’t always have magic

Slide 6

Slide 6 text

@holly_cummins #RedHat punched cards 1804 - 1960s

Slide 7

Slide 7 text

@holly_cummins #RedHat https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/IMU_COMPENSATION_PACKAGE.agc 1969

Slide 8

Slide 8 text

@holly_cummins #RedHat TCF 1/PIPA1 +1 NOOP # LESS THAN ZERO IMPOSSIBLE. RELINT # Page 299 IRIGCOMP TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS. TS BUF # INDEX COUNTER - IRIGX, IRIGY, IRIGZ. IRIGX EXTEND DCS DELVX # (PIPA PULSES) X 2(+14) DXCH MPAC CA ADIAX # (GYRO PULSES)/(PIPA PULSE) X 2(-3) * TC GCOMPSUB # -(ADIAX)(PIPAX) (GYRO PULSES) X 2(+14) EXTEND # DCS DELVY # (PIPA PULSES) X 2(+14) DXCH MPAC # CS ADSRAX # (GYRO PULSES)/(PIPA PULSE) X 2(-3) * TC GCOMPSUB # +(ADSRAX)(PIPAY) (GYRO PULSES) X 2(+14) # EXTEND # *** # DCS DELVY # *** (PIPA PULSES) X 2(+14) # DXCH MPAC # *** # CA ADOAX # *** (GYRO PULSES)/(PIPA PULSE) X 2(-3) * # TC GCOMPSUB # *** -(ADOAX)(PIPAZ) (GYRO PULSES) X 2(+14) CS NBDX # (GYRO PULSES)/(CS) X 2(-5) TC DRIFTSUB # -(NBDX)(DELTAT) (GYRO PULSES) X 2(+14) IRIGY EXTEND DCS DELVY # (PIPA PULSES) X 2(+14) DXCH MPAC CA ADIAY # (GYRO PULSES)/(PIPA PULSE) X 2(-3) * TC GCOMPSUB # -(ADIAY)(PIPAY) (GYRO PULSES) X 2(+14) EXTEND DCS DELVZ # (PIPA PULSES) X 2(+14) DXCH MPAC CS ADSRAY # (GYRO PULSES)/(PIPA PULSE) X 2(-3) * TC GCOMPSUB # +(ADSRAY)(PIPAZ) (GYRO PULSES) X 2(+14) # EXTEND # *** # DCS DELVX # *** (PIPA PULSES) X 2(+14) # DXCH MPAC # *** https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/IMU_COMPENSATION_PACKAGE.agc 1969

Slide 9

Slide 9 text

@holly_cummins #RedHat 1974 image courtesy of Smithsonian Institute, https://americanhistory.si.edu/collections/search/object/nmah_334396 altair 8800

Slide 10

Slide 10 text

@holly_cummins #RedHat 1974 image courtesy of Smithsonian Institute, https://americanhistory.si.edu/collections/search/object/nmah_334396 altair 8800 switches for input

Slide 11

Slide 11 text

@holly_cummins #RedHat 1974 image courtesy of Smithsonian Institute, https://americanhistory.si.edu/collections/search/object/nmah_334396 altair 8800 light bulbs for output switches for input

Slide 12

Slide 12 text

@holly_cummins #RedHat java 1995

Slide 13

Slide 13 text

@holly_cummins #RedHat large language models + prompt engineering

Slide 14

Slide 14 text

@holly_cummins #RedHat large language models + prompt engineering

Slide 15

Slide 15 text

@holly_cummins #RedHat large language models + prompt engineering

Slide 16

Slide 16 text

@holly_cummins #RedHat large language models + prompt engineering

Slide 17

Slide 17 text

@holly_cummins #RedHat large language models + prompt engineering

Slide 18

Slide 18 text

@holly_cummins #RedHat large language models + prompt engineering

Slide 19

Slide 19 text

@holly_cummins #RedHat large language models + prompt engineering

Slide 20

Slide 20 text

our modern stack

Slide 21

Slide 21 text

application our modern stack

Slide 22

Slide 22 text

transistor networks application our modern stack

Slide 23

Slide 23 text

transistor networks application machine codes our modern stack

Slide 24

Slide 24 text

transistor networks application assembler machine codes our modern stack

Slide 25

Slide 25 text

transistor networks application high-level language assembler machine codes our modern stack

Slide 26

Slide 26 text

transistor networks application high-level language assembler machine codes libraries our modern stack

Slide 27

Slide 27 text

transistor networks framework application high-level language assembler machine codes libraries our modern stack

Slide 28

Slide 28 text

transistor networks framework application high-level language assembler machine codes libraries our modern stack ai coding assistant

Slide 29

Slide 29 text

transistor networks framework application high-level language assembler machine codes libraries our modern stack ai coding assistant abstraction

Slide 30

Slide 30 text

@holly_cummins #RedHat awesome. what could possibly go wrong?

Slide 31

Slide 31 text

@holly_cummins #RedHat q: what could possibly go wrong? a: people.

Slide 32

Slide 32 text

@holly_cummins #RedHat

Slide 33

Slide 33 text

@holly_cummins #RedHat package com.example; import org.jboss.logging.Logger; public class MyService { private static final Logger log = Logger.getLogger(MyService.class); public void doSomething() { log.info("It works!"); } } example: quarkus logging

Slide 34

Slide 34 text

@holly_cummins #RedHat package com.example; import org.jboss.logging.Logger; public class MyService { private static final Logger log = Logger.getLogger(MyService.class); public void doSomething() { log.info("It works!"); } } example: quarkus logging import io.quarkus.logging.Log; Log

Slide 35

Slide 35 text

@holly_cummins #RedHat

Slide 36

Slide 36 text

@holly_cummins #RedHat horrible

Slide 37

Slide 37 text

@holly_cummins #RedHat

Slide 38

Slide 38 text

@holly_cummins #RedHat if one is not able to write a simple code and depends on generated code, then he is not a developer

Slide 39

Slide 39 text

#RedHat things people say about abstraction higher abstraction means stupider developers*

Slide 40

Slide 40 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant

Slide 41

Slide 41 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant developer skill?

Slide 42

Slide 42 text

@holly_cummins #RedHat gate- keeping

Slide 43

Slide 43 text

@holly_cummins #RedHat people used to say the same thing about garbage collection

Slide 44

Slide 44 text

@holly_cummins #RedHat “Avoid using any language that uses ‘garbage collection’ memory management. It teaches bad habits and makes for lazy, sloppy engineers.” –anonymous, 2005 “ http://ex-mentis.blogspot.com/2006/05/are-paul-graham-and-joel-spolsky-right.html

Slide 45

Slide 45 text

@holly_cummins #RedHat rust

Slide 46

Slide 46 text

@holly_cummins #RedHat

Slide 47

Slide 47 text

@holly_cummins #RedHat garbage collection users were more likely to complete the task in the time available, and those who did so required only about a third as much time (4 hours vs. 12 hours)

Slide 48

Slide 48 text

#RedHat things people say about abstraction higher abstraction means slower code*

Slide 49

Slide 49 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant

Slide 50

Slide 50 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant execution speed

Slide 51

Slide 51 text

#RedHat things people say about abstraction higher abstraction means loss of control

Slide 52

Slide 52 text

@holly_cummins #RedHat

Slide 53

Slide 53 text

@holly_cummins #RedHat your logging now depends on quarkus

Slide 54

Slide 54 text

@holly_cummins #RedHat formatting

Slide 55

Slide 55 text

@holly_cummins #RedHat

Slide 56

Slide 56 text

@holly_cummins #RedHat [space] [space] [space] [space]

Slide 57

Slide 57 text

@holly_cummins #RedHat gah! auto-formatters are a thing! [space] [space] [space] [space] [space] [space] [space]

Slide 58

Slide 58 text

@holly_cummins #RedHat gah! auto-formatters are a thing! [space] [space] [space] [space] [space] [space] [space] your time is valuable, and typing space- space-space is not a good use of it [space] [space] [space] [space

Slide 59

Slide 59 text

@holly_cummins #RedHat gah! auto-formatters are a thing! [space] [space] [space] [space] [space] [space] [space] your time is valuable, and typing space- space-space is not a good use of it [space] [space] [space] [space ARGH! GAH! *$£!&**!

Slide 60

Slide 60 text

@holly_cummins #RedHat go fmt

Slide 61

Slide 61 text

@holly_cummins #RedHat “could we have something like go fmt, but configurable?”

Slide 62

Slide 62 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant

Slide 63

Slide 63 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant control

Slide 64

Slide 64 text

#RedHat things people say about abstraction abstraction sacrifices correctness

Slide 65

Slide 65 text

@holly_cummins #RedHat https://www.sify.com/ai-analytics/the-hilarious-and-horrifying-hallucinations-of-ai/

Slide 66

Slide 66 text

@holly_cummins #RedHat “What is the world record for crossing the English channel entirely on foot?” https://www.sify.com/ai-analytics/the-hilarious-and-horrifying-hallucinations-of-ai/

Slide 67

Slide 67 text

@holly_cummins #RedHat “What is the world record for crossing the English channel entirely on foot?” “The world record for crossing the English Channel entirely on foot is held by Christof Wandratsch of Germany, who completed the crossing in 14 hours and 51 minutes on August 14, 2020.” https://www.sify.com/ai-analytics/the-hilarious-and-horrifying-hallucinations-of-ai/

Slide 68

Slide 68 text

@holly_cummins #RedHat

Slide 69

Slide 69 text

@holly_cummins #RedHat quarkus + chat gpt

Slide 70

Slide 70 text

@holly_cummins #RedHat quarkus + chat gpt

Slide 71

Slide 71 text

@holly_cummins #RedHat quarkus + chat gpt this is wrong in every way (there is no quinoa cli, and having one would be a terrible design)

Slide 72

Slide 72 text

@holly_cummins #RedHat quarkus + chat gpt this is wrong in every way (there is no quinoa cli, and having one would be a terrible design)

Slide 73

Slide 73 text

@holly_cummins #RedHat quarkus + chat gpt this is wrong in every way (there is no quinoa cli, and having one would be a terrible design) this is not necessary (it misses a major quarkus usability feature)

Slide 74

Slide 74 text

#RedHat things people say about abstraction abstraction makes things easier

Slide 75

Slide 75 text

@holly_cummins #RedHat it took 4 different prompts for my chat-gpt screenshot

Slide 76

Slide 76 text

@holly_cummins #RedHat programming in diagrams instead of words turns out to be a lot of work remember model-driven development?

Slide 77

Slide 77 text

@holly_cummins #RedHat sometimes writing the right copilot ‘spec’ is harder than just writing the code

Slide 78

Slide 78 text

@holly_cummins #RedHat low code generative AI

Slide 79

Slide 79 text

@holly_cummins #RedHat low code generative AI looks great in demos

Slide 80

Slide 80 text

@holly_cummins #RedHat low code generative AI looks great in demos hard to maintain

Slide 81

Slide 81 text

@holly_cummins #RedHat low code generative AI looks great in demos hard to maintain does badly if problem is a new one

Slide 82

Slide 82 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant

Slide 83

Slide 83 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant speed of development?

Slide 84

Slide 84 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant

Slide 85

Slide 85 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant cognitive load ai coding assistant machine codes assembler high-level language libraries framework

Slide 86

Slide 86 text

#RedHat @holly_cummins choosing a programming language

Slide 87

Slide 87 text

#RedHat @holly_cummins choosing a programming language 1963

Slide 88

Slide 88 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP

Slide 89

Slide 89 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023

Slide 90

Slide 90 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python

Slide 91

Slide 91 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C

Slide 92

Slide 92 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++

Slide 93

Slide 93 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java

Slide 94

Slide 94 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C#

Slide 95

Slide 95 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript

Slide 96

Slide 96 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic

Slide 97

Slide 97 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP

Slide 98

Slide 98 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL

Slide 99

Slide 99 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly

Slide 100

Slide 100 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go

Slide 101

Slide 101 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch

Slide 102

Slide 102 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal

Slide 103

Slide 103 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal MATLAB

Slide 104

Slide 104 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal MATLAB Swift

Slide 105

Slide 105 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal MATLAB Swift Fortran

Slide 106

Slide 106 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal MATLAB Swift Fortran R

Slide 107

Slide 107 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal MATLAB Swift Fortran R Kotlin

Slide 108

Slide 108 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal MATLAB Swift Fortran R Kotlin Ruby

Slide 109

Slide 109 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal MATLAB Swift Fortran R Kotlin Ruby Rust

Slide 110

Slide 110 text

#RedHat @holly_cummins choosing a programming language 1963 Fortan ALGOL COBOL LISP 2023 Python C C++ Java C# JavaScript Visual Basic PHP SQL Assembly Go Scratch Pascal MATLAB Swift Fortran R Kotlin Ruby Rust …

Slide 111

Slide 111 text

#RedHat @holly_cummins and if you’re using javascript …

Slide 112

Slide 112 text

#RedHat @holly_cummins and if you’re using javascript … 1,300,000 libraries in npm registry

Slide 113

Slide 113 text

#RedHat @holly_cummins and if you’re using javascript … 1,300,000 libraries in npm registry 2,0

Slide 114

Slide 114 text

#RedHat @holly_cummins now you need a framework

Slide 115

Slide 115 text

#RedHat @holly_cummins now you need to be cloud native

Slide 116

Slide 116 text

No content

Slide 117

Slide 117 text

@holly_cummins #RedHat

Slide 118

Slide 118 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant shift left

Slide 119

Slide 119 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant quality shift left

Slide 120

Slide 120 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant security quality shift left

Slide 121

Slide 121 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant security observability quality shift left

Slide 122

Slide 122 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant security observability operations quality shift left

Slide 123

Slide 123 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant security observability operations usab quality shift left

Slide 124

Slide 124 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant security observability operations usab quality ud bills shift left

Slide 125

Slide 125 text

#RedHat @holly_cummins things you need to do well in 2024:

Slide 126

Slide 126 text

#RedHat @holly_cummins apps things you need to do well in 2024:

Slide 127

Slide 127 text

#RedHat @holly_cummins apps ops things you need to do well in 2024:

Slide 128

Slide 128 text

#RedHat @holly_cummins apps ops devops things you need to do well in 2024:

Slide 129

Slide 129 text

#RedHat @holly_cummins apps ops devops devsecops things you need to do well in 2024:

Slide 130

Slide 130 text

#RedHat @holly_cummins apps ops devops devsecops devbizops things you need to do well in 2024:

Slide 131

Slide 131 text

#RedHat @holly_cummins apps ops devops devsecops devbizops devsecbizops things you need to do well in 2024:

Slide 132

Slide 132 text

#RedHat @holly_cummins apps ops devops devsecops devbizops devsecbizops finops things you need to do well in 2024:

Slide 133

Slide 133 text

#RedHat @holly_cummins shift down

Slide 134

Slide 134 text

#RedHat @holly_cummins shift down let platforms do the work

Slide 135

Slide 135 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant security observability operations usab quality ud bills shift down

Slide 136

Slide 136 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant security observability operations usability quality cloud bills shift down

Slide 137

Slide 137 text

transistor networks framework application high-level language assembler machine codes libraries ai coding assistant security observability operations usability quality cloud bills shift down value

Slide 138

Slide 138 text

#RedHat @holly_cummins big questions

Slide 139

Slide 139 text

#RedHat @holly_cummins will ai take our jobs?

Slide 140

Slide 140 text

#RedHat @holly_cummins will ai take our jobs? NO.

Slide 141

Slide 141 text

#RedHat @holly_cummins professional developers in the world https://www.statista.com/statistics/627312/worldwide-developer-population/ https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf

Slide 142

Slide 142 text

#RedHat @holly_cummins professional developers in the world https://www.statista.com/statistics/627312/worldwide-developer-population/ https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf machine codes vacuum tube networks

Slide 143

Slide 143 text

#RedHat @holly_cummins professional developers in the world https://www.statista.com/statistics/627312/worldwide-developer-population/ https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf assembler machine codes vacuum tube networks

Slide 144

Slide 144 text

#RedHat @holly_cummins professional developers in the world https://www.statista.com/statistics/627312/worldwide-developer-population/ https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf transistor networks assembler machine codes

Slide 145

Slide 145 text

#RedHat @holly_cummins professional developers in the world https://www.statista.com/statistics/627312/worldwide-developer-population/ https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf transistor networks high-level languages assembler machine codes

Slide 146

Slide 146 text

#RedHat @holly_cummins professional developers in the world https://www.statista.com/statistics/627312/worldwide-developer-population/ https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf transistor networks high-level languages assembler machine codes libraries

Slide 147

Slide 147 text

#RedHat @holly_cummins professional developers in the world https://www.statista.com/statistics/627312/worldwide-developer-population/ https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf transistor networks frameworks high-level languages assembler machine codes libraries

Slide 148

Slide 148 text

#RedHat @holly_cummins professional developers in the world https://www.statista.com/statistics/627312/worldwide-developer-population/ https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf transistor networks frameworks high-level languages assembler machine codes libraries ai coding assistants

Slide 149

Slide 149 text

#RedHat @holly_cummins

Slide 150

Slide 150 text

#RedHat @holly_cummins compilers did not put programmers out of work

Slide 151

Slide 151 text

#RedHat @holly_cummins compilers did not put programmers out of work (people worried they would)

Slide 152

Slide 152 text

#RedHat @holly_cummins software is not going away

Slide 153

Slide 153 text

human alarm clock “knocker-up” 1800s - 1940s

Slide 154

Slide 154 text

human alarm clock 1800s - 1940s

Slide 155

Slide 155 text

human alarm clock 1800s - 1940s finite demand

Slide 156

Slide 156 text

human alarm clock 1800s - 1940s finite demand only employees need waking up

Slide 157

Slide 157 text

human alarm clock 1800s - 1940s finite demand only employees need waking up no one needs waking up more than once

Slide 158

Slide 158 text

#RedHat @holly_cummins the more software we have, the more we want

Slide 159

Slide 159 text

#RedHat @holly_cummins

Slide 160

Slide 160 text

#RedHat @holly_cummins software to do stuff

Slide 161

Slide 161 text

#RedHat @holly_cummins software to do stuff software to do more stuff

Slide 162

Slide 162 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software

Slide 163

Slide 163 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show

Slide 164

Slide 164 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software

Slide 165

Slide 165 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software

Slide 166

Slide 166 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software software to manage the software

Slide 167

Slide 167 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software software to manage the software software to write the software

Slide 168

Slide 168 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software software to manage the software software to write the software software to manage the software that writes the software

Slide 169

Slide 169 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software software to manage the software software to write the software software to manage the software that writes the software software to try and avoid skynet

Slide 170

Slide 170 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software software to manage the software software to write the software software to manage the software that writes the software software to try and avoid skynet software to tell people about software

Slide 171

Slide 171 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software software to manage the software software to write the software software to manage the software that writes the software software to try and avoid skynet software to tell people about software software to work out the meaning of life

Slide 172

Slide 172 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software software to manage the software software to write the software software to manage the software that writes the software software to try and avoid skynet software to tell people about software software to work out the meaning of life software to gamify software

Slide 173

Slide 173 text

#RedHat @holly_cummins software to do stuff software to do more stuff software to bypass advertisements in the software software to bypass the bypass software so ads still show software to monitor the software software to debug the software software to manage the software software to write the software software to manage the software that writes the software software to try and avoid skynet software to tell people about software software to work out the meaning of life software to gamify software …

Slide 174

Slide 174 text

#RedHat @holly_cummins will the productivity expectation be higher?

Slide 175

Slide 175 text

#RedHat @holly_cummins will the productivity expectation be higher? probably

Slide 176

Slide 176 text

#RedHat @holly_cummins will we spend more time debugging generated code?

Slide 177

Slide 177 text

#RedHat @holly_cummins will we spend more time debugging generated code? probably :)

Slide 178

Slide 178 text

#RedHat @holly_cummins copilot users accepted 30% of its suggestions copilot produced 40% of the codebase

Slide 179

Slide 179 text

#RedHat @holly_cummins copilot users accepted 30% of its suggestions copilot produced 40% of the codebase uh oh, what does that say about the information density?

Slide 180

Slide 180 text

#RedHat @holly_cummins

Slide 181

Slide 181 text

#RedHat @holly_cummins 70% unnecessary code

Slide 182

Slide 182 text

#RedHat @holly_cummins “lines of code” is not a good productivity metric for people. or machines.

Slide 183

Slide 183 text

#RedHat @holly_cummins if code is so boring a machine can predict it, maybe it shouldn’t be there?

Slide 184

Slide 184 text

#RedHat @holly_cummins do we really want software-generated boilerplate?

Slide 185

Slide 185 text

#RedHat @holly_cummins is it inevitable that things get easier?

Slide 186

Slide 186 text

#RedHat @holly_cummins is it inevitable that things get easier? no

Slide 187

Slide 187 text

#RedHat @holly_cummins

Slide 188

Slide 188 text

#RedHat @holly_cummins java 1995

Slide 189

Slide 189 text

#RedHat @holly_cummins java enterprise java beans 1995 1999

Slide 190

Slide 190 text

#RedHat @holly_cummins yaml

Slide 191

Slide 191 text

#RedHat @holly_cummins design to make things easy

Slide 192

Slide 192 text

#RedHat @holly_cummins design to make things easy minimise opportunity for error

Slide 193

Slide 193 text

#RedHat @holly_cummins design to make things easy minimise opportunity for error minimise boilerplate

Slide 194

Slide 194 text

#RedHat @holly_cummins design to make things easy minimise opportunity for error minimise boilerplate minimuse duplication of information

Slide 195

Slide 195 text

#RedHat @holly_cummins design to make things easy minimise opportunity for error minimise boilerplate minimuse duplication of information maximise expressiveness

Slide 196

Slide 196 text

#RedHat @holly_cummins design to make things easy minimise opportunity for error minimise boilerplate minimuse duplication of information maximise expressiveness talk to people (doh!)

Slide 197

Slide 197 text

#RedHat @holly_cummins if ai can save dev time using your thing, maybe you designed your api wrong?

Slide 198

Slide 198 text

#RedHat @holly_cummins challenge assumptions

Slide 199

Slide 199 text

#RedHat @holly_cummins “what if … people didn’t have to do this?”

Slide 200

Slide 200 text

#RedHat @holly_cummins “what if … you didn’t need to configure a database?”

Slide 201

Slide 201 text

#RedHat @holly_cummins example: letting computers to the hard work with quarkus

Slide 202

Slide 202 text

#RedHat @holly_cummins io.quarkus quarkus-jdbc-postgresql pom.xml

Slide 203

Slide 203 text

#RedHat @holly_cummins we see you will be using a database io.quarkus quarkus-jdbc-postgresql pom.xml

Slide 204

Slide 204 text

#RedHat @holly_cummins we see you will be using a database we see you do not have one io.quarkus quarkus-jdbc-postgresql pom.xml # This config deliberately left empty application.properties

Slide 205

Slide 205 text

#RedHat @holly_cummins we see you will be using a database we see you do not have one io.quarkus quarkus-jdbc-postgresql pom.xml # This config deliberately left empty application.properties we’ll just sort one out for you

Slide 206

Slide 206 text

#RedHat @holly_cummins caution: if people expect something to be hard, making it easy can confuse them

Slide 207

Slide 207 text

@holly_cummins #RedHat tl;dpa (too long; didn’t pay attention) abstraction is good. shift down, to make shifting left easier coding assistants are great at … typing challenge assumptions + eliminate boilerplate it is awesome being a developer

Slide 208

Slide 208 text

Holly Cummins Red Hat http://hollycummins.com/jobs-harder-easier-sphere/

Slide 209

Slide 209 text

No content