00:00welcome to the a 16z podcast we are
00:03sitting here in the offices of Pinterest
00:05in San Francisco sitting next to a car
00:09where there's two computer monitors
00:11attached to it somehow so we're happy to
00:13be here at Pinterest and I'm here with
00:16Tracy Chou who's a software engineer at
00:18Pinterest not surprisingly Jamie Brandon
00:22software engineer at Eve and Chris
00:25Granger another engineering founder of
00:28Eve today's topic we want to get into
00:30since we have all these software
00:32engineers in the room is coding and
00:34coding as literacy and to what extent we
00:39think that software and coding needs to
00:42be a part of everyone's lives and and
00:44and if it does then how how it does so
00:48Tracy let's start with you because as it
00:51turns out you come from a family of
00:53software engineers so there's not just
00:54one there's four of you am i correct
00:57correct both of my parents are software
00:58engineers I'm a software engineer and my
01:00sister is a software engineer so in in
01:03your lifetime you it sounds to me like I
01:05mean you're almost a to perfect example
01:07but how did software play a role in your
01:10education and then how did you know that
01:12sort of take you to where you are now
01:14Safa was actually not a very big part of
01:18growing up so the elementary school that
01:20I went to did make us do some
01:23programming classes from very early on I
01:25think second or third grade even we were
01:27programming PC logo to make these little
01:30turtles draw stars and houses just
01:33pretty cool but was not a consistent
01:35theme throughout my elementary middle
01:38high school education
01:39I took a CS class in high school and a
01:43couple of classes in college but I think
01:48what was most important for me
01:49throughout all that was not necessary
01:50that I was coding a ton or building a
01:53lot of programs but then I understood
01:54that coding fundamentally is writing
01:57instructions for computers to follow so
02:00you have to be very precise in what
02:02you're telling the computer so if you
02:03tell the little turtle to turn 120 four
02:06degrees it will turn exactly 144 degrees
02:08if you're off by a little bit your star
02:10will not complete right so you have to
02:13but what's really awesome is that the
02:15computer will follow your instructions
02:16perfectly if you know what you're doing
02:18and many computers can follow the exact
02:19same instructions so it's a way of
02:21thinking about how humans interact with
02:23computers and now that computers are so
02:26pervasive it's very useful to have that
02:28understanding of how we build software
02:30Jamie and Chris I want you guys to chime
02:32in too but how did software play a role
02:35in your education you guys both are
02:37software engineers so clearly it's
02:39something you studied at some level
02:42whether it was just on your own or you
02:43know formally but how did how did it
02:47form your education and then as you
02:49think about it now how should it play a
02:51role in in everyone's education if in
02:53fact you think that's true mm-hmm so I
02:57came into a pretty late we had some
02:59programming classes at school and I
03:01renewed the first couple and decided
03:03that it was not for me and it wasn't
03:05until I was why did you decide that they
03:09seemed kind of play Louis we put a lot
03:11of time and effort into them you spent
03:12hours and hours programming and we would
03:14get a button and you press it a number
03:16goes up and it just it didn't really see
03:18the point and it wasn't till a was
03:21University studying math that I started
03:24using programming to help me with my
03:26homework am i connecting it to something
03:27that I actually really understood and
03:28having it like be very helpful it's
03:30something became much more interesting
03:32mm-hmm so it went from this kind of
03:34abstract oh it's a button that doesn't
03:35do much to like wow look at look what I
03:37can do yeah interesting Chris yeah I
03:40mean I came in it I started programming
03:42really early in my life and I was a
03:45tremendous geek when I was younger so
03:47like one of the first programs I wrote I
03:49was like how does traffic work so I
03:50wrote a traffic simulator and that's
03:52what a normal kid and you were how old
03:54I was 10 when I wrote that but no it was
04:00different so the nice thing is back then
04:02if I had written that in C++ you know I
04:04would have never gotten anything done
04:05but back then we had vb6 right Visual
04:08Basic 6 got where you could drop the
04:10button directly on you know your little
04:12form whatever and you could write that
04:14program really really fast right but I
04:17came at it from you could you can
04:20basically characterize my childhood as a
04:21quest for Legos I characterize it as an
04:24infinite set of Lego blocks
04:26right it was this this sandbox where I
04:28could build literally anything I want in
04:30it I can make a car I can make games I
04:33can make all of these things and back to
04:37your to your question about like how
04:39does that play into sort of like my
04:41education I I took some programming
04:45classes and stuff but given that I had
04:46been doing it for so long they weren't
04:48super useful I think that what I gained
04:50out of it and it's interesting you
04:52brought up logo actually is there are
04:55these like skills that underlie
04:57programming right there's like the
04:59physical act of putting stuff into a
05:01computer and getting the computer to do
05:02it that's one thing but see more prepare
05:05the guy who wrote logo has his book
05:08called Mindstorms we talks about what
05:11what kids learned when they did that was
05:14breaking a bigger problem into many
05:16smaller problems and intuitively
05:18understanding why that's a good idea and
05:21then almost more important than that
05:23even is this notion of error as not
05:27being a failure so you think about like
05:29when you get a wrong answer in a math
05:31class right you've got it wrong so you
05:35redo the problem you just did it wrong
05:37right and you do it right or you do it
05:39as many times as you need to until you
05:41whereas in software a bug is a bug it
05:44doesn't mean that you need to redo the
05:45whole program right it's a way of
05:48finding out that your process your way
05:51of thinking about something wasn't quite
05:52right you mentioned Chris that that you
05:55thought that these Legos and I think one
05:58of the things that you're doing it Eve
05:59and you know Pinterest is an example of
06:01sort of you know complex programming
06:03underneath the hood but that everyone
06:05gets to use and so this idea that coding
06:09is the new litter story is literacy is
06:11this idea that we all should at some
06:13level be coders and play with the Legos
06:17and not just use the apps but kind of
06:20muck around in there do you guys believe
06:24that and and and what part of that rings
06:27true to you I think it's important that
06:29people have a mental model for how the
06:31world works and so much of software is
06:34hidden away because you just see the
06:37apps in our face and you don't
06:38understand everything that goes into it
06:40with something like a building some are
06:42physical structures you can see that
06:44there are bricks I go into it or there
06:45is these structures I are physically put
06:47together it's harder to see those things
06:49that put two are put together for
06:51software so it's hard to have a mental
06:52model for how to interact with software
06:55applications even though they are so
06:56pervasive so I think it's very important
06:59that people have some basic
07:00understanding of how software is
07:01composed so they know how to interact
07:03with the world around them and as a
07:05corollary to that people could also
07:07start to think about the ways in which
07:09software can be used to solve problems
07:10that they see so a lot of people who are
07:13not technical they don't understand how
07:15code works they may actually encounter
07:17problems that could be very easily
07:18solved by software but not understanding
07:19that software is a potential solution
07:21means that they'll never go to anybody
07:24to say okay why don't we try solving the
07:25problem in this way so how do you bridge
07:28that gap and I think that's exactly what
07:29we're talking about here and especially
07:31as you know at the firm we have this
07:34sort of you know overarching thesis that
07:36software eats the world but as software
07:37goes leaves traces your family and Chris
07:40your you know childhood and Jamie ores
07:42as well and becomes a an increasingly a
07:45part of all of our worlds and all of our
07:47industries and our jobs how do we bridge
07:50that gap from like oh I could fix that
07:53but I don't know anything about how to
07:55how to do it I mean part of it I would
07:59actually argue this has already started
08:00to happen so when you ask a big group of
08:04programmers what the most popular
08:05language in the world is usually here
08:08either C or Java which is not even close
08:11the most popular programming language in
08:13the world is Excel it is programming
08:16just like everything else is and Excel
08:18is used by 800 million people every
08:20single day right and it's used in every
08:23industry by people who had never in
08:25their wildest dreams call themselves
08:27programmers but they are using it as a
08:30tool right they're getting the computer
08:32to do work for them they're getting the
08:33computer to model something for them or
08:35whatever the case may be and to me
08:37that's the important part right and
08:39that's what part of what coding like
08:41that the knee or the the phrase coding
08:44as the new literacy kind of loses it's
08:47not it's not about everyone building
08:48apps right the new writing is not
08:50building an app the new thing is about
08:53getting the computer
08:54to do work for you whatever that may
08:56mean right right much in the same way
08:59the original literacy right reading and
09:01writing was a way of externalizing
09:02memory right it's like I have all these
09:04thoughts that can put them on paper and
09:06I can distribute them and that allows
09:08you to think things that you were
09:09previously incapable of thinking much in
09:12the same way that you know building
09:13these large scale models of your entire
09:14business allows you to think about your
09:17entire business all of a sudden right
09:18it's a great story of an interview with
09:21Feynman where they discovered some of
09:23his old heba's that he'd written and
09:25they were they mentioned as a record of
09:29his work he was Varian system that
09:30wasn't record the work it was the work
09:31like the work happened on the paper and
09:33he was just peripherally involved I
09:35think this idea of kind of like a mental
09:39prosthetics is very important like you
09:40can make yourself more intelligent if
09:42you have these mental tools that allow
09:43you to offload pots of the thoughts that
09:45you don't want have to deal with
09:46yourself does that mental tool model
09:49then jibe Tracy with your kind of view
09:52of of how coding can help lots more
09:55people and lots more industries than it
09:56is right now I think that's one aspect
09:58of it I think another big piece of it is
10:00understanding where we can use software
10:02to solve problems even if it's not
10:05something that you are directly using so
10:08if I see a problem and I understand that
10:10a potential solution to that is software
10:12that someone else may build then I could
10:14go start a company and try to recruit
10:16people to help me build a software
10:18solution to that problem but just having
10:20a model of what tools are out there and
10:23what are the ways in which we can
10:24leverage software to change the world I
10:26think it's like a a slightly different
10:27thing than using those tools directly
10:30right and I think we're starting to see
10:32examples of that in companies that get
10:33started by you know people who have
10:35ideas right like wouldn't it be great if
10:38now do I know how to build it myself no
10:41but I know some smart people who okay so
10:43possible they know it's possible now
10:44right but is there a danger sort of
10:46reminds me of like well we'll just fix
10:48that in post production like you know
10:50software can solve that problem or
10:51software will do it how in depth does
10:56our understanding need to be to sort of
10:58understand what can and can't be done or
10:59should we not even think of it in those
11:01terms so I actually mean a lot of people
11:04would say they want to learn coding and
11:05they'll say well my news resolution is
11:07to learn how to code
11:07and I often respond with a question like
11:10do you actually want to learn how to
11:11code or do you want understand how
11:13software is architected and how things
11:14come together so I will use an analogy
11:17sometimes with people to say you know
11:19building a software application is
11:20somewhat like building a physical
11:22building except that the software
11:24engineer also has to be a bit of an
11:26architect as well as a construction
11:28so we're thinking about like the
11:30products effects like are we building a
11:31church or are we building an apartment
11:32building the recs are going to be very
11:33different for these different use cases
11:35or are we going to build a shack because
11:37we don't have resources like you know
11:38you figure out like what we're trying to
11:40so you're architecting that a little bit
11:42and then you're actually also the
11:44we have to go assemble pieces together
11:46maybe you have to do the wiring and
11:48plumbing work as well but it's not just
11:51you know it's not just hammering a nail
11:54like that's that's like the really basic
11:55parts of coding like you can write an if
11:57statement or you can write a for loop
11:58but that's not what pulls together an
12:00entire building and so I think what a
12:02lot of people want to understand is like
12:04what is the process of constructing a
12:06building like what are all the pieces
12:07that go into it but they think that it's
12:09just if I learn how to write a little
12:11bit of code I'll understand everything
12:12that goes into software engineering I
12:14mean let's talk about the complexity of
12:16software then what what you guys are
12:18doing it Eve in some ways it seems to me
12:22that you're removing the complexity or
12:24at least there's an abstraction where I
12:26don't see it but should I or and and
12:30wives that route Chris so I think
12:32there's different ways of looking at it
12:33with what you're talking about is like
12:36systems level and I'm trying to build
12:38I'm trying to you know model you might
12:40argue with me about that term but I'm
12:41trying to model some system right and
12:43there's an inherent amount of complexity
12:46in modeling any system right if I want
12:48to model macroeconomics that's
12:49incredibly complex and something I
12:51probably cannot do however if I want to
12:53model my house yeah maybe with some time
12:55and some effort I can do that but
12:57there's a lot of weird things you have
12:58to start thinking about well I have to
12:59think about how do i plumb the thing how
13:01do I put electricity through it right
13:02that's the truth of software - the thing
13:05that we're tackling specifically is all
13:08the complexity that has nothing to do
13:09with the problem you actually set out to
13:11solve right and we were talking about
13:13this this morning if you if you think of
13:16programming as a form of modeling right
13:18I'm like trying to take something either
13:19in my head or and out in the real world
13:21and make a representation of it that the
13:23computer can work with we have this
13:26weird case right now where our languages
13:29Python pick any language right is
13:31actually designed to model computer
13:34interaction right it's designed to model
13:36how computers work like I'm gonna send
13:38TCP messages and so on and so forth but
13:41if you think about what we're actually
13:42trying to build we're trying to model
13:44humans we're trying to model processes
13:46that exists in the real world so
13:47Pinterest as an example is modeling the
13:49process of collecting lots of
13:51information and having you know a nice
13:53way of looking at it in facebook is a
13:55way of modeling human interaction right
13:57but we're writing these things in a
14:00language designed to talk about
14:01computers which is there's this
14:03fundamental disconnect right and so what
14:06we're trying to do is if it turns out if
14:08you can remove that disconnect if you
14:09can start to express things in such a
14:13way where you're we're really getting at
14:15what you're actually trying to model all
14:17that complexity of dealing with well I
14:19need to send a packet over here you know
14:21using tcp/ip just goes away that's not
14:23what's important and so that's what
14:28we're focusing on you can't get rid of
14:29the fundamental complexity in a problem
14:31right like its inherent it just exists
14:34but the very least you can make it
14:35easier to deal with it's kind of meeting
14:38people in the right place like if you're
14:40working with a group of scientists and
14:42you wanna give them software tools and
14:43they're like ok we want to you know work
14:45on this genome you're like ok well let
14:46me explain to you how bytes work and
14:48arrays work and then we talk to you
14:50about truth and equality in JavaScript
14:52and they don't care about anything so if
14:53we're trying to it's it's so I'm related
14:55to the problem they're actually trying
14:56to solve your Folsom's this bridge this
14:58huge gap themselves yeah I mean I was
15:00gonna say it sounds to me like you're
15:01Jamie your experience with software
15:04engineering has been very consistent
15:06you're like wait I built a button that I
15:07can't use I want to build things that I
15:10can use and that other people can use
15:12and how do we make that easy yeah
15:14there's a lot of sort of very highly
15:18distributed disputed research from a
15:20piace and C my paper on the way children
15:24learn things and one of the points they
15:26argue for very strongly is that you have
15:28to you can't just start by teaching them
15:30something that's very foreign we can't
15:33take people and say look ok here is how
15:35and here's like the where things are
15:36stored in the computer and you have to
15:39start with something that is the feels
15:41familiar and safe so you have to relate
15:42it to something they already understand
15:44and then gradually like push the
15:45boundaries and get back to the the thing
15:47you're actually trying to teach I want
15:49to switch gears a little bit and and
15:51have you guys all comment in this but
15:53one of the things that's been a little
15:54bit surprising in recent studies was
15:57that the number of women in in software
15:59engineering has actually declined since
16:01you know World War two when everyone was
16:03working on cracking codes do you have an
16:08explanation for that and I don't want
16:11you to solve all of our problems right
16:12now but like is there a way of reversing
16:15course on that do you think and does it
16:18get at some of what we've all been
16:19talking about I have a number of
16:22theories that I've heard posited there
16:25was a pretty sharp decline after the
16:271980s which some have attributed to
16:29major changes in marketing around
16:31computers and also games so in the 80s
16:35computers started to become more popular
16:37there started to become this concept
16:39like personal computers that people
16:40would actually bring to their homes but
16:42they started to become more marketed as
16:44things for boys and men like you play
16:47games on computers there wasn't much
16:49else that computers would do back then
16:50it became more gendered in their
16:52marketing games were also originally
16:54more mass-market and with a contraction
16:56in the gaming market the marketing
16:58people decide to focus more on boys and
17:01men just to narrow the like their
17:03consumer market so they could be a
17:05little more targeted and so I think the
17:07combination of these two made it so that
17:09computers and gaming and all of this
17:11whole sphere of activity became gendered
17:14and not as positive a place for girls
17:18and women to be in and I think the
17:21problem has been exacerbated over time
17:23as the percentage woman has gone down
17:24it's become less and less friendly to a
17:27woman and I think we're starting to see
17:30a little bit of a change in that one
17:32thing that is pretty cool is that
17:33technology is now so pervasive that
17:35everybody is exposed to it from very
17:37early it's no longer that each family
17:38maybe has like one computer and it's in
17:42the boys room like everybody has devices
17:44in the penetration of mobile phones
17:46which are essentially computers
17:48super high and everyone is now exposed
17:51to technology so I think that goes a
17:54long way towards making it more
17:56palatable to a more diverse audience I
17:58think one thing that is missing is the
18:00link between the fact that you can be a
18:02software engineer or coding and building
18:04these things so a lot of people still
18:05think of these apps as just magical
18:08things that appear uh-huh
18:10I've heard of people I've met people who
18:13didn't realize that people worked at
18:14Facebook like I thought it just exists
18:16is I know there are people building that
18:18but it's not that clear like it's not
18:20the same way that you can see that
18:21there's physical construction before
18:23buildings come up that you can't see
18:25that same sort of thing with software
18:26engine you don't know that there's
18:27people sitting at computers writing code
18:28and that's how you end up with these
18:30apps so I think the the end product is
18:34now much more available but the process
18:36of getting to the end product is not
18:38necessarily as visible whereas before if
18:40computer you could take them apart you
18:41kind of see things inside so it will be
18:42easier to understand that there's
18:43engineering that goes into these things
18:45now everything is all like one piece
18:47like like one body laptops and like your
18:50phone you're not you're never going to
18:52take that apart so I'm not really sure
18:54which of those factors is going to weigh
18:56more heavily but I do think it's pretty
18:58cool that most people now have access to
19:01some sort of computer whether it's like
19:03a mobile phone or an actual computer so
19:06the One Laptop Per child project if it's
19:08a fantastic idea where there is a view
19:10sillas button on the keyboard and so if
19:12you're using an app you press this
19:13button and it shows you the code and you
19:15modify it and it like just injects it
19:16into the running process so everything
19:18you have can be opened up and played
19:19with which is very different from the
19:21way that you know mobile phones are
19:23heading now where you can't even load
19:24code if you want to do yeah I mean it's
19:27said to go back to what you were saying
19:29about the history about why maybe it
19:31hasn't happened it makes a lot of sense
19:32if you liken it back to what you were
19:34saying before right what are you gonna
19:35use this for in your case it wasn't
19:37until you had mathematics homework and
19:39like Oh a computer can do that for me
19:41right but back in like you said back in
19:44computers were word processors right you
19:46had VisiCalc and then you had games and
19:48the vast majority of people I know who
19:50started programming young program
19:52because they wanted to build games
19:53myself included right and that's just
19:55what you wanted to do and it well except
19:57for the odd traffic engineering
19:59and the traffic engineering yeah that
20:01part too but but you know you like you
20:04said you had experience with the end
20:05product you're like I want to do that
20:07right and that just didn't exist for a
20:10long period of time and now that is
20:12starting to change and people are like
20:13wow there are these things on my phone I
20:15could imagine a game that I want to make
20:17right or I could imagine this thing that
20:19I want to do with it or I wanted to do
20:21this for example no that works the way I
20:23do you know so I think it does help
20:26there but I think we do have to expose
20:29children at least to the notions that I
20:34was saying before in that that book that
20:36prepare road about logo you talked about
20:39these these like fundamental abilities
20:41that you gain that are useful no matter
20:42what you do that are useful whether
20:44you're biologists or a physicist or
20:45you're you know writing your memoirs
20:48right just ways of thinking that are
20:51that are useful and we have to teach
20:53those in school I think
20:55and that's actually what that entire
20:56book is about and it's a great read if
20:58you're interested in this stuff tell us
21:00the book again it's it's called it's
21:02called Mindstorms it was written in 89
21:06like very late 80s very early 90s by by
21:10Seymour I don't know how to pronounce
21:12his last name I think it's prepare PAP
21:14er T he is a professor at MIT he wrote
21:18logo which is a programming environment
21:20where you said you have a little turtle
21:22and it draws and there are a bunch of
21:25really interesting insights into there
21:26about like how you can teach people this
21:29kind of stuff for example the turtle was
21:30was really important because you could
21:32say to the kids we'll go play turtle and
21:35they would stand up right and they would
21:37mimic what they were telling the turtle
21:39to do and they would understand very
21:41why something was not working because
21:43you were using your body to understand
21:45it right not just your head or not just
21:47drawing it and so these sorts of lessons
21:51I think are very very important getting
21:53everyone to write apps I think we should
21:55like you said open the box right you
21:57should be able to press a view source
21:58and see these things and you should know
21:59at least be able to be exposed to how
22:02you would go about doing them I don't
22:04know that it's realistic though that or
22:05even desirable right that we end up with
22:07you know far more programmers than we
22:09end up with anything else but people
22:12that they themselves have the start of
22:16advice that Paul Graham gives us to
22:17solve problems that you have yourself so
22:19when we have a very singular demographic
22:21of people building software we see a lot
22:23of solutions for the same problems or
22:26maybe not very big problems if we start
22:28bringing in people from more diverse
22:30demographics who face very different
22:32problems say a lot of women have to deal
22:34child care and child care is extremely
22:36expensive and a very big problem for
22:38women's equality in the workforce we
22:42might start seeing better software
22:43solutions for that I think it's just
22:46that right now the population of
22:47software developers can't see those
22:50problems mm-hmm and it's gonna have a
22:52hard time building all those solutions
22:54it's not to say that people can't build
22:55apps for people who aren't themselves it
22:57just takes a lot more work and a lot
22:59more research because there's not that
23:00intuition or the native experience of
23:02having those problems yeah I mean a
23:04while back Jamie said something along
23:08the lines of the vast majority of
23:09programs aren't ridden because the
23:11people who would write them can't write
23:13and our whole pitch when we when we went
23:15around with Eve was that programming is
23:16a superpower right and if you can do
23:19that if you can program there's all
23:20sorts of things you're able to
23:21accomplish and the truth is it I mean
23:24it's real right most of the programs
23:25that could be written don't because the
23:27people like us I'm not a lawyer I'm not
23:29a woman who needs to you know who has
23:32like you said the intuition to build the
23:33childcare apps that we need so as a
23:36result they're just not going to get
23:37built and diversity in every regard
23:40there right is what we're altima talking
23:42about here and the implications of that
23:44are that you know you do start to
23:46service an incredible swath of things
23:49like we're not going to end up with just
23:50Airbnb clones and Pinterest clones right
23:53eventually we'll start to get very
23:54interesting applications that are
23:56designed you know I'm a biologist I'm
23:58working on cancer this is purely for
24:00solving for helping me solve cancer
24:02right and the implications of moving
24:04down that road are tremendous I think
24:07like that's probably the most exciting
24:09thing about what we're doing well Jamie
24:12Chris and Tracy I want to thank you guys
24:15I feel more literate I have to say but I
24:19do I I think this is a really important
24:21discussion and I look forward to sort of
24:24all your work both in making
24:27coding more easier even and certainly at
24:30Pinterest single you guys come up with
24:32next so thank you guys so much thank you