$30 off During Our Annual Pro Sale. View Details »

What did we Learn with JavaScript Fatigue? (FrontMania)

What did we Learn with JavaScript Fatigue? (FrontMania)

Lucas Fernandes da Costa

November 15, 2019
Tweet

More Decks by Lucas Fernandes da Costa

Other Decks in Programming

Transcript

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

    View Slide

  2. 2
    PAGE NUMBER
    What did we
    learn with
    JavaScript
    Fatigue?
    github: lucasfcosta
    twitter: thewizardlucas L U C A S F C O S T A . C O M

    View Slide

  3. 3
    PAGE NUMBER
    WHERE IS
    JAVASCRIPT
    GOING?
    github: lucasfcosta
    twitter: thewizardlucas L U C A S F C O S T A . C O M

    View Slide

  4. PAGE NUMBER 4
    WHAT ARE WE DOING TODAY
    LUCASFCOSTA.COM

    View Slide

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

    View Slide

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

    View Slide

  7. PAGE NUMBER 7
    WHAT ARE WE DOING TODAY
    LUCASFCOSTA.COM

    View Slide

  8. PAGE NUMBER 8
    WHAT ARE WE DOING TODAY
    LUCASFCOSTA.COM

    View Slide

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

    View Slide

  10. 10
    PAGE NUMBER
    Part 1

    Looking in
    retrospective

    View Slide

  11. 11
    PAGE NUMBER

    View Slide

  12. 12
    PAGE NUMBER
    What did I get
    right about
    JavaScript
    fatigue?

    View Slide

  13. 13
    PAGE NUMBER
    What did I get
    wrong about
    JavaScript
    fatigue?

    View Slide

  14. PAGE NUMBER 14 LUCASFCOSTA.COM

    View Slide

  15. PAGE NUMBER 15
    Realities
    of your
    industry
    101

    View Slide

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

    View Slide

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

    View Slide

  18. M O R E V A L U E 

    L E S S S O F T W A R E

    View Slide

  19. L E S S T I M E F I X I N G I T
    M O R E V A L U E 

    L E S S S O F T W A R E

    View Slide

  20. L E S S T I M E F I X I N G I T
    L E S S T I M E D E B U G G I N G I T
    M O R E V A L U E 

    L E S S S O F T W A R E

    View Slide

  21. L E S S T I M E F I X I N G I T
    L E S S T I M E D E B U G G I N G I T
    L E S S T I M E T H I N K I N G A B O U T I T
    M O R E V A L U E 

    L E S S S O F T W A R E

    View Slide

  22. L E S S T I M E F I X I N G I T
    L E S S T I M E D E B U G G I N G I T
    L E S S T I M E T H I N K I N G A B O U T I T
    M O R E V A L U E 

    L E S S S O F T W A R E

    View Slide

  23. The only thing better than "less software" is no software at all.

    View Slide

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

    View Slide

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

    View Slide

  26. PAGE NUMBER LUCASFCOSTA.COM
    REALITIES OF YOUR INDUSTRY 101
    26

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  30. PAGE NUMBER 30
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Assumption 1:

    View Slide

  31. PAGE NUMBER 31
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Capitalism
    Assumption 1:

    View Slide

  32. PAGE NUMBER 32
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Capitalism
    ✅ Right
    Assumption 1:

    View Slide

  33. PAGE NUMBER 33
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Capitalism
    ✅ Right
    Assumption 1:

    View Slide

  34. PAGE NUMBER LUCASFCOSTA.COM
    34
    REALITIES OF YOUR INDUSTRY 101
    Productivity

    View Slide

  35. PAGE NUMBER LUCASFCOSTA.COM
    35
    REALITIES OF YOUR INDUSTRY 101
    Web development had a
    productivity problem.

    View Slide

  36. PAGE NUMBER 36
    Good programmers
    know what to write.
    Great ones know what
    to rewrite (and reuse)
    — Eric S. Raymond
    LUCASFCOSTA.COM
    OUR ROLE

    View Slide

  37. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    37

    View Slide

  38. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    38
    709,843
    packages on
    July 2017

    View Slide

  39. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    39
    709,843
    packages on
    September 2017

    View Slide

  40. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    40
    October 2018

    View Slide

  41. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    41
    November 2018

    View Slide

  42. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    42
    1,126,034
    packages on

    View Slide

  43. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    43
    1,126,034
    packages on
    "
    2x

    View Slide

  44. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    44
    ~862 packages
    a day

    View Slide

  45. PAGE NUMBER LUCASFCOSTA.COM
    REALITIES OF YOUR INDUSTRY 101
    45
    We
    complained
    about it, but
    we like it.

    View Slide

  46. PAGE NUMBER LUCASFCOSTA.COM
    JAVASCRIPT
    46
    npm and the future of JavaScript - Laurie Voss - JSConf US 2018

    View Slide

  47. PAGE NUMBER LUCASFCOSTA.COM
    REALITIES OF YOUR INDUSTRY 101
    47

    View Slide

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

    View Slide

  49. PAGE NUMBER LUCASFCOSTA.COM
    REALITIES OF YOUR INDUSTRY 101
    Donald Knuth

    49
    "Premature
    optimisation is
    the root of all
    evil"

    View Slide

  50. PAGE NUMBER 50
    REALITIES OF YOUR INDUSTRY 101
    The greatest performance
    improvement of all is when a system
    goes from not-working to working
    John Ousterhout

    View Slide

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

    View Slide

  52. PAGE NUMBER 52
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    JS fatigue happened
    because of premature
    optimisation
    Assumption:

    View Slide

  53. PAGE NUMBER 53
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    JS fatigue happened
    because of premature
    optimisation
    Partially right
    Assumption:

    View Slide

  54. PAGE NUMBER 54
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    JS fatigue happened
    because we had too
    much to figure out

    View Slide

  55. PAGE NUMBER 55
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    JS fatigue happened
    because we had too
    much to figure out
    and we were doing it all at once

    View Slide

  56. PAGE NUMBER 56
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    JS fatigue happened
    because we had too
    much to figure out
    and we were doing it all at once
    but still, to solve problems we didn't have

    View Slide

  57. PAGE NUMBER LUCASFCOSTA.COM
    57
    REALITIES OF YOUR INDUSTRY 101

    View Slide

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

    View Slide

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

    View Slide

  60. PAGE NUMBER 60
    More choices

    Less satisfaction
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM

    View Slide

  61. PAGE NUMBER 61
    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

    View Slide

  62. PAGE NUMBER 62
    Our willpower is limited
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM

    View Slide

  63. PAGE NUMBER LUCASFCOSTA.COM
    63
    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

    View Slide

  64. PAGE NUMBER 64
    We might not be JavaScript fatigued
    maybe we’re just
    decision fatigued
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM

    View Slide

  65. PAGE NUMBER 65
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    We were decision fatigued
    ❌ Wrong
    Assumption:

    View Slide

  66. PAGE NUMBER 66
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    We had an unstable ecosystem.

    View Slide

  67. M A R K 0 3 P R E S E N T A T I O N
    PAGE NUMBER 67 LUCASFCOSTA.COM

    View Slide

  68. PAGE NUMBER 68
    These things are not new
    LUCASFCOSTA.COM
    JAVASCRIPT
    NPM MAVEN

    View Slide

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

    View Slide

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

    View Slide

  71. PAGE NUMBER 71
    These things are not new
    LUCASFCOSTA.COM
    JAVASCRIPT
    ALGOL 58

    View Slide

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

    View Slide

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

    WRT

    View Slide

  74. PAGE NUMBER 74
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    The JavaScript ecosystem
    was not mature yet.
    Assumption:

    View Slide

  75. PAGE NUMBER 75
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    The JavaScript ecosystem
    was not mature yet.
    Assumption:
    ✅ Right

    View Slide

  76. PAGE NUMBER 76
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Innovation has a pattern

    View Slide

  77. PAGE NUMBER 77
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    The S-curve theory of innovation cycles. QUORA
    Our growth
    phase is
    ending

    View Slide

  78. PAGE NUMBER 78
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    The S-curve theory of innovation cycles. QUORA
    Our growth
    phase is
    ending
    2013 - 2017

    View Slide

  79. PAGE NUMBER 79
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    The S-curve theory of innovation cycles. QUORA
    The ecosystem
    is maturing,
    before it can
    retire
    2013 - 2017
    we are here now

    View Slide

  80. PAGE NUMBER 80
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    https://2018.stateofjs.com/opinions/
    We're not going that fast anymore

    View Slide

  81. PAGE NUMBER 81
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    25% of developers were using
    JavaScript for less than two years
    Assumption:
    This Year In JavaScript (NPM)

    https://img04.en25.com/Web/NPMInc/%7B82407d56-74c7-4fde-
    a3b7-59a2df23544f%7D_This_Year_In_JavaScript__2019_Predictions_Copy.pdf
    69% are self taught

    View Slide

  82. PAGE NUMBER 82
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Security will become a
    huge concern.
    Prediction:

    View Slide

  83. PAGE NUMBER
    npm and the future of JavaScript
    83
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    https://slides.com/seldo/npm-and-the-future-of-javascript/#/72
    As the
    ecosystem
    becomes more
    mature, people
    will care more

    View Slide

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

    View Slide

  85. PAGE NUMBER 85
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM

    View Slide

  86. PAGE NUMBER 86
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM

    View Slide

  87. PAGE NUMBER
    npm and the future of JavaScript

    87
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    https://slides.com/seldo/npm-and-the-future-of-javascript/#/72

    View Slide

  88. PAGE NUMBER 88
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Innovation will happen mostly
    around tooling and performance
    Prediction:

    View Slide

  89. PAGE NUMBER 89
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Robustness will become a
    huge concern.
    Prediction:

    View Slide

  90. PAGE NUMBER 90
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    The front-end ecosystem
    will focus on tools for state
    management, robustness,
    and data-handling
    Prediction:

    View Slide

  91. M A R K 0 3 P R E S E N T A T I O N
    PAGE NUMBER PRESENTATION BY: MARKZUGELBERG
    91
    We have
    already
    started to
    see this
    Apollo and relay were the pioneers. But tooling
    will be built around them, also on the server.
    GRAPHQL
    1
    Tools like Mobx and XState are on the rise.
    STATE MANAGEMENT
    2
    This is why we love TypeScript so much.

    We're getting better at tests too!
    ROBUSTNESS
    3

    View Slide

  92. PAGE NUMBER LUCASFCOSTA.COM
    92
    REALITIES OF YOUR INDUSTRY 101
    The costs for maintaining
    web applications was high.

    View Slide

  93. PAGE NUMBER

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

    View Slide

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

    View Slide

  95. PAGE NUMBER 95
    JAVASCRIPT
    LUCASFCOSTA.COM

    View Slide

  96. PAGE NUMBER 96
    01
    No previous
    examples
    02
    Lack of good
    abstractions
    03
    Web platform
    constraints
    04
    Productivity
    BUILDING USER
    INTERFACES IS
    HARD

    View Slide

  97. PAGE NUMBER 97
    We learned
    how to build
    UIs

    View Slide

  98. PAGE NUMBER 98
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    The rhythm of release of
    new front-end frameworks
    is going to decrease
    Prediction:

    View Slide

  99. PAGE NUMBER 99
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    The front-end ecosystem
    will focus on productivity
    and cross-functionality
    Prediction:

    View Slide

  100. M A R K 0 3 P R E S E N T A T I O N
    PAGE NUMBER PRESENTATION BY: MARKZUGELBERG
    100
    We have
    already
    started to
    see this
    UI design tools are starting to focus on
    componentization and reuse
    UI DESIGN TOOLS
    2
    More and more people adopt tools like Docz,
    Storybook and Styleguidist.
    COMPONENT DIRECTORIES
    1

    View Slide

  101. PAGE NUMBER 101
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Design systems will
    become ubiquitous
    Prediction:
    Interface production has been industrialized
    Innovation will happen on other fronts

    View Slide

  102. JAVASCRIPT
    PAGE NUMBER LUCASFCOSTA.COM
    102
    Transpilers
    Compilers

    View Slide

  103. PAGE NUMBER 103
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Assumption:
    Transpilation was going to
    be necessary for a long time.

    View Slide

  104. PAGE NUMBER 104
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Transpilation was going to
    be necessary for a long time.
    Assumption:
    ✅ Right

    View Slide

  105. PAGE NUMBER 105
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    This Year In JavaScript (NPM)

    https://img04.en25.com/Web/NPMInc/%7B82407d56-74c7-4fde-
    a3b7-59a2df23544f%7D_This_Year_In_JavaScript__2019_Predictions_Copy.pdf

    View Slide

  106. PAGE NUMBER LUCASFCOSTA.COM
    106
    HOW TO DEAL WITH IT
    The
    compilation
    step is here
    to stay

    View Slide

  107. PAGE NUMBER 107 LUCASFCOSTA.COM
    JAVASCRIPT

    View Slide

  108. PAGE NUMBER 108 LUCASFCOSTA.COM
    JAVASCRIPT

    View Slide

  109. PAGE NUMBER 109
    The browser
    has become
    an universal
    platform
    LUCASFCOSTA.COM
    JAVASCRIPT

    View Slide

  110. PAGE NUMBER 110
    Everything is going to run in a browser
    Prediction:

    View Slide

  111. PAGE NUMBER LUCASFCOSTA.COM
    111
    HOW TO DEAL WITH IT
    JavaScript isn't
    going anywhere

    View Slide

  112. PAGE NUMBER LUCASFCOSTA.COM
    112
    HOW TO DEAL WITH IT
    Because JavaScript
    is everywhere.

    View Slide

  113. PAGE NUMBER LUCASFCOSTA.COM
    113
    HOW TO DEAL WITH IT
    Because JavaScript
    is everywhere.
    Even in places it shouldn't be

    View Slide

  114. PAGE NUMBER LUCASFCOSTA.COM
    114
    HOW TO DEAL WITH IT
    “Any application that can be written
    in JavaScript, will eventually be
    written in JavaScript.”

    — Jeff Atwood, Cofounder of StackOverflow

    View Slide

  115. PAGE NUMBER LUCASFCOSTA.COM
    115
    HOW TO DEAL WITH IT
    We choose JavaScript
    because we like it

    View Slide

  116. PAGE NUMBER 116

    View Slide

  117. JAVASCRIPT
    PAGE NUMBER LUCASFCOSTA.COM
    117
    Module
    Bundlers

    View Slide

  118. PAGE NUMBER 118
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Module bundlers will be
    necessary until we can have a
    good native module system
    Assumption:

    View Slide

  119. PAGE NUMBER 119
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Module bundlers will be
    necessary until we can have a
    good native module system
    Assumption:
    ❌ Wrong

    View Slide

  120. PAGE NUMBER LUCASFCOSTA.COM
    120
    REALITIES OF YOUR INDUSTRY 101
    Webpack ❤
    Module bundlers
    are here to stay
    They're here, but not quite there
    yet. HTTP/2 push is hard and
    native modules aren't fast enough.
    NATIVE MODULES
    Tree-shaking, cache invalidation
    and other code transformations
    (eliminating dead-code, uglifying
    code, and pre-evaluation)
    OPTIMISATIONS
    Browsers adopting the same
    runtimes is dangerous, as it leads
    to an ecosystem where a single
    actor has too much power.
    LANGUAGE FEATURES
    JSX is here to stay, and even if
    we're not using React, TypeScript
    is also not going anywhere soon.
    NEW LANGUAGES
    PREDICTION 3

    View Slide

  121. PAGE NUMBER LUCASFCOSTA.COM
    121
    REALITIES OF YOUR INDUSTRY 101
    We learned why our tools exist

    View Slide

  122. PAGE NUMBER 122
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    https://2018.stateofjs.com/opinions/
    We learned why our tools exist

    View Slide

  123. 123
    PAGE NUMBER
    Part 2

    What about
    the future?

    View Slide

  124. PAGE NUMBER 124
    Tech skills are going to
    become a commodity

    View Slide

  125. PAGE NUMBER 125
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM

    View Slide

  126. PAGE NUMBER 126
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    In 2019, the coding bootcamp
    market will grow by 49%, to an
    estimated 23,043 graduates in
    2019, up from 15,429 in 2018.
    https://www.coursereport.com/reports/coding-bootcamp-market-size-research-2019

    View Slide

  127. PAGE NUMBER 127
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM
    Since 2013 bootcamps
    have grown 11x
    https://www.coursereport.com/reports/coding-bootcamp-market-size-research-2019

    View Slide

  128. PAGE NUMBER 128
    REALITIES OF YOUR INDUSTRY 101
    LUCASFCOSTA.COM

    View Slide

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

    View Slide

  130. PAGE NUMBER LUCASFCOSTA.COM
    130
    HOW TO DEAL WITH IT
    Offer
    Demand
    pricing

    View Slide

  131. PAGE NUMBER LUCASFCOSTA.COM
    131
    HOW TO DEAL WITH IT
    how can
    we remain
    relevant?

    View Slide

  132. PAGE NUMBER LUCASFCOSTA.COM
    132
    HOW TO DEAL WITH IT
    focus on
    value
    creation

    View Slide

  133. 133
    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

    View Slide

  134. PAGE NUMBER LUCASFCOSTA.COM
    134
    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,"

    View Slide

  135. 135
    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

    View Slide

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

    View Slide

  137. PAGE NUMBER LUCASFCOSTA.COM
    137
    REALITIES OF YOUR INDUSTRY 101
    Programming is what you do
    when you're alone, software
    engineering is what you do
    when you're in a team.

    View Slide

  138. PAGE NUMBER LUCASFCOSTA.COM
    138
    HOW TO DEAL WITH IT
    especialize

    View Slide

  139. PAGE NUMBER LUCASFCOSTA.COM
    139
    HOW TO DEAL WITH IT
    develop problem
    domain knowledge

    View Slide

  140. PAGE NUMBER LUCASFCOSTA.COM
    140
    HOW TO DEAL WITH IT
    do things that
    don’t scale
    Paul Graham

    View Slide

  141. PAGE NUMBER LUCASFCOSTA.COM
    141
    HOW TO DEAL WITH IT
    learn the
    fundamentals

    View Slide

  142. PAGE NUMBER LUCASFCOSTA.COM
    142
    HOW TO DEAL WITH IT
    don’t be
    defined by
    your stack

    View Slide

  143. PAGE NUMBER LUCASFCOSTA.COM
    143
    HOW TO DEAL WITH IT
    Master Foo & The Recruiter

    View Slide

  144. PAGE NUMBER LUCASFCOSTA.COM
    144
    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.

    View Slide

  145. PAGE NUMBER LUCASFCOSTA.COM
    145
    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?”

    View Slide

  146. PAGE NUMBER LUCASFCOSTA.COM
    146
    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?”

    View Slide

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

    View Slide

  148. PAGE NUMBER LUCASFCOSTA.COM
    148
    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.”

    View Slide

  149. PAGE NUMBER LUCASFCOSTA.COM
    149
    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

    View Slide

  150. PAGE NUMBER LUCASFCOSTA.COM
    150
    HOW TO DEAL WITH IT
    trends for 2020

    View Slide

  151. PAGE NUMBER
    TRENDS FOR 2020
    REACT GRAPHQL
    CSS IN JS DENO IS COMING
    TYPESCRIPT COMPONENT LIBRARIES
    WEB ASSEMBLY SERVER-SIDE RENDERING

    View Slide

  152. PAGE NUMBER LUCASFCOSTA.COM
    152
    thank you
    L U C A S F C O S T A . C O M github: lucasfcosta
    twitter: thewizardlucas
    write code
    read books

    View Slide

  153. PAGE NUMBER LUCASFCOSTA.COM
    153
    thank you
    L U C A S F C O S T A . C O M github: lucasfcosta
    twitter: thewizardlucas
    twitter: thewizardlucas

    View Slide