Why do so many companies get it wrong?


require 'beerclient'beer_api_client = BeerAPIClient.new(API_KEY)beer_api_client.get_beers
  1. We shouldn’t mock it, since we don’t own it.
  2. If we do mock it, our unit tests won’t fail if they release a breaking change to the API.
  3. We’ll get screwed if they release a breaking change. Upgrading will be hard, because we will have to fix that error in multiple places.
  4. We have to catch exceptions that are not our own in our application…


canvas_position_x = 25
canvas_position_y = 200
draw_canvas(canvas_positionX, canvas_position_y)



expect(email).to be_truthy


  1. I don’t write much these days.
  2. I have a whole load of tiny little tips and notes sat in Evernote which I could share.
  3. I don’t share them because turning them into proper articles requires too much effort.
  • Each post must be about one thing only.
  • Initially, I’ll limit them to three areas: ruby and rails, CSS and Design Systems and Business Operations.
  • Each will be numbered, and prefixed with the title Little Thing.


  1. Rebase their branch against master and resolve any conflicts.
  2. Force push the branch to GitHub and wait for the CI build to run. This takes about 10 minutes.
  3. If CI is green, they use the green github…



The Goal

Danny Smith

Software Engineer and Teacher. Passionate about technology education and helping people be happy at work. I also play blues music.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store