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

Automation Automation Automation - ScotlandPHP

Automation Automation Automation - ScotlandPHP

A good rule of thumb to have as a developer is that if you have to do something three times or more, you should automate it. Imagine that a task takes you a minute to do, twice a day. Now imagine that you could write something that does it for you, but it would take an hour. Initially, you'll have lost an hour, but after the first month you'll be breaking even, as you've saved those two minutes per day. Then after the second month, you've essentially gained a free hour.

Automation is a developer's best friend. Some things are easier to automate than others, but almost anything can be automated. In this talk, we'll take a look at what can be automated, what tools are available to help us and crucially, *if* we should automate it. Surprisingly, sometimes the answer to the question "should we?" is "no".

Michael Heap

October 29, 2016
Tweet

More Decks by Michael Heap

Other Decks in Technology

Transcript

  1. 1. What is automation? 2. A step by step guide

    to automation 3. Making it institutionalised 4. Thinking outside the box 5. I'm convinced! Let's automate 6. Useful tools
  2. 0. XKCD 1. What is automation? 2. A step by

    step guide to automation 3. Making it institutionalised 4. Thinking outside the box 5. I'm convinced! Let's automate 6. Useful tools
  3. 1. What is automation? 2. A step by step guide

    to automation 3. Making it institutionalised 4. Thinking outside the box 5. I'm convinced! Let's automate 6. Useful tools
  4. #1 Reason People... Have good intentions, but no time Don't

    write tests Don't run tests Don't write/read documentation
  5. #1 Reason People... Have good intentions, but no time Don't

    write tests Don't run tests Don't write/read documentation Are not deterministic
  6. No

  7. 1. What is automation? 2. A step by step guide

    to automation 3. Making it institutionalised 4. Thinking outside the box 5. I'm convinced! Let's automate 6. Useful tools
  8. $ git checkout staging $ git pull origin staging $

    git merge feature/new-awesomeness $ git push origin staging $ cap staging deploy:full
  9. $ git checkout staging $ git pull origin staging $

    git merge feature/new-awesomeness $ git push origin staging $ cap staging deploy:full
  10. 1. What is automation? 2. A step by step guide

    to automation 3. Making it institutionalised 4. Thinking outside the box 5. I'm convinced! Let's automate 6. Useful tools
  11. 1. What is automation? 2. A step by step guide

    to automation 3. Making it institutionalised 4. Thinking outside the box 5. I'm convinced! Let's automate 6. Useful tools
  12. Us

  13. Us

  14. 1. What is automation? 2. A step by step guide

    to automation 3. Making it institutionalised 4. Thinking outside the box 5. I'm convinced! Let's automate 6. Useful tools
  15. 1. What is automation? 2. A step by step guide

    to automation 3. Making it institutionalised 4. Thinking outside the box 5. I'm convinced! Let's automate 6. Useful tools
  16. Non-programmers don’t trust computers to do something they can do

    Programmers don’t trust themselves to do something that a computer can do - @djcoreynolan