The a16z Show - a16z Podcast: The End (and Beginning) of Programming
Episode Date: June 8, 2018There are over 20 million programmers out there -- and double that, if you count everyone else coding in other ways -- but where are the next 100 million developers? How do we get to a billion develop...ers? The answer, observes a16z general partner Peter Levine in conversation with GitHub co-founder and former CEO Chris Wanstrath (based on a Q&A recorded at our last a16z Summit event) lies in changing the very definition of a "programmer" and "programming". It might even mean the end of code, argues Levine (who apparently loves arguing the end of things!), and the beginning of a future where data isn't just "the new oil", but one where we all become our own "oil wells". With everyone is manipulating data -- the new programming, in a sense -- expertise can be scaled (especially with new tools) so everyone gets the answers and solutions they need. So what does this mean for open source developers? CIOs and organizations that have lots of different data streams, as well as domain experts? This episode of the a16z Podcast covers all this and more, including touching briefly on what's ahead... The views expressed here are those of the individual AH Capital Management, L.L.C. (“a16z”) personnel quoted and are not the views of a16z or its affiliates. Certain information contained in here has been obtained from third-party sources, including from portfolio companies of funds managed by a16z. While taken from sources believed to be reliable, a16z has not independently verified such information and makes no representations about the enduring accuracy of the information or its appropriateness for a given situation. This content is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. You should consult your own advisers as to those matters. References to any securities or digital assets are for illustrative purposes only, and do not constitute an investment recommendation or offer to provide investment advisory services. Furthermore, this content is not directed at nor intended for use by any investors or prospective investors, and may not under any circumstances be relied upon when making a decision to invest in any fund managed by a16z. (An offering to invest in an a16z fund will be made only by the private placement memorandum, subscription agreement, and other relevant documentation of any such fund and should be read in their entirety.) Any investments or portfolio companies mentioned, referred to, or described are not representative of all investments in vehicles managed by a16z, and there can be no assurance that the investments will be profitable or that other investments made in the future will have similar characteristics or results. A list of investments made by funds managed by Andreessen Horowitz (excluding investments and certain publicly traded cryptocurrencies/ digital assets for which the issuer has not provided permission for a16z to disclose publicly) is available at https://a16z.com/investments/. Charts and graphs provided within are for informational purposes solely and should not be relied upon when making any investment decision. Past performance is not indicative of future results. The content speaks only as of the date indicated. Any projections, estimates, forecasts, targets, prospects, and/or opinions expressed in these materials are subject to change without notice and may differ or be contrary to opinions expressed by others. Please see https://a16z.com/disclosures for additional important information. Stay Updated:Find a16z on YouTube: YouTubeFind a16z on XFind a16z on LinkedInListen to the a16z Show on SpotifyListen to the a16z Show on Apple PodcastsFollow our host: https://twitter.com/eriktorenberg Please note that the content here is for informational purposes only; should NOT be taken as legal, business, tax, or investment advice or be used to evaluate any investment or security; and is not directed at any investors or potential investors in any a16z fund. a16z and its affiliates may maintain investments in the companies discussed. For more details please see a16z.com/disclosures. Hosted by Simplecast, an AdsWizz company. See pcm.adswizz.com for information about our collection and use of personal data for advertising.
Transcript
Discussion (0)
The content here is for informational purposes only, should not be taken as legal business, tax, or investment advice, or be used to evaluate any investment or security and is not directed at any investors or potential investors in any A16Z fund. For more details, please see A16Z.com slash disclosures.
Hi, everyone. Welcome to the A6 and Z podcast. Today's episode is all about the end and new beginning of programming, featuring guest Chris Wonstroth, co-founder and former CEO of GitHub, and
an A6NZ general partner Peter Levine, who's on the board of and led our investment in GitHub.
The conversation was recorded previously at our annual A6NZ summit event.
Only this Q&A turns the tables with Chris asking Peter all the questions around his thesis about the end of programming with a glimpse ahead of what comes next.
Hi, everyone. Hello.
Thank you for joining us today.
I'm Chris, by the way. This is Peter.
If you're confused about who was who, I'm the GitHub person.
This is the end recent person.
But we've actually known each other since 2012.
We've been working together for a long time.
We're 10 years old, and we first decided to raise investment in 2012
after we were around four years old
because we wanted to branch out from our own personal networks of software developers,
from programmers.
We wanted to get into the world of business.
We wanted to really expand GitHub to anyone who was interested in building software.
And Drithen has been a huge part of that.
But Peter, in particular, has been there since 2012,
since the very first meeting that we had.
So I say that, not to say that Peter is this great guy because he is,
but to tell you that he has interviewed me so many times
that I'm very excited to interview him for once.
So this is a big moment for me.
I come from this world of really product-oriented, consumer-focused software developers
building things for other software developers.
And Peter has helped, as a software developer himself,
me and the company really expand what we're thinking in terms of customers
and in terms of our approach to business.
So this was an opportunity for us, I feel, to talk about some of the things we agree on in terms of the next 10 years
and some of the things we don't agree on.
I don't think either of us knows the truth of what's going to happen in 10 years from now,
but I think it's somewhere in the middle.
I have to ask one question.
We're here to talk about the beginning and end of programming.
How many programmers are out there in the world?
We think there are 20 million people employed that are writing code.
but the idea of what a programmer is, someone who writes software in their free time or even professionally
that's not counted in a programmer, it's way more than 20 million, it's way more than 40 million,
it's growing every day. And I think what that means isn't that the reporters are wrong or Gartner is
wrong or Red Monk is wrong. I respect this firms a lot. I think really what that means is
the term and the sort of definition is evolving and changing. We also see our customers, people that
used to use Jira, people that are in the marketing team that want to update just some copy
on a website, they're increasingly moving to something like GitHub, and they're also giving
us feature requests specifically for these teams of people that are not the core, you know,
sort of code, collaborate, ship developer pipeline. So I think the answer to question is
20 million full-time 40-hour plus developers, but don't be fooled by that number. There
is way more people who have their fingers in development than the numbers than GitHub can even tell,
and it's growing. So the more you can open that up, I think, the better is for everyone. So anyway,
what I want to talk about, though, is not 20 million or 40 million developers. We talk at GitHub a
a lot about the next 100 million developers. But what do we need to do to ensure people in the future
can become developers? For me, it's a lot more of how do we lower the barrier to entry,
how do we get more people on board, how do we make development this thing that a billion people
want to use. I think for Peter, he sees it almost, I don't want to put words in his mouth,
sees a different route to the next billion developers, and I think you see it more from data
than simplifying tools, making tools easier, lowering the better entries.
So originally I was thinking about this talk as titling it, the end of software development,
but then the end may be a little much. So it's really, how do we go from 20 or 30 million developers
to a billion developers? So in order to get to a billion developers,
I want to change the definition of what a developer and what a programmer is, right?
So when we think about sort of data as the input into a system,
we often think about right now, like, you know, facial recognition is easier done,
better done by a computer than done by a human right now.
And I started to think about how data as an input to a system
could actually change the world of programming such as it everyone becomes a programmer.
The reason why I think that programming ends, as we currently know it,
is the declarative languages that we've used since the beginning of time,
beginning of compute time, has all been based on if-then-else.
If this, do that, do this, right?
And it gets very complicated, but it's all if-then-else.
And basically, as a programmer, you have to know what you're asking for.
You tell the computer what you want it to do.
As opposed to the reverse is, I want to look at data,
and I want to instruct the outcome as opposed to a priori knowing what the input might be.
So let me give you an example.
A football coach becomes a programmer.
And if one had a program a football game and said,
quarterback throws the ball to the receiver,
if this, then that, and these guys go do this,
it's an indeterminate problem.
There's too many moving pieces like the program would be very, very complex to just run
one play. Just like if you were doing facial recognition or voice recognition, it's very complicated
to do if then else on facial recognition. So imagine now, when we have all the tools to go and do this,
imagine that through repetitive looking at football plays, the system actually learns. And it learns
what the right movements are and all of that. And then what does the coach do? The coach comes in and
optimizes that model to say, you know what, the system got it a little wrong.
here, the quarterback should move 10 yards back, whatever, and the coach in conjunction with the
system actually is a programmer, because the coach actually informs the data, and they become
a, in my new definition of the world, a programmer. And you can take this now across any field,
whether you're a lawyer, an accountant, a salesperson, and we can watch the best behaviors,
we can watch the best behaviors and best human interactions.
Let's say I'm trying to fix a transmission.
Well, I can wear goggles and I can record it,
and I have the best expert going and fixing a transmission,
and that person would then go back to that data.
And, of course, we need the right tools.
So what are the tools for us to go manipulate this data?
It won't be a spreadsheet.
It will be some visual interface where I, as an auto mechanic,
can go in and modify the output of what the system,
is doing. And in effect, we create a set of expert rules based on what the human does,
and then imagine that we go roll out those rules to everyone else who has to go fix
transmissions, or become a salesperson, or a lawyer, or an accountant, or football coaches.
And in my mind, by using data and having folks optimize the data, they actually become the
next generation of programmers. Not trained as programmers. They won't even know what a program
really is. They're all manipulating data in the context by which they are familiar with their own
expertise. So that's what I think happens. Well, so I guess my question there is my father is not a
computer guy, but very much a car guy. My father too. He loves cars. He works on them. And if I can give
him all the information at his fingertips to fix the car, I think it makes his journey much better.
But if I were to give him all the information available to fix the diagnostic program that was running on his car,
let's say he has all the data available to him.
Is he able to actually make those changes?
So one side of it is, yes, I have all this data available to me.
The other side of it, I think, is do I have the tools to make these changes?
Yes, I can understand, but can I actually affect the world?
Is there a second sort of industry or a second tier of, you know, data becomes the most important thing that says,
Yes, now everyone has access to what's going on,
but how do we actually affect that,
or do you see those things being intertwined?
I mean, I think it's very intertwined.
You know, your father, I've actually met your father.
He brought ice cream to a party once.
He did bring Peter ice cream one time.
If you're ever from Cincinnati,
please go to Greater's Ice Cream.
It's the world's best ice cream.
It's worth bringing to California.
So, I mean, imagine your dad is fixing some part of the car,
and that has been done by someone else.
And imagine if somebody else has optimized,
effectively has created the exact precise user manual for how to fix a particular part of the car.
Imagine if your dad now was wearing goggles and it looked at what he was doing,
and the system was helping him to do a better job in fixing certain parts of the car.
You take the experts who are the programmers in their field,
and they then push that knowledge off to everyone else.
So maybe your dad's an expert in certain parts of this, and he can participate in it.
It's the open source of data, right?
Everyone's manipulating this to get better solutions.
So then for the current open source developers,
people that today spend their time fixing bugs,
sort of trying to make this piece of software better,
not because they're making money off of it,
because they want to become a developer who has this name.
What does this do for them?
Does this make them become data scientists,
the current crop of open source developers,
or do they now partner more with data scientists in the future?
You know, I think that data science will become the new academic approach in computer science.
It will be less coding and more about data science, new algorithms for data science, new approaches
to understand the world around us.
So, you know, we can call this software 2.0, which is moving from code to data.
And I think many people will need to literally upgrade their skill sets to know much more about data than they will about code, my opinion.
Don't people just suck at interpreting data?
So I think about fake news,
and I think about the lies that we all see going to the internet,
and I think about programming.
Like, if we're trying to get a billion developers,
don't we feel like people in general, including myself,
are bad at data, but okay at, like,
telling people on machines what we want?
So let me parse the question in a couple of ways.
When we know what we're looking for,
we're actually very good at that.
I can write a query and say,
look for, you know, all numbers, you know, greater than 10.
When you know what you're looking for, we're actually very good at that.
What we're not good at is looking for things that we don't know that we're not looking for, right?
And so I think what's going to happen, and we're already starting to see this,
is systems in the future will actually help us see data in ways that we can't see it right now.
So let me give you an example, a real example.
There's a company that collect data off a traffic signals,
and to see how many red and green lights that occur in a traffic environment and the flow of traffic.
That's the input.
So that, I would argue, we could code that.
But the system actually uncovered the fact that there's a correlation between the lights not working
and the maintenance schedule for the light itself.
That was something that the human, in your sense, right, terrible at finding things that we don't know that we're not looking for.
because you don't know, but a computer through looking at data and looking at patterns
actually helped to determine in that situation a new thing that the human wasn't looking for
to begin with. And that's where I would argue that code breaks down. Code will say the number of
times that, you know, the current code, if light goes on, counter goes up by one, right? But
if you're not looking at a maintenance schedule there or whatever, how would you ever know to look
at a maintenance schedule? Right. So that's an example of kind of taking correlated data
and using that through a machine that I believe will start to really, you know, move us again
from this notion of intent, you know, find something to this notion of using data to find
correlations that actually we may not have been looking for.
I mean, to some people, the fake news is real news.
So that's a little more arbitrary.
But certainly, you know, the input of data, I believe, is going to be a super big deal.
So then I guess part of that is one of the things that we first talked about ever when we met
was that you worked on X-11, the X-Windows system.
Yes.
The Unix windowing system, X-Windows.
So I've used that for a long time.
It came out of the 80s.
One of the big first, in my opinion,
successful free software projects
that brought sort of this idea of open-source
and free software to consumers.
And it wasn't the best, but it was there.
And it was an option, and it was great.
So I think that is all to say that
there was once a period of time
where everyone, everyone believed
that codes intrinsic data was in being kept private.
And there was value in code.
And like, if I had this piece of code and you didn't,
I had something that was worth something.
And maybe you were in a position where,
while the industry felt that way,
you know, some of the hippies that,
you're not wearing sandals today,
but some of the hippies you either went to class with or you were.
Shirts, T-shirt, no shoes.
People in the 80s where you were hanging out,
they were really into free software.
Before a lot of us, I think, realized that there's something real there.
It's not just about hippies.
It's about there's a practical value.
Do you feel like data's in a similar?
spot. It's our valuable asset. There's intrinsic value into keeping data secret.
We once felt that about code. I don't know if I think that data being open is going to be
something that works, but I think a lot of people once felt that about code. Do you think
that we're going to want to make data more open? Yes, I think we do. You know, there's this phrase out
there, data is a new oil, right? And I have this vision that we all become our own oil well.
And we are going to dispense data. And there are now ways where people,
can get paid for producing data, right? So instead of contributing my data to some centralized
place, I can actually monetize that data, my data, to the extent that I want to, or I can
contribute it. Examples might be, if I have a camera on the front of my car and I'm going through
streets and I'm recording visual information, I can choose to maybe offer that to some service
that's going to make maps better. But maybe I get paid for that. Or if I have, what,
say our talk here, if somebody finds it valuable, maybe we get paid for it, right? And so I think
there will be a lot of cases where data becomes the purview of each individual, and we will
choose how we want to go dispense it. And I think in certain cases, our data and what we produce
will become valuable to consumers, and there'll be a market for data. And rather than all our
data going to centralized companies that are, you know, hidden inside of organizations, we
all will have control over our data.
And I think to have a market and to have economics around that data is really interesting.
So I think that's kind of the way it takes shape in terms of what happens to data and how people
own it and control it.
Yeah, that definitely resonates with me.
I've seen a lot of history repeats itself, but the time scale is always what is the most
different to me.
Free software really started in the 80s.
GitHub came out in 2007.
And for me, GitHub was very much influenced by the open source movement.
But I think for a lot of people, open source didn't become part of their vocabulary until maybe later, 30 years after free software.
So with data, do you see a similar timeline?
I mean, in some ways, it's already happening.
There are companies out there who look at Salesforce productivity.
I'm looking at the most productive salespeople in an organization, learn what they do, modify that, and then go give that information to, so where everyone gets assisted by this.
new technology, a lot of that stuff is starting to happen. We may not think about it as the data
economy or this change in programming, but it is starting to happen as we have these new models
where we can process massive amounts of information and to where the outcomes really become,
I'd say, digital assistance to humans to actually make them better, whether it's the football
player, the auto mechanic, the accountant, the lawyer, or the salesperson, each of those can be better
based on observing the experts in that field, and I would argue it's starting to happen. And sure,
it'll take a long time and all that, but I definitely see it. So my final question is hopefully
relevant to people here. It seems like this is starting to happen. Like your blog post, I think,
from a year ago on edge computing, you felt it was starting to happen. So maybe to you, a lot of
what's occurring in this conversation feels obvious, but to others it's very new. What should I
think about if I'm like a CIO or any executive at a company and I'm hearing this? Is there anything
I should do differently in the next year? Is there anything I should think about? Or is it just
like trust my team because this is happening? You know, in all of these sort of my end of
things that I've been thinking about, whether it was the end of cloud computing last year,
or the end of programming, you know, when I... Peter's trying to kill everything.
Anyway, yeah. But it starts a new thing. What has been interesting is when you, you're
you start out with these, like when I start to talk about this stuff, literally everyone
looks at me, because I've been through this now like I'm crazy. Like, are you nuts?
Program is going to be around forever and that. And as I start to think about it in my own mind and
put some concrete examples and bring things together, it actually starts to make sense even
to me. I mean, I thought about this. I couldn't really describe it now, you know, kind of
over time, you get better at sort of thinking about the examples and that. So what I would leave
for all of you is what does it mean in your organization to utilize data? I mean, I gave the
Salesforce example. That's a very real example. So where else can we model the experts in your
environment? Where can we take those, you know, kind of that data? And then how do we provide,
you know, what framework and what rules would you go and look at as CIOs on where you might
optimize things based on people doing expert work in your environment. And I will bet you, if you
start just thinking about this, because I went through this exact exercise, you will realize
that every function within your company has the opportunity to be data-driven, has the opportunity
to be iterative and cognitive based on the work that we're all doing to try to optimize
things. And once you start thinking about this, then it becomes reality. And so I'll leave you
with that, and next year we can revisit this. I guarantee you it will start to proliferate
through the industry in the same way that some of the other things are. Awesome. Well, thank you so much.
Thank you, Peter. Thanks, everyone.
