This presentation was recorded at GOTO Berlin 2016 http://gotober.com George Fairbanks - Software Engineer at Google @georgehfairbanks ABSTRACT I find a program much more valuable when I can read it and understand the abstractions that collectively explain a theory of the problem and solution. In contrast, I find programs with minimal abstractions and lots of conditional logic hard to understand [...] TIMECODES 0:00 Introduction 0:40 How does your team build software? 1:26 Developers weave models 2:14 What is Model-Minded Development? 6:25 Understanding addition 6:47 Understanding software 7:48 Theory building in science 8:42 Theory building in programming 10:04 Elegant theories are better 10:51 DDD breakthrough 11:54 Programming without theory building 14:06 Long division 15:16 Distributed cognition 15:53 Internal - external model alignment 16:02 Roman numerals, really? 16:13 Arabic numerals, unhelpful positions 16:28 Misaligned models = poor performance 16:55 Fragile magic 17:53 You and your scribbles 18:20 Teamwork + external representation 18:57 How do teams steer ships? 20:00 Challenges 21:03 Success factors 24:25 3 categories of models 26:01 Show all 3 models in code 28:26 Reusable and ad hoc models 28:55 The "von Neumann architecture" 30:15 Link your code to those models in books 31:57 Models and your project 33:46 Example behavior with/without models 34:50 Goal: Balanced systems and models 35:31 Software teams Download slides and read the full abstract here: https://gotocon.com/berlin-2016/presentations/show_talk.jsp?oid=7922 https://twitter.com/GOTOcon https://www.linkedin.com/company/goto- https://www.facebook.com/GOTOConferences Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech Sign up for updates and specials at https://gotopia.tech/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. https://www.youtube.com/user/GotoConferences/?sub_confirmation=1
Get notified about new features and conference additions.