Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

What Happens to Everyone, When Everyone Learns to Code - by Farrah Bostic at RailsConf2014


Published on

What Happens to Everyone, When Everyone Learns to Code? We're all on the product team now. Conversational coders + plus customer-centric developers are the secret to making great products that create value. Here's the slides from the talk I gave in Chicago in April 2014 at RailsConf.

Published in: Business, Technology
  • Be the first to comment

What Happens to Everyone, When Everyone Learns to Code - by Farrah Bostic at RailsConf2014

  1. 1. what happens to everyone 
 when everyone learns to code. #railsconf2014 | @farrahbostic
  2. 2. Hi, I’m @farrahbostic ! ! I run...
  3. 3. i come from advertising.
  4. 4. “software writers.” awesome.
  5. 5. just write. then leave it. read it aloud. edit. kill your darlings. What is good writing practice?
  6. 6. The lyf so short, the craft so longe to lerne. - Chaucer
  7. 7. what happens to everyone 
 when everyone learns to code?
  8. 8. fact: “Everybody should learn to code”
  9. 9. how to become a coder
  10. 10. 1,000,000 STEM graduates “be a coder” in >4 years. it’ll cost you six figures.
  11. 11. “be a coder” in 10,000 hours, or 10 years, whichever comes last.
  12. 12. meanwhile…
  13. 13. We’ll let you “be a coder” in 12 weeks, give or take.
  14. 14. I’ve been working on it, too @noahbrier @stueccles @jondahl @rachelsklar @aviflombaum
  15. 15. the truth is, you learn to code by coding
  16. 16. Which starts out feeling like this.
  18. 18. but then you decide to turn hard core. Start fast. Go hard. Stop.
  19. 19. so how’d that work out?
  20. 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 • • keynote • pixelmator • slideshare • youtube • skype • AddThis • LocomotiveCMS • sirtrevor.js • mini-magick • carrierwave • flexslider • jQuery • uistencils
  21. 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. 22. and maybe that’s a little scary.
  23. 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. 24. but then we meet the stack trace
  25. 25. 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?
  26. 26. 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.”
  27. 27. stack overflow == terminus?
  28. 28. For novices & amateurs, 
 “coder” is a moving target.
  29. 29. ‘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.
  30. 30. so what?
  31. 31. technology is feeling magical again.
  32. 32. but it’s also scaring the shit out of people.
  33. 33. whose side are you on?
  34. 34. okay, let’s take a deep breath.
  35. 35. everyone should still learn to code, right?
  36. 36. but who is everybody? 
 and how much do i really have to learn?
  37. 37. most code schools are teaching 
 most amateurs to be 
 (at most) conversational coders.
  38. 38. 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.
  39. 39. what about “strategy inequality”
  40. 40. forget about being an expert. be a problem-solver. become a customer-centric coder.
  41. 41. we’re all in this together.
  42. 42. meet the new product team. Conversational Coders Customer-Centric Coders
  43. 43. how do we get ready?
  44. 44. for starters, keep the good intentions & match it with good behavior
  45. 45. “code should make you happy”
  46. 46. “Don’t code alone”
  47. 47. clarity counts.
  48. 48. more pseudo-code*. more sketching.! * not the same as sudo code. 
 which is possibly a lesson i learned the hard way.
  49. 49. empty readme
  50. 50. this is also a metaphor For constructive criticism. For providing context to your code. For not preferring RTFM to RTFC. empty readme
  51. 51. just write. then leave it. read it aloud. edit. kill your darlings. This applies to writing code, too.
  52. 52. 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.
  53. 53. who are you optimizing for? You have three customers. Your product team. Your community (which isn’t all experts). Your end user.
  54. 54. who are we designing for?
  55. 55. it’s complicated.
  56. 56. so then what?
  57. 57. 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.
  58. 58. when we’re all coders, we can all be awesome. Conversational Coders Customer-Centric Coders Awesome Product Teams Making 
 Awesome Products
  59. 59. Challenge Accepted
  60. 60. what’s next? @farrahbostic