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

Computer Science vs Software Engineering

Computer Science vs Software Engineering

Sometimes the real world isn't black or white. Choosing the right tool requires context and trade offs. This was a lightning talk I gave for New Relic at Railsconf 2016.

Mike Perham

May 04, 2016
Tweet

More Decks by Mike Perham

Other Decks in Programming

Transcript

  1. Software Engineering • Welcome to the Real World™ • Cost

    of: • Maintenance • Operations • Getting Started • Performance, scalability, stability
  2. Zookeeper • Pros • Formally correct Paxos consensus algorithm •

    Distributed, so 100% uptime (theoretically!)
  3. Redis • Pros • Easy to get started • Fast

    and flexible • Widely available as SaaS • Cheap to operate
  4. Tony's View • Square • Deals with lots of $$$$$

    • 100% uptime critical • JVM a positive • Already have a big, experienced ops team • "Use Zookeeper"
  5. Mike's View • Sidekiq • Customers are from 1- to

    1000-person companies • JVM can be unwelcome to some Rubyists • Many customers == NoOps • Higher operational costs == unhappy customers
  6. Reality • No one is forced to use any API*

    • App developers decide what's important to them • Context is key
  7. Pro Tips • Advice isn't helpful without considering context •

    Empathy improves your advice and makes you a better engineer