Slide 1

Slide 1 text

1 PAGE NUMBER What can we learn with JavaScript Fatigue? github: lucasfcosta twitter: lfernandescosta L U C A S F C O S T A . C O M

Slide 2

Slide 2 text

2 PAGE NUMBER github: lucasfcosta twitter: lfernandescosta L U C A S F C O S T A . C O M

Slide 3

Slide 3 text

3 PAGE NUMBER github: lucasfcosta twitter: lfernandescosta L U C A S F C O S T A . C O M

Slide 4

Slide 4 text

PAGE NUMBER 4 LUCASFCOSTA.COM

Slide 5

Slide 5 text

PAGE NUMBER LUCASFCOSTA.COM 5 Realities of your industry 101

Slide 6

Slide 6 text

PAGE NUMBER REALITIES OF YOUR INDUSTRY 101 6 LUCASFCOSTA.COM Software solves business problems Don't Call Yourself A Programmer, And Other Career Advice - Patrick McKenzie

Slide 7

Slide 7 text

REALITIES OF YOUR INDUSTRY 101 PAGE NUMBER LUCASFCOSTA.COM 7 You are not paid to write code (sorry for that)

Slide 8

Slide 8 text

PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 8 Technology is not a goal

Slide 9

Slide 9 text

PAGE NUMBER LUCASFCOSTA.COM 9 REALITIES OF YOUR INDUSTRY 101 versus Revenue Cost All that matters™

Slide 10

Slide 10 text

PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 10

Slide 11

Slide 11 text

PAGE NUMBER LUCASFCOSTA.COM 11 Realities of your industry 101 REALITIES OF YOUR INDUSTRY 101

Slide 12

Slide 12 text

PAGE NUMBER LUCASFCOSTA.COM 12 Realities of your industry 101 REALITIES OF YOUR INDUSTRY 101

Slide 13

Slide 13 text

PAGE NUMBER LUCASFCOSTA.COM 13 Realities of capitalism 101 REALITIES OF YOUR INDUSTRY 101

Slide 14

Slide 14 text

14 PAGE NUMBER 64% 36% Coding Design Some Experience With Automated Aids To The Design Of Large-Scale Reliable Software - 1975 Occurrence of Errors REALITIES OF YOUR INDUSTRY 101 LUCASFCOSTA.COM

Slide 15

Slide 15 text

PAGE NUMBER LUCASFCOSTA.COM 15 REALITIES OF YOUR INDUSTRY 101 In the NASA Apollo project about 73% of all errors were design errors. HAMILTON, M., AND ZELDIN, S. "Higher order software--a methodology for defining software,"

Slide 16

Slide 16 text

16 PAGE NUMBER “ Louis Srygley Without requirements or design, programming is the art of adding bugs to an empty text file. REALITIES OF YOUR INDUSTRY 101 LUCASFCOSTA.COM

Slide 17

Slide 17 text

PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 17 JS These things exist to solve problems.

Slide 18

Slide 18 text

PAGE NUMBER 18 JS Fatigue happens when people use tools they don't need to solve problems they don't have. REALITIES OF YOUR INDUSTRY 101 LUCASFCOSTA.COM

Slide 19

Slide 19 text

PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 Donald Knuth “ 19 "Premature optimization is the root of all evil"

Slide 20

Slide 20 text

PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 20 Remember this?

Slide 21

Slide 21 text

PAGE NUMBER LUCASFCOSTA.COM 21 REALITIES OF YOUR INDUSTRY 101 analysis paralysis

Slide 22

Slide 22 text

PAGE NUMBER LUCASFCOSTA.COM 22 REALITIES OF YOUR INDUSTRY 101 analysis paralysis

Slide 23

Slide 23 text

PAGE NUMBER 23 JavaScript

Slide 24

Slide 24 text

PAGE NUMBER 24 A bunch of impressive numbers™ LUCASFCOSTA.COM JAVASCRIPT

Slide 25

Slide 25 text

PAGE NUMBER LUCASFCOSTA.COM JAVASCRIPT 25 482,971 packages on

Slide 26

Slide 26 text

PAGE NUMBER LUCASFCOSTA.COM JAVASCRIPT 26 ~479 packages/day

Slide 27

Slide 27 text

27 PAGE NUMBER The number of people born daily in Nebraska JAVASCRIPT 6.5 times LUCASFCOSTA.COM

Slide 28

Slide 28 text

PAGE NUMBER 28 LUCASFCOSTA.COM JAVASCRIPT

Slide 29

Slide 29 text

PAGE NUMBER LUCASFCOSTA.COM 29 ? But how did that happen? JAVASCRIPT

Slide 30

Slide 30 text

JAVASCRIPT PAGE NUMBER LUCASFCOSTA.COM 30 Transpilers

Slide 31

Slide 31 text

JAVASCRIPT PAGE NUMBER LUCASFCOSTA.COM 31 Module Bundlers

Slide 32

Slide 32 text

JAVASCRIPT PAGE NUMBER LUCASFCOSTA.COM 32 Front-end Frameworks

Slide 33

Slide 33 text

PAGE NUMBER “ 33 Abstractions are necessary to reduce the cognitive load of how things work so you can focus on creating. Eric Clemmons LUCASFCOSTA.COM JAVASCRIPT

Slide 34

Slide 34 text

PAGE NUMBER 34 The web platform moves too fast LUCASFCOSTA.COM JAVASCRIPT

Slide 35

Slide 35 text

PAGE NUMBER 35 More tools mean more choices LUCASFCOSTA.COM JAVASCRIPT

Slide 36

Slide 36 text

PAGE NUMBER LUCASFCOSTA.COM 36 The Unix Philosophy JAVASCRIPT

Slide 37

Slide 37 text

