Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

The Good Rubyist Challenge by Schneems

Slide 5

Slide 5 text

Challenge:

Slide 6

Slide 6 text

(verb) to invite someone to engage in a contest

Slide 7

Slide 7 text

To be a good Rubyist

Slide 8

Slide 8 text

You must best yourself

Slide 9

Slide 9 text

They Call me @Schneems

Slide 10

Slide 10 text

Ruby Schneems

Slide 11

Slide 11 text

Ruby Python

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

What would you say you “do” here?

Slide 14

Slide 14 text

Maintain buildpack

Slide 15

Slide 15 text

Handle Ruby ticket escalations

Slide 16

Slide 16 text

Open Source Software Contribution

Slide 17

Slide 17 text

Write and maintain docs

Slide 18

Slide 18 text

My spanish story

Slide 19

Slide 19 text

I’m here to deliver the truths!

Slide 20

Slide 20 text

First

Slide 21

Slide 21 text

Close your Laptops

Slide 22

Slide 22 text

Unless you’re commenting on rails/rails issues

Slide 23

Slide 23 text

How do you learn Ruby?

Slide 24

Slide 24 text

How do you learn Anything?

Slide 25

Slide 25 text

You must want to write Ruby

Slide 26

Slide 26 text

People do not want to use tools

Slide 27

Slide 27 text

People want to build

Slide 28

Slide 28 text

No one wants to Hammer

Slide 29

Slide 29 text

They want to build a house

Slide 30

Slide 30 text

They learn to use a tool to accomplish a goal

Slide 31

Slide 31 text

Adjunct Professor

Slide 32

Slide 32 text

Tired of lectures

Slide 33

Slide 33 text

timesHigherEducation.co.uk

Slide 34

Slide 34 text

news.yahoo.com

Slide 35

Slide 35 text

Speaking at conferences works Source: me

Slide 36

Slide 36 text

Learning requires a feedback cycle

Slide 37

Slide 37 text

Want Try Do Reflect

Slide 38

Slide 38 text

Most of learning focuses on the how

Slide 39

Slide 39 text

Focus on the “how-come”

Slide 40

Slide 40 text

Course time:

Slide 41

Slide 41 text

Does anyone know?

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

So Crates

Slide 44

Slide 44 text

Hated Lectures

Slide 45

Slide 45 text

Socratic Method

Slide 46

Slide 46 text

1. Find an Argument

Slide 47

Slide 47 text

“TDD Is 
 DEAD

Slide 48

Slide 48 text

2. Make a challenge statement

Slide 49

Slide 49 text

Panda Schneems Used TDD Yesterday “

Slide 50

Slide 50 text

3. Change Statement to be true for challenge

Slide 51

Slide 51 text

TDD isn’t the only software development method “

Slide 52

Slide 52 text

4. Challenge the changed statement with a ???

Slide 53

Slide 53 text

Can you write good software without TDD? “

Slide 54

Slide 54 text

Repeat

Slide 55

Slide 55 text

Truth: a statement that holds up to all scrutiny

Slide 56

Slide 56 text

Socrates and the Oracle

Slide 57

Slide 57 text

Nope

Slide 58

Slide 58 text

Nope

Slide 59

Slide 59 text

Yup

Slide 60

Slide 60 text

“Socrates is the wisest man in Greece”

Slide 61

Slide 61 text

No content

Slide 62

Slide 62 text

“Yeah, well that’s just like, your opinion

Slide 63

Slide 63 text

“the only person aware of his own ignorance”

Slide 64

Slide 64 text

Today, we will be Socrates

Slide 65

Slide 65 text

Become aware of our ignorance

Slide 66

Slide 66 text

Who here is a Great developer?

Slide 67

Slide 67 text

Who here is a Good developer?

Slide 68

Slide 68 text

Challenges of a good developer

Slide 69

Slide 69 text

Level 1 !

Slide 70

Slide 70 text

Read Ruby

Slide 71

Slide 71 text

No content

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

Write Ruby

Slide 74

Slide 74 text

Online tutorials

Slide 75

Slide 75 text

No content

Slide 76

Slide 76 text

Challenge:
 have a goal

Slide 77

Slide 77 text

Build the next Facebook for dogs

Slide 78

Slide 78 text

Build the next instagram for grandmas

Slide 79

Slide 79 text

Build the next whatsapp for wallabies

Slide 80

Slide 80 text

We don’t learn by doing

Slide 81

Slide 81 text

We learn by questioning what we’re doing

Slide 82

Slide 82 text

We learn by questioning what we’re doing

Slide 83

Slide 83 text

Sound Familiar?

Slide 84

Slide 84 text

When you have a goal you’re always asking:

Slide 85

Slide 85 text

How can I use this

Slide 86

Slide 86 text

Challenge: Be Weird

Slide 87

Slide 87 text

Write Ruby

Slide 88

Slide 88 text

Write a project just to throw it away

Slide 89

Slide 89 text

Put it on github anyway

Slide 90

Slide 90 text

Programmers are craftsman

Slide 91

Slide 91 text

Sharpen your skills through play

Slide 92

Slide 92 text

Level 2 !

Slide 93

Slide 93 text

Programmers are social

Slide 94

Slide 94 text

It’s true

Slide 95

Slide 95 text

Writing code is sharing logic

Slide 96

Slide 96 text

Challenge: share logic with humans

