Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The Good Rubyist Challenge
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Richard Schneeman
June 06, 2014
Programming
620
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Good Rubyist Challenge
Richard Schneeman
June 06, 2014
More Decks by Richard Schneeman
See All by Richard Schneeman
[RubyConf] Beware the Dreaded Dead End
schneems
1
430
[Kaigi] Beware the Dead End
schneems
0
240
Threads Aren't Evil
schneems
0
650
Bayes is BAE
schneems
0
4.1k
Testing the Untestable
schneems
1
960
SLOMO
schneems
2
1.3k
Saving Sprockets
schneems
8
17k
Memory Leaks, Tweaks, and Techniques
schneems
1
280
Speed Science
schneems
20
37k
Other Decks in Programming
See All in Programming
一人だけ、Kiroが静止する日
hideg
0
120
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
500
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
310
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
380
XHTMLが残したもの
yosuke_furukawa
PRO
2
830
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.5k
Heart of Swift Concurrency
koher
0
920
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
300
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
180
アクセシビリティから考える情報設計
high_g_engineer
0
380
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2k
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
190
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Evolving SEO for Evolving Search Engines
ryanjones
0
300
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
A better future with KSS
kneath
240
18k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
BBQ
matthewcrist
89
10k
A Soul's Torment
seathinner
8
3.6k
Transcript
None
None
None
The Good Rubyist Challenge by Schneems
Challenge:
(verb) to invite someone to engage in a contest
To be a good Rubyist
You must best yourself
They Call me @Schneems
Ruby Schneems
Ruby Python
None
What would you say you “do” here?
Maintain buildpack
Handle Ruby ticket escalations
Open Source Software Contribution
Write and maintain docs
My spanish story
I’m here to deliver the truths!
First
Close your Laptops
Unless you’re commenting on rails/rails issues
How do you learn Ruby?
How do you learn Anything?
You must want to write Ruby
People do not want to use tools
People want to build
No one wants to Hammer
They want to build a house
They learn to use a tool to accomplish a goal
Adjunct Professor
Tired of lectures
timesHigherEducation.co.uk
news.yahoo.com
Speaking at conferences works Source: me
Learning requires a feedback cycle
Want Try Do Reflect
Most of learning focuses on the how
Focus on the “how-come”
Course time:
Does anyone know?
None
So Crates
Hated Lectures
Socratic Method
1. Find an Argument
“TDD Is DEAD
2. Make a challenge statement
Panda Schneems Used TDD Yesterday “
3. Change Statement to be true for challenge
TDD isn’t the only software development method “
4. Challenge the changed statement with a ???
Can you write good software without TDD? “
Repeat
Truth: a statement that holds up to all scrutiny
Socrates and the Oracle
Nope
Nope
Yup
“Socrates is the wisest man in Greece”
None
“Yeah, well that’s just like, your opinion
“the only person aware of his own ignorance”
Today, we will be Socrates
Become aware of our ignorance
Who here is a Great developer?
Who here is a Good developer?
Challenges of a good developer
Level 1 !
Read Ruby
None
None
Write Ruby
Online tutorials
None
Challenge: have a goal
Build the next Facebook for dogs
Build the next instagram for grandmas
Build the next whatsapp for wallabies
We don’t learn by doing
We learn by questioning what we’re doing
We learn by questioning what we’re doing
Sound Familiar?
When you have a goal you’re always asking:
How can I use this
Challenge: Be Weird
Write Ruby
Write a project just to throw it away
Put it on github anyway
Programmers are craftsman
Sharpen your skills through play
Level 2 !
Programmers are social
It’s true
Writing code is sharing logic
Challenge: share logic with humans
Join A Usergroup
Don’t forget
None
Austin on Rails: 2 presentations & “socilization practice”
Austin.rb 1 presentation & code kata
Who has ever done a code kata?
codeKata.com
Example: Find all anagrams in a sentence
Example: Convert roman numerals to integers
None
Doing katas with real people gives you new insight.
Doing katas with real people gives you new insight.
Impostor Syndrome
When you feel like you’re not a real programmer
I suffered this for 2 years before showing anyone code
Surprised to find out no one called me “stupid”
No one called me “stupid”
Other people made syntax mistakes too
None
After 5+ years of going to user groups
I’m worried I don’t have impostor syndrome anymore
Just kidding
Level 3 !
Who has ever:
Written Ruby code?
Keep hand raised if you’ve:
Opened an issue on an OSS repo (a PR counts)
Submitted a pull request to an open source library?
Had a pull request accepted
Had a pull request accepted
Challenge: Give Forwards to open source
A good rubyist makes the future better
How do you help?
Open issues when you find bugs
Include: version numbers
Include: Expected behavior
Include: Actual behavior
Include: Reproduction instructions
Read issues
How many issues are open on rails/ rails now?
600+
Challenge: Write comments on issues
How?
CodeTriage .com
Challenge: Comment on an issue
Challenge: Write docs for a Repo
How?
DocsDoctor .org
None
Reading docs
Writing comments
The path to OSS core is paved with issues and
docs
Disastrous consequences
You’ll become a better developer
You’ll learn things you never knew about your tools
Even if you’re not ready today
At bare minimum
Click
Pick
Send them <3
Even OSS developers get impostor syndrome
Giving developer love turns into OSS code
Be greedy: Give to your future self
My entire salary for the has come from working on
OSS software
Level 4 !
Bet you thought I was done
What comes after being a good Rubyist?
Rust?
Go?
Node?
Swift?
Nope
There’s no need to leave Ruby to work with other
languages
Challenge: Learn how Ruby works
None
Challenge: Contribute to Ruby (ask @Zzak)
It doesn’t even have to be MRI
None
None
Level 42 !
Let’s ask ourselves
Can we be better Ruby programmers ?
Can I challenge myself today?
You can never know it all
By following the pursuit
We’re all good Rubyists
Questions @schneems