View Slide
The Good RubyistChallengeby Schneems
Challenge:
(verb) to invitesomeone toengage in acontest
To be a goodRubyist
You must bestyourself
TheyCall me@Schneems
RubySchneems
RubyPython
What wouldyou say you“do” here?
Maintainbuildpack
Handle Rubyticketescalations
OpenSourceSoftwareContribution
Write andmaintaindocs
My spanishstory
I’m here todeliver thetruths!
First
Close yourLaptops
Unless you’recommentingon rails/railsissues
How do youlearn Ruby?
How do youlearnAnything?
You mustwant to writeRuby
People do notwant to usetools
People wantto build
No one wantsto Hammer
They want tobuild a house
They learn touse a tool toaccomplish agoal
AdjunctProfessor
Tired oflectures
timesHigherEducation.co.uk
news.yahoo.com
Speaking atconferencesworksSource: me
Learningrequires afeedbackcycle
WantTryDoReflect
Most oflearningfocuses onthe how
Focus on the“how-come”
Course time:
Does anyoneknow?
SoCrates
HatedLectures
SocraticMethod
1. Find anArgument
“TDDIs DEAD
2. Make achallengestatement
PandaSchneemsUsedTDDYesterday“
3. ChangeStatement tobe true forchallenge
TDDisn’t the onlysoftwaredevelopmentmethod“
4. Challengethe changedstatementwith a ???
Can youwritegoodsoftwarewithout TDD?“
Repeat
Truth: astatementthat holds upto all scrutiny
Socratesandthe Oracle
Nope
Yup
“Socrates isthe wisestman inGreece”
“Yeah,well that’sjust like,your opinion
“the onlyperson awareof his ownignorance”
Today, wewill beSocrates
Becomeaware of ourignorance
Who here is aGreatdeveloper?
Who here is aGooddeveloper?
Challenges ofa gooddeveloper
Level 1!
ReadRuby
WriteRuby
Onlinetutorials
Challenge: have a goal
Build the nextFacebook fordogs
Build the nextinstagram forgrandmas
Build the nextwhatsapp forwallabies
We don’tlearn bydoing
We learn byquestioningwhat we’redoing
SoundFamiliar?
When youhave a goalyou’re alwaysasking:
How can I usethis
Challenge:Be Weird
Write aproject just tothrow it away
Put it ongithubanyway
Programmersarecraftsman
Sharpen yourskills throughplay
Level 2!
Programmersaresocial
It’s true
Writing codeis sharinglogic
Challenge:share logicwith humans
JoinAUsergroup
Don’t forget
Austin on Rails:2 presentations&“socilizationpractice”
Austin.rb1 presentation& code kata
Who has everdone a codekata?
codeKata.com
Example:Find allanagrams ina sentence
Example:Convert romannumerals tointegers
Doing kataswith real peoplegives you newinsight.
ImpostorSyndrome
When you feellike you’renot a realprogrammer
I suffered thisfor 2 yearsbefore showinganyone code
Surprised tofind out noone called me“stupid”
No one calledme “stupid”
Other peoplemade syntaxmistakes too
After 5+ yearsof going touser groups
I’m worried Idon’t haveimpostorsyndromeanymore
Just kidding
Level 3!
Who has ever:
Written Rubycode?
Keep handraised ifyou’ve:
Opened anissue on anOSS repo (aPR counts)
Submitted apull request toan open sourcelibrary?
Had a pullrequestaccepted
Challenge:GiveForwards toopen source
A goodrubyistmakes thefuture better
How do youhelp?
Open issueswhen youfind bugs
Include:versionnumbers
Include:Expectedbehavior
Include:Actualbehavior
Include:Reproductioninstructions
Read issues
How manyissues areopen on rails/rails now?
600+
Challenge:Writecomments onissues
How?
CodeTriage.com
Challenge:Comment onan issue
Challenge:Write docs fora Repo
DocsDoctor.org
Reading docs
Writingcomments
The path toOSS core ispaved withissues and docs
Disastrousconsequences
You’ll becomea betterdeveloper
You’ll learnthings younever knewabout your tools
Even if you’renot readytoday
At bareminimum
Click
Pick
Send them<3
Even OSSdevelopersget impostorsyndrome
Givingdeveloperlove turnsinto OSS code
Be greedy:Give to yourfuture self
My entire salaryfor the has comefrom working onOSS software
Level 4!
Bet youthought I wasdone
What comesafter being agoodRubyist?
Rust?
Go?
Node?
Swift?
There’s no needto leave Ruby towork with otherlanguages
Challenge:Learn howRuby works
Challenge:Contribute toRuby(ask @Zzak)
It doesn’teven have tobe MRI
Level 42!
Let’s askourselves
Can we bebetter Rubyprogrammers?
Can Ichallengemyself today?
You can neverknow it all
By followingthe pursuit
We’re allgoodRubyists
Questions@schneems