SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Downloaden Sie, um offline zu lesen
Chris Heilmann (codepo8), Halfstack, London, November 2017
Chris Heilmann @codepo8
twitter.com/codepo8/status/922380136531537921
Machine Learning and AI is hot.
Automation worries everybody
http://wumo.com/wumo/2017/10/28
nytimes.com/2017/11/05/technology/machine-learning-artificial-intelligence-ai.html
The heat is on…
Blanket solution:
Everybody must learn
how to code.
Let’s rewind for a bit…
The Future of Programming
worrydream.com/dbx
Bret Victor
@worrydream
To me, coding was a
demo scene term.
Coding in the demo scene:
Programming in a
creative fashion,
pushing the
boundaries of limited
environments
+ performance
+ cleverness
+ inventiveness
- maintainability
- readability
Coder
Programmer
Developer
Engineer
Creator
Maker
+ maintainability
+ readability
~ cleverness
~ performance
- inventiveness
The curious case of
Benjamin a Button
Story time:
Professional development:
“Wow, how did you do that?”
“Have you finished this?”
to:
Moving from
Personalised development
environment, tooling and
code snippets.
The developer level-up:
We’re good at
inventing and
advocating best
practices…
Less so at using them…
Why is that?
People are people…
People don’t always upgrade
like we’d love them to. This
means we need support old,
terrible ideas.
The legacy problem:
Browsers have to favour the
end user and protect them
from programmer mistakes.
Lazy developers see that as a
carte blanche.
The protect the user problem:
If how we do things isn’t as
appreciated as how fast it is
done, we find ways to
automate our work.
The development appreciation gap:
Writing Perl/CGI (1997 edition)
1. Get a client request
2. Go to Matt’s Script Archive
3. Download something
4. Change things until it resembles
what the client wants and stops
breaking with a 500 (chmod 777
if in doubt)
5. Invoice, hide under rock
How do we find
appreciation?
We talk on dedicated
channels to those “in the
know”.
Fixing code…
1. Create an available version of your code
(codepen, gist, jsbin, jsfiddle…)
2. Go to Stackoverflow and post your problem
3. Abandon all hope of getting a straight answer
4. Get well versed in filtering out feedback on
various levels of dysfunctional human
communication
5. Find the answer in the maelstrom of “just use $x”
or “well, actually…”
Fixing code (pro edition)
1. Go to Stackoverflow
2. Describe your coding problem with an
obviously wrong solution and call it a best
practice
3. Get popcorn
4. Follow the moshpit of ideas and biases
5. Find the one good solution that crops up
We’re better at doing
than at explaining
needs and values.
How do we find
happiness?
We collect and
describe reusable
code and patterns.
We package reusable code
and patterns up in
frameworks, libraries, tooling
and processes.
The digital hoarding scenario:
Generic, reusable solutions
are bigger codebases and
have more computational
overhead.
The digital hoarding problem:
More tools and processes to
strip the overhead before
shipping to the end user.
The digital hoarding solution:
Have we raised the
bar too high for
people starting new?
twitter.com/ben_howdle/status/930012526628110337
twitter.com/TheLarkInn/status/930320292399820800
Are we teaching
ways that we know
and worked for us,
but are outdated?
We have amazing tooling
and helpers at our
disposal!
Browsers come with
excellent development and
debugging tools.
Editors are open,
extensible and
integrate with our
workflows and
environments
vscodecandothat.com
We have
collaborative
editing and
education tools.
code.visualstudio.com/blogs/2017/11/15/live-share
codepen.io
jsbin.com
glitch.com
Linting and validation
tools tell us what to
fix – even as a
continuous
integration step.
sonarwhal.com
Everything counts in large amounts
Our users* have much more
capable devices with higher
computation power than in
the past.
A changed world:
* The affluent and local ones our investors and our sales and marketing departments care about.
The technologies we have at
our disposal are complex and
have higher computation
demands.
A changed world:
We now have a larger
distance between code
creation and execution, with
optimisation steps in between.
Rolling with the punches:
The business demands on our
creations are about fast
delivery and constant
innovation. This demands re-
use and automation.
Rolling with the punches:
With increased complexity
and demand, any software
product will sooner or later
use pre-built components.
The natural software evolution:
More tools and processes
to strip the overhead
before shipping to the end
user.
The digital hoarding solution:
This flows over into the
design space. Style
guides, pattern libraries.
The problem is
that humans are
sloppy and clumsy.
This increases with
boredom and a
demand to do
repetitive tasks.
This is where programs
and automated tools
shine.
autodraw.com
quickdraw.withgoogle.com
letsenhance.io
letsenhance.io
airbnb.design/sketching-interfaces
We built an initial prototype using about a
dozen hand-drawn components as training
data, open source machine learning
algorithms, and a small amount of
intermediary code to render components
from our design system into the browser.
“
We built an initial prototype using about a dozen hand-drawn
components as training data, open source machine learning
algorithms, and a small amount of intermediary code to render
components from our design system into the browser. We were
pleasantly surprised with the result:
airbnb.design/sketching-interfaces
We built an initial prototype using about a
dozen hand-drawn components as training
data, open source machine learning
algorithms, and a small amount of
intermediary code to render components
from our design system into the browser.
“
airbnb.design/sketching-interfaces
Questioning the dogma:
Everybody must learn
how to code.
Questioning the dogma:
Everybody must learn
how to solve problems.
twitter.com/idiot_girl/status/930567111868669952
Moving from the
“how” to the “why”.
twitter.com/kurtiskemple/status/930419045769318400
Let’s focus more on
the human, and less
on trying to be
machines. We won’t
win this race.
Chris Heilmann
@codepo8

Weitere ähnliche Inhalte

