Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What Happens to Everyone, When Everyone Learns to Code

What Happens to Everyone, When Everyone Learns to Code

Farrah was a keynote speaker at Rails Conference 2014, the Flagship event of the Ruby on Rails team members and community. It’s the largest official gathering of the year, attended by top Rails talent, companies and project representatives from all over the world.

8f3b43a5368813125896076d62c22d53?s=128

The Difference Engine

April 22, 2014
Tweet

Transcript

  1. what happens to everyone 
 when everyone learns to code.

    #railsconf2014 | @farrahbostic
  2. Hi, I’m  @farrahbostic ! ! I run...

  3. i come from advertising.

  4. “software writers.” awesome.

  5. just write. then leave it. read it aloud. edit. kill

    your darlings. What is good writing practice?
  6. The lyf so short, the craft so longe to lerne.

    - Chaucer
  7. what happens to everyone 
 when everyone learns to code?

  8. fact: “Everybody should learn to code”

  9. how to become a coder

  10. 1,000,000 STEM graduates “be a coder” in >4 years. it’ll

    cost you six figures.
  11. “be a coder” in 10,000 hours, or 10 years, whichever

    comes last.
  12. meanwhile…

  13. We’ll let you “be a coder” in 12 weeks, give

    or take.
  14. I’ve been working on it, too @noahbrier @stueccles @jondahl @rachelsklar

    @aviflombaum
  15. the truth is,  you learn to code by coding

  16. Which starts out feeling like this.

  17. THEN YOU FIND SOMETHING THAT FEELS LIKE THIS.

  18. but then you decide to turn hard core. Start fast.

    Go hard. Stop.
  19. so how’d that work out?

  20. ‘i didn’t build that’ - we did Matz • dhh

    • RailsGuides • Ryan Bates • Redactor.js • Woo Themes • John Resig • Dave Methvin • PostgreSQL • Jonas Nicklas • Corey Johnson • Heroku • GitHub • @olvado • @hjames • @cjbell88 • @j_schelling • TypeKit • kuler • moo.com • keynote • pixelmator • slideshare • youtube • skype • AddThis • LocomotiveCMS • sirtrevor.js • mini-magick • carrierwave • flexslider • jQuery • uistencils
  21. the internet teaches you how to create more internet. But

    you’re not just learning/teaching the code, you’re also learning/teaching the culture.
  22. and maybe that’s a little scary.

  23. interesting thought from dhh “Professionals obey the laws.
 Amateurs break

    them…” But there are amateurs, and there are novices. Novices break laws too, accidentally, 
 and often without even realizing it.
  24. but then we meet the stack trace

  25. None
  26. and we end up at stack overflow It’s great for

    amateurs. We find out we’re not alone experiencing a problem. We get answers to our questions. Great, right?
  27. but we struggle to belong. “It’s difficult to tell what

    is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form.”
  28. stack overflow == terminus?

  29. For novices & amateurs, 
 “coder” is a moving target.

  30. ‘code inequality’ It’s good for you to be experts and

    me to be a novice. That motivates me to get better. But the goal is not to make that difference permanent and immutable. That would be structural inequality - where novices give up, amateurs never become experts, and experts only become more expert. That would be bad.
  31. so what?

  32. technology is feeling magical again.

  33. but it’s also scaring the shit out of people.

  34. whose side are you on?

  35. okay, let’s take a deep breath.

  36. everyone should still learn to code, right?

  37. but who is everybody? 
 and how much do i

    really have to learn?
  38. most code schools are teaching 
 most amateurs to be

    
 (at most) conversational coders.
  39. so what does that mean for you? It means you

    need to be more than “just” devs. It means you are now writing 
 for a much broader audience. And solving even problems that go beyond
 how to write beautiful code.
  40. what about “strategy inequality”

  41. forget about being an expert. be a problem-solver. become a

    customer-centric coder.
  42. we’re all in this together.

  43. meet the new product team. Conversational Coders Customer-Centric Coders

  44. how do we get ready?

  45. for starters, keep the good intentions & match it with

    good behavior
  46. “code should make you happy”

  47. “Don’t code alone”

  48. clarity counts.

  49. more pseudo-code*. more sketching.! * not the same as sudo

    code. 
 which is possibly a lesson i learned the hard way.
  50. empty readme

  51. None
  52. this is also a metaphor For constructive criticism. For providing

    context to your code. For not preferring RTFM to RTFC. empty readme
  53. just write. then leave it. read it aloud. edit. kill

    your darlings. This applies to writing code, too.
  54. let’s optimize the right things. Just like dhh’s comments about

    TDD… Optimize the important things. Yes, your code. Sure, your process. And, yeah, the documentation. So we can spend most of our focus 
 on optimizing products for people.
  55. None
  56. who are you optimizing for? You have three customers. Your

    product team. Your community (which isn’t all experts). Your end user.
  57. who are we designing for?

  58. it’s complicated.

  59. so then what?

  60. we write code to create value. Marketers worry a lot

    about making things people want, and making people want things. ! We should focus on making things that are valuable.
  61. when we’re all coders, we can all be awesome. Conversational

    Coders Customer-Centric Coders Awesome Product Teams Making 
 Awesome Products
  62. Challenge Accepted

  63. what’s next? @farrahbostic