The Good Rubyist Challenge

The Good Rubyist Challenge

Db953d125f5cc49756edb6149f1b813e?s=128

Richard Schneeman

June 06, 2014
Tweet

Transcript

  1. None
  2. None
  3. None
  4. The Good Rubyist Challenge by Schneems

  5. Challenge:

  6. (verb) to invite someone to engage in a contest

  7. To be a good Rubyist

  8. You must best yourself

  9. They Call me @Schneems

  10. Ruby Schneems

  11. Ruby Python

  12. None
  13. What would you say you “do” here?

  14. Maintain buildpack

  15. Handle Ruby ticket escalations

  16. Open Source Software Contribution

  17. Write and maintain docs

  18. My spanish story

  19. I’m here to deliver the truths!

  20. First

  21. Close your Laptops

  22. Unless you’re commenting on rails/rails issues

  23. How do you learn Ruby?

  24. How do you learn Anything?

  25. You must want to write Ruby

  26. People do not want to use tools

  27. People want to build

  28. No one wants to Hammer

  29. They want to build a house

  30. They learn to use a tool to accomplish a goal

  31. Adjunct Professor

  32. Tired of lectures

  33. timesHigherEducation.co.uk

  34. news.yahoo.com

  35. Speaking at conferences works Source: me

  36. Learning requires a feedback cycle

  37. Want Try Do Reflect

  38. Most of learning focuses on the how

  39. Focus on the “how-come”

  40. Course time:

  41. Does anyone know?

  42. None
  43. So Crates

  44. Hated Lectures

  45. Socratic Method

  46. 1. Find an Argument

  47. “TDD Is 
 DEAD

  48. 2. Make a challenge statement

  49. Panda Schneems Used TDD Yesterday “

  50. 3. Change Statement to be true for challenge

  51. TDD isn’t the only software development method “

  52. 4. Challenge the changed statement with a ???

  53. Can you write good software without TDD? “

  54. Repeat

  55. Truth: a statement that holds up to all scrutiny

  56. Socrates and the Oracle

  57. Nope

  58. Nope

  59. Yup

  60. “Socrates is the wisest man in Greece”

  61. None
  62. “Yeah, well that’s just like, your opinion

  63. “the only person aware of his own ignorance”

  64. Today, we will be Socrates

  65. Become aware of our ignorance

  66. Who here is a Great developer?

  67. Who here is a Good developer?

  68. Challenges of a good developer

  69. Level 1 !

  70. Read Ruby

  71. None
  72. None
  73. Write Ruby

  74. Online tutorials

  75. None
  76. Challenge:
 have a goal

  77. Build the next Facebook for dogs

  78. Build the next instagram for grandmas

  79. Build the next whatsapp for wallabies

  80. We don’t learn by doing

  81. We learn by questioning what we’re doing

  82. We learn by questioning what we’re doing

  83. Sound Familiar?

  84. When you have a goal you’re always asking:

  85. How can I use this

  86. Challenge: Be Weird

  87. Write Ruby

  88. Write a project just to throw it away

  89. Put it on github anyway

  90. Programmers are craftsman

  91. Sharpen your skills through play

  92. Level 2 !

  93. Programmers are social

  94. It’s true

  95. Writing code is sharing logic

  96. Challenge: share logic with humans

  97. Join A Usergroup

  98. Don’t forget

  99. None
  100. Austin on Rails: 2 presentations & “socilization practice”

  101. Austin.rb 1 presentation & code kata

  102. Who has ever done a code kata?

  103. codeKata.com

  104. Example: Find all anagrams in a sentence

  105. Example: Convert roman numerals to integers

  106. None
  107. Doing katas with real people gives you new insight.

  108. Doing katas with real people gives you new insight.

  109. Impostor Syndrome

  110. When you feel like you’re not a real programmer

  111. I suffered this for 2 years before showing anyone code

  112. Surprised to find out no one called me “stupid”

  113. No one called me “stupid”

  114. Other people made syntax mistakes too

  115. None
  116. After 5+ years of going to user groups

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

  118. Just kidding

  119. Level 3 !

  120. Who has ever:

  121. Written Ruby code?

  122. Keep hand raised if you’ve:

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

  124. Submitted a pull request to an open source library?

  125. Had a pull request accepted

  126. Had a pull request accepted

  127. Challenge: Give Forwards to open source

  128. A good rubyist makes the future better

  129. How do you help?

  130. Open issues when you find bugs

  131. Include: version numbers

  132. Include: Expected behavior

  133. Include: Actual behavior

  134. Include: Reproduction instructions

  135. Read issues

  136. How many issues are open on rails/ rails now?

  137. 600+

  138. Challenge: Write comments on issues

  139. How?

  140. CodeTriage .com

  141. Challenge: Comment on an issue

  142. Challenge: Write docs for a Repo

  143. How?

  144. DocsDoctor .org

  145. None
  146. Reading docs

  147. Writing comments

  148. The path to OSS core is paved with issues and

    docs
  149. Disastrous consequences

  150. You’ll become a better developer

  151. You’ll learn things you never knew about your tools

  152. Even if you’re not ready today

  153. At bare minimum

  154. Click

  155. Pick

  156. Send them <3

  157. Even OSS developers get impostor syndrome

  158. Giving developer love turns into OSS code

  159. Be greedy: Give to your future self

  160. My entire salary for the has come from working on

    OSS software
  161. Level 4 !

  162. Bet you thought I was done

  163. What comes after being a good Rubyist?

  164. Rust?

  165. Go?

  166. Node?

  167. Swift?

  168. Nope

  169. There’s no need to leave Ruby to work with other

    languages
  170. Challenge: Learn how Ruby works

  171. None
  172. Challenge: Contribute to Ruby (ask @Zzak)

  173. It doesn’t even have to be MRI

  174. None
  175. None
  176. Level 42 !

  177. Let’s ask ourselves

  178. Can we be better Ruby programmers ?

  179. Can I challenge myself today?

  180. You can never know it all

  181. By following the pursuit

  182. We’re all good Rubyists

  183. Questions @schneems