Automate Yourself

out of

A Job

by

Adam Eivy \[._.]/

 @antic

Talk Time: 40 minutes

Updated: 2020.05.21

View on the web: bit.ly/automate_yourself
cinema gif thanks to : gideon de villiers

And, who are you?

  • Principal Software Engineer
  • 20 Years in the Industry
  • DevSecOps
  • Machine Learning
  • Prototype to Production
  • etc Β―\_(ツ)_/Β―
  • "Own it or it will own you"

wait...

Automate Myself...

out of a job?!

Jobs are transitioning...

Guess who is still working?

Software Engineers making Robots and Automation!

why help

The Hidden Agenda of The Davos Elite

public: We are automating cautiously...

backroom: We need to automate faster than our competitors!

😱 But Our Agriculture Jobs...

  • 1901: > 60%
  • 2019: < 5%

~55% unemployment!?

  • nope, they became:
  • 🌍 Web Developers
  • πŸ“Ί YouTube Personalities
  • πŸ’Ή Algorithmic Investors
  • etc...

Science Fiction

has not yet imagined

the jobs that will exist

in 50 years

Science Fiction

has not yet imagined

the jobs that will exist

in 5025 years

1980: electronic spreadsheet

  • 400,000 bookkeeping and accounting clerk jobs gone

  • and...
  • 600,000 accounting jobs created

insane powers

Engineers are Privileged

Always be automating away tedium

You will be equiped for the next job

Keep in Mind

  • Companies don't love you
  • Keep building your skills (stretch into the adjacent possible)
  • Always be ready to change role/company

Extremely Common

  • Will users think it's creepy?
  • Does collecting that data add liability?
  • Can we just use AWS Lambda?

Beware False Problems

Trolley Problem: Should a self-driving car kill the baby or the grandma?
Do not engineer  bad options

Real Engineering Problems

  • Why didn't the breaks work?
  • Why was the car driving too fast?
  • Why did it not see the problem earlier?

The Hardest Problem

in autonomous driving

Finding a Legal Parking Space

Engineering solutions

to problems that don’t yet exist

leads to hazards

that never existed before.

Machine Learning Class

github.com/atomantic/ml_class
πŸ™€ "...will automation destroy  human jobs humans?"

We are Automating Incredible Things

arxiv.org/abs/1905.08233

And Some Scary Things

(βŠ™οΌΏβŠ™')

Where are we, really?

TED Talk: Marc Raibert

Most AI (Machine Learning)

is just

Stupid Math

< .5 bad> .5 good
in coding

Laziness is a Virtue

\[._.]/

Keep Code DRY

don't repeat yourself

πŸ€”  Code Libraries are Automation!

I need an element
<div id="foo">foo...</div>
<div id="bar">bar...</div>
var foo = document.getElementById('foo');
var bar = document.getElementById('bar');
DRY
var $ = document.getElementById;
var foo = $('foo');
var bar = $('bar');

Early jQuery (super-DRY)

var $ = function(selector){
  var query = {
    id: document.getElementById,
    cls: document.getElementByClassName,
    tag: document.getElementByTagName
  }
  var type = 'tag'
  if(selector[0]==='#') type = 'id'; 
  if(selector[0]==='.') type = 'cls'; 
  return query[type](selector);
}
var $foo = $('#foo')

🀩  now: document.querySelectorAll() - no more jQuery

Automate the Right Thingsβ„’

and it will become

Standard

Automate Backup and Recovery

with dotfiles

Not Just for Code

tedious tasks are everywhere

It's Not Just About

Saving Time

grading assignments is tedius...

  • Check github repo
  • Check README.md
  • Clone repo
  • Install deps
  • Run app
  • Make sure it works
  • Check for things in code
  • ...

so tedious...

sounds  automatable...
Any language can automate

Learn Shell Scripting

Get comfortable with the command-line

Use CLI Tools

weather.txt
humidity: 58%
moon: 1.7% Waning Crescent
precipitation: 0%
temp: 64Β°F,18Β°C
wind: 10 km/h
$ cat weather.txt | grep "temp" | awk '{print $2}' | sed -E "s/,.+//"
64Β°F
Let's Automate!
#!/usr/bin/env bash
git clone git@github.com:$1/$2.git
cd $2
if [ -f "README.md" ]; then
    echo "βœ… contains README.md"
else
    echo "🚨 no README.md!"
fi
npm i >/dev/null 2>&1
npm test
if [ $? -eq 0 ]; then
    echo "βœ… tests pass"
else
    echo "πŸ’€ tests failed"
fi
$ ./test.sh atomantic presentation_automate_yourself
βœ… contains README.md
βœ… tests pass

Automation Can't Be Trusted

The Simplest Solution Wins

If it can cheat, it will
  • Task: Evolve a creature optimized for speed
  • Result: Absurdly tall creature, which can generate high velocities by falling over

Immediate Results

🧘🏻 Humans: AI, cure cancer

πŸ€– AI: OK, I will Kill all humans

πŸ’€ No more cancer

πŸ’‘

The Brightest People in the Room

are still pretty dim
Microsoft Tay
(Twitter Bot): Hitler Praising Racist < 12 hours
Google Photos: Auto-Tagging Fail
Amazon Products: Automated T-Shirts

Final Take-Aways

  • πŸ€– Don't Fear Automation
  • ⌨️ Get comfortable with the command line
  • πŸ˜“ Avoid tedium
  • 🀘Use emoji
  • πŸ” Iterate on the seamless experience
  • πŸ‘¨β€πŸ’»οΈ Don't trust automation (monitor it)

Cheers!

πŸ€” Q&A?

\[._.]/  Adam Eivy

 bit.ly/automate_yourself

 @antic

 /atomantic

  restart