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

What can we learn with JavaScript Fatigue? - FrontEnd United

What can we learn with JavaScript Fatigue? - FrontEnd United

This talk has been presented at FrontEnd United, in Utrecht - The Netherlands on 02/06/2018.

5a3b0043a07f45bba968c22b7e7bf296?s=128

Lucas Fernandes da Costa

June 02, 2018
Tweet

Transcript

  1. 1 PAGE NUMBER

  2. 2 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
  3. 3 PAGE NUMBER github: lucasfcosta twitter: lfernandescosta L U C

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

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

    A S F C O S T A . C O M
  6. PAGE NUMBER 6 LUCASFCOSTA.COM

  7. PAGE NUMBER 7 Realities of your industry 101

  8. PAGE NUMBER REALITIES OF YOUR INDUSTRY 101 8 LUCASFCOSTA.COM Software

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

    are not paid to write code The less code you write, the better
  10. PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 10 Technology

    is not a goal
  11. PAGE NUMBER LUCASFCOSTA.COM 11 REALITIES OF YOUR INDUSTRY 101 versus

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

  13. PAGE NUMBER 13 Realities of your industry 101 REALITIES OF

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

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

    INDUSTRY 101 LUCASFCOSTA.COM
  16. 16 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
  17. PAGE NUMBER LUCASFCOSTA.COM 17 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,"
  18. 18 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
  19. PAGE NUMBER LUCASFCOSTA.COM 19 REALITIES OF YOUR INDUSTRY 101 Good

    design adds value faster than it adds cost. Thomas C. Gale
  20. PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 20 JS

    These things exist to solve problems.
  21. PAGE NUMBER 21 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
  22. PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 Donald Knuth

    “ 22 "Premature optimisation is the root of all evil"
  23. PAGE NUMBER LUCASFCOSTA.COM 23 REALITIES OF YOUR INDUSTRY 101 The

    purpose of software engineering is to control complexity, not to create it. Pamela Zave
  24. PAGE NUMBER 24 REALITIES OF YOUR INDUSTRY 101 The greatest

    performance improvement of all is when a system goes from not-working to working John Ousterhout
  25. PAGE NUMBER LUCASFCOSTA.COM REALITIES OF YOUR INDUSTRY 101 25 Remember

    this?
  26. PAGE NUMBER LUCASFCOSTA.COM 26 REALITIES OF YOUR INDUSTRY 101 analysis

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

    paralysis
  28. PAGE NUMBER 28 More choices
 Less satisfaction REALITIES OF YOUR

    INDUSTRY 101 LUCASFCOSTA.COM
  29. PAGE NUMBER 29 As the number of options increases, the

    costs, in time and effort, of gathering the information needed to make a good choice also increases Barry Schwartz REALITIES OF YOUR INDUSTRY 101 LUCASFCOSTA.COM
  30. PAGE NUMBER 30 Our willpower is limited REALITIES OF YOUR

    INDUSTRY 101 LUCASFCOSTA.COM
  31. PAGE NUMBER LUCASFCOSTA.COM 31 REALITIES OF YOUR INDUSTRY 101 Creative

    Slides Presentation Your willpower is like a muscle Judges would make more favorable decisions after those breaks. After a lunch break the rates of favorable decisions immediately jumps to 65% again. Dotted lines represent food breaks In the morning we started with 65% of favorable decisions and at the end of the day this rate steadily drops to zero. As time goes by, less favorable decisions occur James Clear Image by James Clear
  32. PAGE NUMBER 32 We might not be JavaScript fatigued maybe

    we’re just decision fatigued REALITIES OF YOUR INDUSTRY 101 LUCASFCOSTA.COM
  33. PAGE NUMBER 33 JavaScript REALITIES OF YOUR INDUSTRY 101 LUCASFCOSTA.COM

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

  35. PAGE NUMBER LUCASFCOSTA.COM JAVASCRIPT 35 packages on

  36. PAGE NUMBER LUCASFCOSTA.COM JAVASCRIPT 36 520,121 packages on

  37. PAGE NUMBER LUCASFCOSTA.COM JAVASCRIPT 37 ~494 packages a day

  38. PAGE NUMBER LUCASFCOSTA.COM JAVASCRIPT 38 465 a day Birth Rate

    in the Netherlands
  39. PAGE NUMBER 39 LUCASFCOSTA.COM JAVASCRIPT

  40. PAGE NUMBER 40 ? But how did that happen? JAVASCRIPT

    LUCASFCOSTA.COM
  41. JAVASCRIPT PAGE NUMBER LUCASFCOSTA.COM 41 Transpilers

  42. JAVASCRIPT PAGE NUMBER LUCASFCOSTA.COM 42 Module Bundlers

  43. JAVASCRIPT PAGE NUMBER LUCASFCOSTA.COM 43 Front-end Frameworks

  44. PAGE NUMBER “ 44 Abstractions are necessary to reduce the

    cognitive load of how things work so you can focus on creating. Eric Clemmons LUCASFCOSTA.COM JAVASCRIPT
  45. PAGE NUMBER 45 The web platform moves too fast LUCASFCOSTA.COM

    JAVASCRIPT
  46. PAGE NUMBER 46 Natural Selection LUCASFCOSTA.COM JAVASCRIPT

  47. PAGE NUMBER 47 The Unix Philosophy JAVASCRIPT LUCASFCOSTA.COM

  48. PAGE NUMBER LUCASFCOSTA.COM 48 JAVASCRIPT Do one thing, and do

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

    well. JAVASCRIPT
  50. PAGE NUMBER 50 So much complexity in software comes from

    trying to make one thing do two things. Ryan Singer
  51. PAGE NUMBER LUCASFCOSTA.COM 51 JAVASCRIPT Write programs that work together.

  52. M A R K 0 3 P R E S

    E N T A T I O N PAGE NUMBER 52 Our tools are not new LUCASFCOSTA.COM
  53. PAGE NUMBER 53 These things are not new LUCASFCOSTA.COM JAVASCRIPT

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

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

  56. PAGE NUMBER 56 These things are not new grunt npm

    webpack LUCASFCOSTA.COM JAVASCRIPT
  57. PAGE NUMBER 57 These things are not new LUCASFCOSTA.COM JAVASCRIPT

    Symbian
 WRT
  58. PAGE NUMBER 58 How to deal with it

  59. PAGE NUMBER LUCASFCOSTA.COM 59 HOW TO DEAL WITH IT you

    don’t need to know everything
  60. PAGE NUMBER LUCASFCOSTA.COM 60 REALITIES OF YOUR INDUSTRY 101 Every

    great developer you know got there by solving problems they were unqualified to solve until they actually did it. Patrick McKenzie
  61. PAGE NUMBER 61 start from the beginning HTTP CompSci
 Fundamentals

    HOW TO DEAL WITH IT LUCASFCOSTA.COM
  62. PAGE NUMBER LUCASFCOSTA.COM 62 HOW TO DEAL WITH IT don’t

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

    be defined by your stack
  64. PAGE NUMBER LUCASFCOSTA.COM 64 HOW TO DEAL WITH IT Master

    Foo & The Recruiter
  65. PAGE NUMBER LUCASFCOSTA.COM 65 HOW TO DEAL WITH IT A

    technical recruiter, having discovered that the ways of Unix hackers were strange to him, sought an audience with Master Foo to learn more about the Way.
  66. PAGE NUMBER LUCASFCOSTA.COM 66 HOW TO DEAL WITH IT The

    recruiter said:
 “I have observed that Unix hackers scowl or become annoyed when I ask them how many years of experience they have in a new programming language. Why is this so?”
  67. PAGE NUMBER LUCASFCOSTA.COM 67 HOW TO DEAL WITH IT Master

    Foo stood, and began to pace across the office floor. The recruiter was puzzled, and asked “What are you doing?”
  68. PAGE NUMBER LUCASFCOSTA.COM 68 HOW TO DEAL WITH IT “I

    am learning to walk,” replied Master Foo.
  69. PAGE NUMBER LUCASFCOSTA.COM 69 HOW TO DEAL WITH IT “I

    saw you walk through that door” the recruiter exclaimed “and you are not stumbling over your own feet. Obviously you already know how to walk.”
  70. PAGE NUMBER LUCASFCOSTA.COM 70 HOW TO DEAL WITH IT “Yes,

    but this floor is new to me.” replied Master Foo. Upon hearing this, the recruiter was enlightened. http://www.catb.org/esr/writings/unix-koans/recruiter.html
  71. PAGE NUMBER LUCASFCOSTA.COM 71 HOW TO DEAL WITH IT dig

    deep
  72. PAGE NUMBER LUCASFCOSTA.COM 72 HOW TO DEAL WITH IT What

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

    on what matters
  74. PAGE NUMBER LUCASFCOSTA.COM 74 HOW TO DEAL WITH IT a.k.a.

    don't do bikeshedding
  75. PAGE NUMBER LUCASFCOSTA.COM 75 HOW TO DEAL WITH IT don’t

    get ahead of yourself
  76. PAGE NUMBER LUCASFCOSTA.COM 76 HOW TO DEAL WITH IT build

    things
  77. PAGE NUMBER 77 First you learn the value of abstraction,

    then you learn the cost of abstraction, then you're ready to engineer Kent Beck LUCASFCOSTA.COM JAVASCRIPT
  78. PAGE NUMBER LUCASFCOSTA.COM 78 HOW TO DEAL WITH IT do

    things that don’t scale Paul Graham
  79. 79 PAGE NUMBER What am I? Programmer or Software Developer?

    Software Architect? Software Engineer? HOW TO DEAL WITH IT
  80. PAGE NUMBER LUCASFCOSTA.COM 80 engineering software development HOW TO DEAL

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

    WITH IT
  82. PAGE NUMBER 82 This is Barcelona as seen from the

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

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

    TO DEAL WITH IT
  85. 85 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
  86. PAGE NUMBER 86 LET IT GROW ADAPT AS NEEDED Be

    a town planner. LUCASFCOSTA.COM HOW TO DEAL WITH IT
  87. PAGE NUMBER LUCASFCOSTA.COM HOW TO DEAL WITH IT “ 87

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

    to be lazy
  89. PAGE NUMBER LUCASFCOSTA.COM 89 HOW TO DEAL WITH IT talk

    to people
  90. PAGE NUMBER LUCASFCOSTA.COM 90 HOW TO DEAL WITH IT Be

    curious. Read widely. Try new things. What people call intelligence just boils down to curiosity. Aaron Swartz
  91. PAGE NUMBER LUCASFCOSTA.COM 91 HOW TO DEAL WITH IT solve

    problems
  92. PAGE NUMBER LUCASFCOSTA.COM 92 solve problems thank you L U

    C A S F C O S T A . C O M github: lucasfcosta twitter: lfernandescosta
  93. 93 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