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
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
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 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
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
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
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
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
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
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
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
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.
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?”
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?”
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.”
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
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
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
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
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
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