Slide 97

Slide 97 text

Join A Usergroup

Slide 98

Slide 98 text

Don’t forget

Slide 99

Slide 99 text

No content

Slide 100

Slide 100 text

Austin on Rails: 2 presentations & “socilization practice”

Slide 101

Slide 101 text

Austin.rb 1 presentation & code kata

Slide 102

Slide 102 text

Who has ever done a code kata?

Slide 103

Slide 103 text

codeKata.com

Slide 104

Slide 104 text

Example: Find all anagrams in a sentence

Slide 105

Slide 105 text

Example: Convert roman numerals to integers

Slide 106

Slide 106 text

No content

Slide 107

Slide 107 text

Doing katas with real people gives you new insight.

Slide 108

Slide 108 text

Doing katas with real people gives you new insight.

Slide 109

Slide 109 text

Impostor Syndrome

Slide 110

Slide 110 text

When you feel like you’re not a real programmer

Slide 111

Slide 111 text

I suffered this for 2 years before showing anyone code

Slide 112

Slide 112 text

Surprised to find out no one called me “stupid”

Slide 113

Slide 113 text

No one called me “stupid”

Slide 114

Slide 114 text

Other people made syntax mistakes too

Slide 115

Slide 115 text

No content

Slide 116

Slide 116 text

After 5+ years of going to user groups

Slide 117

Slide 117 text

I’m worried I don’t have impostor syndrome anymore

Slide 118

Slide 118 text

Just kidding

Slide 119

Slide 119 text

Level 3 !

Slide 120

Slide 120 text

Who has ever:

Slide 121

Slide 121 text

Written Ruby code?

Slide 122

Slide 122 text

Keep hand raised if you’ve:

Slide 123

Slide 123 text

Opened an issue on an OSS repo (a PR counts)

Slide 124

Slide 124 text

Submitted a pull request to an open source library?

Slide 125

Slide 125 text

Had a pull request accepted

Slide 126

Slide 126 text

Had a pull request accepted

Slide 127

Slide 127 text

Challenge: Give Forwards to open source

Slide 128

Slide 128 text

A good rubyist makes the future better

Slide 129

Slide 129 text

How do you help?

Slide 130

Slide 130 text

Open issues when you find bugs

Slide 131

Slide 131 text

Include: version numbers

Slide 132

Slide 132 text

Include: Expected behavior

Slide 133

Slide 133 text

Include: Actual behavior

Slide 134

Slide 134 text

Include: Reproduction instructions

Slide 135

Slide 135 text

Read issues

Slide 136

Slide 136 text

How many issues are open on rails/ rails now?

Slide 137

Slide 137 text

600+

Slide 138

Slide 138 text

Challenge: Write comments on issues

Slide 139

Slide 139 text

How?

Slide 140

Slide 140 text

CodeTriage .com

Slide 141

Slide 141 text

Challenge: Comment on an issue

Slide 142

Slide 142 text

Challenge: Write docs for a Repo

Slide 143

Slide 143 text

How?

Slide 144

Slide 144 text

DocsDoctor .org

Slide 145

Slide 145 text

No content

Slide 146

Slide 146 text

Reading docs

Slide 147

Slide 147 text

Writing comments

Slide 148

Slide 148 text

The path to OSS core is paved with issues and docs

Slide 149

Slide 149 text

Disastrous consequences

Slide 150

Slide 150 text

You’ll become a better developer

Slide 151

Slide 151 text

You’ll learn things you never knew about your tools

Slide 152

Slide 152 text

Even if you’re not ready today

Slide 153

Slide 153 text

At bare minimum

Slide 154

Slide 154 text

Click

Slide 155

Slide 155 text

Pick

Slide 156

Slide 156 text

Send them <3

Slide 157

Slide 157 text

Even OSS developers get impostor syndrome

Slide 158

Slide 158 text

Giving developer love turns into OSS code

Slide 159

Slide 159 text

Be greedy: Give to your future self

Slide 160

Slide 160 text

My entire salary for the has come from working on OSS software

Slide 161

Slide 161 text

Level 4 !

Slide 162

Slide 162 text

Bet you thought I was done

Slide 163

Slide 163 text

What comes after being a good Rubyist?

Slide 164

Slide 164 text

Rust?

Slide 165

Slide 165 text

Go?

Slide 166

Slide 166 text

Node?

Slide 167

Slide 167 text

Swift?

Slide 168

Slide 168 text

Nope

Slide 169

Slide 169 text

There’s no need to leave Ruby to work with other languages

Slide 170

Slide 170 text

Challenge: Learn how Ruby works

Slide 171

Slide 171 text

No content

Slide 172

Slide 172 text

Challenge: Contribute to Ruby (ask @Zzak)

Slide 173

Slide 173 text

It doesn’t even have to be MRI

Slide 174

Slide 174 text

No content

Slide 175

Slide 175 text

No content

Slide 176

Slide 176 text

Level 42 !

Slide 177

Slide 177 text

Let’s ask ourselves

Slide 178

Slide 178 text

Can we be better Ruby programmers ?

Slide 179

Slide 179 text

Can I challenge myself today?

Slide 180

Slide 180 text

You can never know it all

Slide 181

Slide 181 text

By following the pursuit

Slide 182

Slide 182 text

We’re all good Rubyists

Slide 183

Slide 183 text

Questions @schneems