PAGE NUMBER LUCASFCOSTA.COM 37 JAVASCRIPT Do one thing, and do it well.

Slide 38

Slide 38 text

PAGE NUMBER LUCASFCOSTA.COM 38 Do one thing, and do it well. JAVASCRIPT

Slide 39

Slide 39 text

PAGE NUMBER LUCASFCOSTA.COM 39 JAVASCRIPT Write programs that work together.

Slide 40

Slide 40 text

PAGE NUMBER 40 Natural Selection LUCASFCOSTA.COM JAVASCRIPT

Slide 41

Slide 41 text

M A R K 0 3 P R E S E N T A T I O N PAGE NUMBER 41 Our tools are not new LUCASFCOSTA.COM

Slide 42

Slide 42 text

PAGE NUMBER 42 These things are not new LUCASFCOSTA.COM JAVASCRIPT

Slide 43

Slide 43 text

PAGE NUMBER 43 These things are not new LUCASFCOSTA.COM JAVASCRIPT E4X JSX

Slide 44

Slide 44 text

PAGE NUMBER 44 These things are not new LUCASFCOSTA.COM JAVASCRIPT

Slide 45

Slide 45 text

PAGE NUMBER 45 These things are not new grunt npm webpack LUCASFCOSTA.COM JAVASCRIPT

Slide 46

Slide 46 text

PAGE NUMBER 46 These things are not new LUCASFCOSTA.COM JAVASCRIPT Symbian
 WRT

Slide 47

Slide 47 text

PAGE NUMBER 47 How to deal with it

Slide 48

Slide 48 text

PAGE NUMBER LUCASFCOSTA.COM 48 HOW TO DEAL WITH IT you don’t need to know everything

Slide 49

Slide 49 text

PAGE NUMBER LUCASFCOSTA.COM 49 start from the beginning HTTP CompSci
 Fundamentals HOW TO DEAL WITH IT

Slide 50

Slide 50 text

PAGE NUMBER LUCASFCOSTA.COM 50 HOW TO DEAL WITH IT when learning, avoid boilerplates

Slide 51

Slide 51 text

PAGE NUMBER LUCASFCOSTA.COM 51 HOW TO DEAL WITH IT don’t be too attached to a single technology

Slide 52

Slide 52 text

PAGE NUMBER LUCASFCOSTA.COM 52 HOW TO DEAL WITH IT dig deep

Slide 53

Slide 53 text

PAGE NUMBER LUCASFCOSTA.COM 53 HOW TO DEAL WITH IT What I cannot create I do not understand. Richard Feynman

Slide 54

Slide 54 text

PAGE NUMBER LUCASFCOSTA.COM 54 HOW TO DEAL WITH IT don’t get ahead of yourself

Slide 55

Slide 55 text

PAGE NUMBER LUCASFCOSTA.COM 55 engineering software development HOW TO DEAL WITH IT

Slide 56

Slide 56 text

PAGE NUMBER 56 This is Barcelona. LUCASFCOSTA.COM HOW TO DEAL WITH IT

Slide 57

Slide 57 text

PAGE NUMBER 57 This is Barcelona as seen from the sky. LUCASFCOSTA.COM HOW TO DEAL WITH IT

Slide 58

Slide 58 text

PAGE NUMBER 58 Be a town planner LUCASFCOSTA.COM HOW TO DEAL WITH IT

Slide 59

Slide 59 text

PAGE NUMBER 59 Software is flexible. Engineering is not. HOW TO DEAL WITH IT

Slide 60

Slide 60 text

60 PAGE NUMBER We can break things We spend more time designing and thinking than building We can build as many times as we want We can always change things Our build time is compile time. HOW TO DEAL WITH IT

Slide 61

Slide 61 text

PAGE NUMBER 61 LET IT GROW ADAPT AS NEEDED Be a town planner. LUCASFCOSTA.COM HOW TO DEAL WITH IT

Slide 62

Slide 62 text

PAGE NUMBER LUCASFCOSTA.COM HOW TO DEAL WITH IT “ 62 Abstractions only work well in the right context, and the right context develops as the system develops. Sam Koblenski

Slide 63

Slide 63 text

PAGE NUMBER LUCASFCOSTA.COM 63 HOW TO DEAL WITH IT strive to be lazy

Slide 64

Slide 64 text

PAGE NUMBER LUCASFCOSTA.COM 64 HOW TO DEAL WITH IT talk to people

Slide 65

Slide 65 text

PAGE NUMBER LUCASFCOSTA.COM 65 HOW TO DEAL WITH IT build things

Slide 66

Slide 66 text

PAGE NUMBER LUCASFCOSTA.COM 66 HOW TO DEAL WITH IT solve problems

Slide 67

Slide 67 text

PAGE NUMBER LUCASFCOSTA.COM 67 solve problems thank you L U C A S F C O S T A . C O M github: lucasfcosta twitter: lfernandescosta

Slide 68

Slide 68 text

68 PAGE NUMBER Related Material/References THANK YOU! • Don't Call Yourself A Programmer, And Other Career Advice (Highly Recommended)
 Patrick McKenzie
 http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ • The Cost of Abstraction
 Sam Koblenski
 http://sam-koblenski.blogspot.com/2014/07/the-cost-of-abstraction.html • The Deep Roots of Javascript Fatigue
 Calvin French-Owen
 https://segment.com/blog/the-deep-roots-of-js-fatigue/ • JavaScript Fatigue
 Eric Clemmons
 https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4 • JavaScript Fatigue Fatigue - Dr. Axel Rauschmayer
 http://2ality.com/2016/02/js-fatigue-fatigue.html • JavaScript Fatigue, AMP, and Paths.js - JS Party Episode #3
 https://changelog.com/jsparty/3 Building Microservices (Book)
 Sam Newman