Was ist angesagt?

7 crazy tips that will help you
7 crazy tips that will help you7 crazy tips that will help you
7 crazy tips that will help you
Jessica Wilson
 
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon Prague
Emma Jane Hogbin Westby
 
Experiências de um Egresso do BCC como Consultor em Desenvolvimento de Software
Experiências de um Egresso do BCC como Consultor em Desenvolvimento de SoftwareExperiências de um Egresso do BCC como Consultor em Desenvolvimento de Software
Experiências de um Egresso do BCC como Consultor em Desenvolvimento de Software
Duda Dornelles
 

Was ist angesagt? (20)

Design 101
Design 101Design 101
Design 101
 
7 crazy tips that will help you
7 crazy tips that will help you7 crazy tips that will help you
7 crazy tips that will help you
 
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon Prague
 
AWS IAM
AWS IAMAWS IAM
AWS IAM
 
Managing and evolving JavaScript Code
Managing and evolving JavaScript CodeManaging and evolving JavaScript Code
Managing and evolving JavaScript Code
 
Become a better UX designer through code
Become a better UX designer through codeBecome a better UX designer through code
Become a better UX designer through code
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
The Death of Microservices
The Death of MicroservicesThe Death of Microservices
The Death of Microservices
 
Six reasons to learn JavaScript
Six reasons to learn JavaScriptSix reasons to learn JavaScript
Six reasons to learn JavaScript
 
boots2nerd
boots2nerdboots2nerd
boots2nerd
 
Asynchronous Decision Making - FOSS Backstage 2017
Asynchronous Decision Making - FOSS Backstage 2017Asynchronous Decision Making - FOSS Backstage 2017
Asynchronous Decision Making - FOSS Backstage 2017
 
Introducing CS students to open source
Introducing CS students to open sourceIntroducing CS students to open source
Introducing CS students to open source
 
Architecture @ Appknox
Architecture @ AppknoxArchitecture @ Appknox
Architecture @ Appknox
 
Open NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersOpen NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and matters
 
Test Driven Development: More Development Than Ever
Test Driven Development: More Development Than EverTest Driven Development: More Development Than Ever
Test Driven Development: More Development Than Ever
 
BangML Meetup 1: The Path to Becoming an Machine Learning Expert
BangML Meetup 1: The Path to Becoming an Machine Learning ExpertBangML Meetup 1: The Path to Becoming an Machine Learning Expert
BangML Meetup 1: The Path to Becoming an Machine Learning Expert
 
Experiências de um Egresso do BCC como Consultor em Desenvolvimento de Software
Experiências de um Egresso do BCC como Consultor em Desenvolvimento de SoftwareExperiências de um Egresso do BCC como Consultor em Desenvolvimento de Software
Experiências de um Egresso do BCC como Consultor em Desenvolvimento de Software
 
Tf byowwhc
Tf byowwhcTf byowwhc
Tf byowwhc
 
Tf byowwhc
Tf byowwhcTf byowwhc
Tf byowwhc
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)
 

Ähnlich wie Sacrificing the golden calf of "coding"

564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010
Stephanie Magleby
 
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Skills Matter
 
Introducción al Machine Learning Automático
Introducción al Machine Learning AutomáticoIntroducción al Machine Learning Automático
Introducción al Machine Learning Automático
Sri Ambati
 
Data Science Accelerator Program
Data Science Accelerator ProgramData Science Accelerator Program
Data Science Accelerator Program
GoDataDriven
 

Ähnlich wie Sacrificing the golden calf of "coding" (20)

Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
Machine Learning for Designers - DX Meetup Basel
Machine Learning for Designers - DX Meetup BaselMachine Learning for Designers - DX Meetup Basel
Machine Learning for Designers - DX Meetup Basel
 
564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010
 
Algorithm Marketplace and the new "Algorithm Economy"
Algorithm Marketplace and the new "Algorithm Economy"Algorithm Marketplace and the new "Algorithm Economy"
Algorithm Marketplace and the new "Algorithm Economy"
 
SXSW After Party
SXSW After PartySXSW After Party
SXSW After Party
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
 
Software craftsmanship - Imperative or Hype
Software craftsmanship - Imperative or HypeSoftware craftsmanship - Imperative or Hype
Software craftsmanship - Imperative or Hype
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
 
Data science tools of the trade
Data science tools of the tradeData science tools of the trade
Data science tools of the trade
 
Introducción al Machine Learning Automático
Introducción al Machine Learning AutomáticoIntroducción al Machine Learning Automático
Introducción al Machine Learning Automático
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
How to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentHow to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App Development
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
 
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
 
Data Science Accelerator Program
Data Science Accelerator ProgramData Science Accelerator Program
Data Science Accelerator Program
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
 
Adopting Data Science and Machine Learning in the financial enterprise
Adopting Data Science and Machine Learning in the financial enterpriseAdopting Data Science and Machine Learning in the financial enterprise
Adopting Data Science and Machine Learning in the financial enterprise
 
Learning Python … A Tool for Data Science, Machine Learning, and Computationa...
Learning Python … A Tool for Data Science, Machine Learning, and Computationa...Learning Python … A Tool for Data Science, Machine Learning, and Computationa...
Learning Python … A Tool for Data Science, Machine Learning, and Computationa...
 

Mehr von Christian Heilmann

The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 

Mehr von Christian Heilmann (20)

Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 
Breaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfBreaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconf
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and Microsoft
 
Supercharging Public Speaking
Supercharging Public SpeakingSupercharging Public Speaking
Supercharging Public Speaking
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for Humans
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017
 

Kürzlich hochgeladen

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 

Kürzlich hochgeladen (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 

Sacrificing the golden calf of "coding"