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

Computer Science vs Software Engineering

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

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.

Avatar for Mike Perham

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