SHINY OBJECTS ARE COOL BUT SO IS BUILDING PRODUCTS PEOPLE USE @jennapederson | #creamcitycode | #fallx
A presentation at Cream City Code in October 2019 in Milwaukee, WI, USA by Jenna Pederson
 
                SHINY OBJECTS ARE COOL BUT SO IS BUILDING PRODUCTS PEOPLE USE @jennapederson | #creamcitycode | #fallx
 
                What is shiny? @jennapederson | #creamcitycode | #fallx
 
                Accidental vs. Essential Complexities FRED BROOKS, 1986 @jennapederson | #creamcitycode | #fallx
 
                Accidental Complexities NOT ESSENTIAL TO THE PROBLEM BEING SOLVED PROBLEMS ENGINEERS CREATE AND CAN FIX EXAMPLES: languages, tools, processes, techniques, bells and whistles @jennapederson | #creamcitycode | #fallx
 
                Essential Complexities DIRECTLY RELATED TO THE PROBLEM BEING SOLVED INDEPENDENT OF HOW MUCH EXPERIENCE YOU HAVE OR THE TOOLS YOU HAVE IN YOUR TOOLBOX EXAMPLES: deciding what to build, the humans, design and testing, the complexity of hardware/software @jennapederson | #creamcitycode | #fallx
 
                HELLO WORLD EXAMPLE RUBY $ ruby -e “puts ‘Hello, World!’” @jennapederson | #creamcitycode | #fallx
 
                HELLO WORLD EXAMPLE RUBY PYTHON $ ruby -e “puts ‘Hello, World!’” $ python -c “print(‘Hello, World!’)” @jennapederson | #creamcitycode | #fallx
 
                HELLO WORLD EXAMPLE REACT NATIVE RUBY PYTHON $ ruby -e “puts ‘Hello, World!’” $ python -c “print(‘Hello, World!’)” $ react-native init HelloWorld $ cd HelloWorld Open up App.js and type out “Hello, World!” $ react-native run-ios Wait. Cross fingers. @jennapederson | #creamcitycode | #fallx
 
                What’s the problem with shiny? DOESN’T SOLVE THE PROBLEM you know, the one our customer has HAS LESS IMPACT a focus only on the shiny is not nearly as impactful to the problem as focusing on the non-shiny ALWAYS STARTING but never finishing AND MORE… unknown, unsupported, unmaintained, risky, distracting @jennapederson | #creamcitycode | #fallx
 
                Why do we choose shiny? STARTING VS. FINISHING starting is orders of magnitude easier than finishing NEW IS BETTER obviously, if it’s new and improved it’s better, right? maybe. maybe not. WE LIKE TO LEARN and maybe it’s just for our resume or to scratch an itch @jennapederson | #creamcitycode | #fallx
 
                How do we build products people use? FOCUS ON THE PROBLEM (NOT THE SOLUTION) not just the problems we think our customers have or the ones we’ve manufactured for ourselves - the ones they actually have FOCUS ON THE CUSTOMER get out of the office and talk to them FOCUS ON THE VALUE add value to someone’s life @jennapederson | #creamcitycode | #fallx
 
                Code vs No Code WHY WRITE CODE WHEN YOU DON’T NEED TO? WHAT IF YOU DON’T FULLY KNOW WHAT THE PROBLEM IS AND THEN WRITE A BUNCH OF CODE? example 1: a React app vs. a Squarespace site example 2: a React app vs. a Google form + Zapier to send an email or a text @jennapederson | #creamcitycode | #fallx
 
                Library vs Roll Your Own DOES THE LIBRARY DO WHAT YOU NEED TO DO AND REDUCE COMPLEXITY? IS IT ACTIVELY MAINTAINED? WOULD YOU BE THE LARGEST USER OF THE LIBRARY? example: the Recaptcha gem vs roll your own example: Circle CI + ClojureScript frontend @jennapederson | #creamcitycode | #fallx
 
                IaaS vs. PaaS DO YOU NEED TO MANAGE INFRASTRUCTURE OR COULD SOMEONE DO THAT FOR YOU? DO YOU HAVE TIME TO LEARN HOW TO MANAGE INFRASTRUCTURE? CAN YOU THINK CRITICALLY ABOUT THE SECURITY, SCALABILITY, AND RELIABILITY OF ALL OF IT? example: startup day 1 vs. Big Mega Corp @jennapederson | #creamcitycode | #fallx
 
                How do we innovate? USE IT TO OUR ADVANTAGE chase shiny objects but with a goal in mind. have a strategy. embrace failure without consequences. let these shiny objects drive us to learn more about our craft, how to solve real world problems with new tech, how to experiment, how to fail, and how to discover what problems we should be solving. @jennapederson | #creamcitycode | #fallx
 
                One Last Bit AN INSPIRATIONAL BIT The good devs won’t just be chasing shiny objects. They will have a fine balance of finding, evaluating, and using new or bleeding edge tech vs. using the tried and true tech. @jennapederson | #creamcitycode | #fallx
 
                The End. THANKS! FIND ME ON THE INTERNET: @jennapederson
