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

Working Compassionately with Legacy Code, RubyC...

Amar Shah
November 16, 2015

Working Compassionately with Legacy Code, RubyConf 2015

Your code is your partner. It struggles against you, but also alongside you. Your code comes to you as it is, not as you wish it were. Like a real-life partner, it has a history that you’ll never fully know; like a real-life child, it bears your imprint, but it is wild, unruly, and fiercely self-sovereign. You’ll never stop working with code that’s hard to figure out or difficult to change. But this code, this stubborn creature, is entrusted to you. Let go of your anger at the developer who wrote it. Let go of the terror of being blamed for its unforeseeable regressions. Let go--and find joy.

Amar Shah

November 16, 2015
Tweet

Other Decks in Technology

Transcript

  1. • no automated tests • end-of-life Rails and Ruby versions

    • 1500-line models, 300-line methods • vulnerable to SQL injection • authorization loopholes
  2. * d51a256 - asdf * 56b5cfa - asdf * c12135f

    - adsf * 253e4ee - asdf * af9120b - asdf * 6b4a7b3 - asdf * a0b93d5 - asdf * ecb1fa5 - asdf * 4b19cda - asdf * 58cc3f7 - adsf * 7ffd540 - asdf * 6942f4f - adf * 8823caf - adsf * 9843c03 - adf * 3695f76 - adf * 4cb1131 - adf * 182430f - asdf * f2e9bd4 - adsf * ef5c68d - adsf * d386229 - adsf * 357b445 - adf git commit -am asdf
  3. Pomodoro Kitchen Timer for Action Logging by Andy Roberts Flickr

    CC BY 2.0 TDD Hat by George Dinwiddie blog.gdinwiddie.com CC BY-SA 3.0 Productivity: Getting Personal Kanban to Done by Dennis Hamilton Flickr CC BY 2.0
  4. rm -rf / by Zakwitnij!pl Ejdzej & Iric Flickr CC

    BY-SA 2.0 Self portrait - Flamethrowers, facepaint and fantoms by MattysFlicks Flickr CC BY 2.0
  5. Darlin Do You Gamble by Thomas Hawk Flickr CC BY-NC

    2.0 Reject. by Lucas Moratelli Flickr CC BY-NC 2.0
  6. You need to know all of this —> (sorry you

    can’t read it) Rails Competencies Poster by Code Fellows, LLC CC BY-NC-SA 3.0