Machine That Changed The World The Interview with Bill Gates 1990 V 7C97C4381B7849D791CD357588C2FE89

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right so you said when I met you before you knew the Altair was coming the key amount was the microprocessor itself the availability of a chip that included all the elements of a computer and we saw that in electronics magazine when I was still in 10th grade in high school and we discussed what that meant and that's when we got excited about the fact that this meant computers could be purchased by individuals and used in in a different way and we we were surprised other people weren't expecting that and seen that there was so much change but it wasn't until three years later that the first product came out using microprocessor and that was when I was a student at Harvard University and Paul Allen and I were walking through Harvard Square and saw the cover of popular electronics magazine and even though it was nice because what we had predicted was happening our main reaction was that we better get going and get involved or else our whole vision was going to happen without us well Paul and I wrote down when we started the company that we felt there'd be a personal computer on every desk and in every home so we thought of it even from the beginning is a very pervasive tool as an information tool and we felt that more and more software would just increase the number of tasks that the computer would help solve and so that we were at the most exciting part of this revolution that would be taking place the early personal computers were not very powerful so the idea of fitting your programming to a small amount of memory it requires immense skill our job was to put into a computer with only 4k of memory an entire basic a full-blown floating-point basic and that's one of the greatest programming feats i i've ever had a chance to work on we had so much fun just squeezing it down and amazing people that that such a thing could be done the industry was very small in the 70s people tended to know each other and I spent a lot of my time evangelizing that is going to large companies and convincing them they should make computers like this and then going around and helping user groups get started so the people who like this stuff could all get together and share their ideas and and work together so we had a feeling as an industry that we were we knew something that other people didn't knew no and that it was very exciting and very important well the industry the industry has changed a lot now most of the people who I worked with in those earlier days are no longer involved certainly the things we felt about the pervasiveness of the tool and the importance tool all doubt is has proven to be true who sort of has the power in the industry now I mean you said back then you were going around evangelizing and asking you know different hardware makers make this hardware for me please do you think it's changed a little now it are people who are writing a software more in the driver's seat well probably beginning we felt that software was the key element that would determine how usable and how broadly applicable the machine was so we focused on on software from day one and we were actually the first microcomputer software company in terms of revenue even today a higher percentage of the dollars are spent on hardware than software although that's been shifting today software I say sometimes as much as a third of what people spend that greatly understates though the importance of software when it comes to opening up new things or deciding in which hardware you ought to buy the software is the most important element and some software companies including our own Microsoft had ended up being very profitable is that they've created high volume Hittite products and so the focus of attention is shifted very much to the software industry not nearly as much as it will over the next 10 years I mean that the center of exciting advances will be more and more on on the software side the analogies that try and explain the role of software and hardware aren't perfect but the idea of TV industry versus TV programming is is a good one or the printing industry versus the book industry and in those examples you can see that the richness of what software provides by making the machine valuable to two different people that's that's what's new it's what people pay attention to and once they see a piece of software that can help them in business or at home then they ask what hardware do they need to buy and so the the hardware is almost like a record player the one difference though is that hardware is continuing to improve so it's not not static in that way and so we have to have close cooperation between the hardware manufacturing the software developers so that we take advantage of the new things that are done on the hardware side so it'll ever be as Extreme has say a record player but it's it's the content it's the experience is all defined by the software piece when you write a piece of software you assume a certain type of hardware that's always a tough question if you assume hardware that's too powerful then you can't so many copies because very few people have that machine if you assume hardware that's too simple your product can't do as much it's making that choice is one of the most important decisions that a software company makes what hardware are the software package is targeted for [Music] creating them a piece of software is always complicated because you're doing something new if you just wanted something that had been done before you just use that old piece of software so there are no repetitive tasks means that it's very hard to estimate how hard it will be it's extremely difficult to add new people to a project because you don't get any benefit from the new people if you're having to explain to them what's going on and if their pieces don't fit in with the other pieces and so often a very small teams are by far the most productive you don't want to impose external measures on on the team because they it's up to them how enthusiastic they are if one piece is easier one piece is harder or they want to shift the design around you have to give them total flexibility if you want to get the right results and yet you want to measure what's going on certainly you can you can judge if you put smart people onto the task or they working hard but you still want to know when will they get done should you cut back in terms of what you're asking them to do and there is no science to it it's ended up that some companies pull the right pieces together and succeed and a lot of companies don't know STUV the success of great software projects you can assign to picking great people to work on the project people who are very smart in a scientific sense and you have a lot of energy and interest in what it is they're creating and in any project review I can tell if people are tuned in to what's going on if they've thought through the alternatives that they're making the right choices they thought through what the problems are going to be or not you can get a feeling whether it's a even say say within Microsoft a relatively great project team or a team that needs to be liven up or given a less ambitious task our Excel team headed by Chris Peters is a fine example of a group where everything's come together in a perfect way the team is smart they're excited the specification that we wrote has a lot of very new innovative features ones that we thought maybe we could do but there were breakthroughs along the way and new ideas came along and we were enough on top of things we could add those into the schedule and Plus which these developers look at the competitive atmosphere and they concede that a graphical interface that they're betting on is getting to be popular and Lotus is not getting its competitive product done very quickly and so they sense the opportunity and it builds even more excitement in that group that they should get their thing done the fact that we were able to pick the completion date several years in advance it's partly because we're we put enough buffer since for surprises but it's also a real milestone in the way that we manage these projects that's that's quite unusual even for us to know when something will get done in advance no it's the writing software that's our life I mean this everyday we think about could we use a different tool could we organize things differently and there's a variety of things that we're doing in our projects now that are making them more predictable one of those is that we have phases where we get a certain set of pieces done and test them before we move on to the next the idea that you think you've got something done but when you go to test it certain problems of speed or interactions come up can often make you have to go back to work that you haven't looked at for quite some time and so using this phased approach is one of the smart things we did with the Excel project when you develop software the people who write the software the developers are the key groups but the testers also play an absolutely critical role they're the ones who write thousands and thousands of examples and make sure that it's going to work on all the different computers and printers and the different amounts of memory our networks that the software will be used in that's a very hard job as you get to the end of the project you want to run all the test cases against one version and make sure that you know that version passed everything and so as you get late in the project you get a little more conservative about making radical changes to the software and finally in the last month where we are now you make sure that every change is examined by lots of the programmers so you don't get what we call a regression going backwards in terms of the reliability this means that the at the very end the testers are on the critical path it's their testing that's hard because they're not finding enough bugs to keep the developers busy all the time and the developers already thinking about the next version that they're going to get done ma they understand I mean everybody's part of the same process everybody always follows the rules there's no every project towards the end you do less stuff and that's always been the case the need for testing it is gone up is the size the products go up and it's the number of machines you're gonna run them on so the scale the scale of things changes but the basic principle I mean is the same even when I wrote basic myself the day before I burned it into a computer I wasn't making design changes I didn't have a testing team I did all all the testing myself and there was no project methodology or schedule but there was the the notion of coming to a close means testing a lot at the end of making very few changes Software's is different than other products partly because it's it's not physical and and partly because of its its complexity you can express in software millions of different cases and making sure that you handle all of them correctly is extremely difficult there are more inputs than you could possibly have time to step through and knowing which task cases are worth going through and and when you're ready to ship the thing is it's not a science it's there's more of an art to that certain teams are more careful in what they write they generate less bugs you you can know that but it still doesn't mean there might be might not be one bug that would be bad to ship the product with and so there's a whole body of knowledge being developed about how you do testing and some optimism that maybe the computer itself will be able to help in the testing process but not not much going on practically with that right now the other great thing about how its offer though is that you can you can pick exactly when you want to come out with new versions so you decide how am ambitious you want to be if you want to ship a new version in two years you're coming up with a specification that matches that that time schedule based on your experience of how long does it take to write it and test it how good of a team do you have involved with the thing and it's certainly exciting to have a product where you can update all of your users at very little cost they don't have to go and buy a new car anything they can just substitute in the new discs are even just downloaded into their work and boom they have the new version and so the old users get the benefits of your new ideas that means that literally within a few weeks of shipping a new product you can have say a million people who are enjoying using it getting onto bulletin boards and saying what they like saying what they don't like sending them reports building on top of it maybe enjoying their job more because of it and we get all that feedback and then we use that to decide how to do the next version so it's possible to get closer to your users with this kind of product than them with most other products and if you decide you want to get a new version out you know three or four months later you could do that too there's a famous to be about whether programs of a certain complexity can be debugged this came up in the Strategic Defense Initiative where some people were saying that maybe the program that would control all the sensors looking at incoming missiles and then control the reactions of the missiles going up that even if the hardware was great that the the software part he might not be able to trust it in the software industry people might like myself are optimistic that by using the right tools and breaking things down into pieces that that problem could be solved but it sort of suggests the state of the art that very smart people in the software field disagreed about whether that could be done or not so there's certainly some scale at which our current tools are inadequate the trick generally is to break params into pieces and have those pieces be individually testable and so then when you move on to the other pieces you treat it as a black box knowing that it either works or doesn't work the same ideas apply in any type of engineering area it's just that the interface the boundary between one piece of the program and another keeping that simple so you can think of it as a black box is very very hard it's part of doing very intelligent design is breaking things down and in the right way [Music] you can wrap your mind around it think about how they'll interact together I mean trying to avoid too much complexity to handle but I don't know about the the the physical analogy people that people are building software and so having the pieces be such that a single person understands all the trade-offs and everything that's going on in a piece is extremely valuable it avoids you getting into an experimental mode where you're just trying things out that never works in any of our projects even though we may have as many as 20 or 25 people involved for the major pieces we have one person we really trust he'll understands the speed and what it would take to do changes and who can look over all the changes made to that piece so the idea dividing it down so that people understand it it really has to do with you know what can you keep in your mind what can you have a total understanding of so it's it's almost a human limitation there are a variety of techniques for breaking software down into pieces and making software development more efficient many of these techniques have been sort of and everybody got excited about that very little benefit was actually derived once the the thing was put into practice software is inherently complicated if you say to somebody I want an airline reservation system to really say what you want in terms of overbooking and affairs and different airlines communicating with each other or schedule changes it's immensely complex and so you can't write a program that's any simpler than that full specification and software what we're trying to do is make it so that just by describing that specification then that's the program you don't have to do any special things besides state the problem in a very very exact form and there are advances that are pushing us in that direction fairly slowly another trick in software is to avoid rewriting the software by using a piece that's already been written so called component approach which the latest term for this the most advanced form is what's called object-oriented programming and the strongest analogy is to think of writing a book you don't go to other books and take little pieces because although say a romantic scene may have been written many times before all the details of who it is where it is are so intertwined in that text that it's easier to write it from scratch and that's the way programming has been today even though something like searching a table has been written millions of times when we have a new program that involves searching a table there are reasons why we don't grab that old code very very similar to this idea of trying to take something from someone else's book and the type of break that we're looking for is where you separate out those details from the basic idea and so the basic pieces can be used again and again and this is object-oriented programming and I wonder okay so why my program I think if you talk to the experts in any field where you have to take on a unknown challenge we're gonna be working on it for a long time you'd find that to work themselves up to their best performance and really throw themselves into it you know spend all these hours in there and give it give it their best that optimism plays a role I mean if you had a group that was about to climb Everest and you said do you guys think you'll make at the top and they said well we have to be realistic you know there's a good chance we'll will die if you might not expect them to be that the most energetic at pursuing the thing so I think it's partly when you're world-class and there is this level of uncertainty you don't want to worry about it you want to plunge ahead and have the probability of seeing breakthrough ideas that you hadn't anticipated have yourself be as open Lineman to that as possible not just counting on the fact that you won't see a shortcut along the way something you could in theory do anything is that part of it when when you program you want to think you're writing the best possible program for the task you're trying to solve and even for the very best programmers sometimes you'll see someone else's program or somebody will come along and they'll show you it can be done in a simpler way and it kind of blows your mind to recognize gosh the possibilities of clever programming are so incredible there are often neat ways to do things and good programmers stay open-minded to that even though there's no obvious way to improve what they've done they they keep looking and they listen to what other people have to say that's why we have this concept of a lot of people looking at the code reviewing the code to see if they have a better approach to it and open-mindedness is very important we can't mathematically ever prove that we've gotten the best program how do you make them optimistic butter they just born that way and the most important thing is to pick people who like to write software and who are good good developers like working with each other and they they reinforce each other's skills good developers like seeing their products sell in large quantities they enjoy the competition of doing a better job than the other company especially if the other company has more people on the project and they're entrenched and people are saying that we don't have a chance of getting in there and doing well you have to view it as a mission and build up a very high level of excitement make sure they know all the pieces of what what you're doing and assign them a very tough part of the job for us that's meant groups of about 15 people who early in the project go off really talk through what's going to happen and spend intense period of time working together we try to set that to be around two years because anything more than that you know it's hard to see the end and if you have to course-correct it's it's a bit of a problem but we need about that much time to do something that's so significant that users actually want to change what what they have - right Sondra Microsoft's going pretty quickly how do you how do you get people into the company yeah I was but that's not bright enough anyway from the day Microsoft was started the only constraint to our growth has been attracting more great programmers very smart committed people and so we're always on on the look for that kind of person and over the years you know we've gotten to know the various college campuses we've gone outside the United States and pushed the Immigration Department absolutely to its limits in terms of letting us bring in smart people from other countries it's a of considerable interest to us you know where can we find more of these world-class developers and it's been the key to our success that we found far more than our fair share what would you tell them about want to do that what is it about it that's so interesting if you're smart you often want a feedback loop so that you know of what you've done is is right and you know you can adjust in the pure sciences of course there is a concrete test of other theories work or not but the frontiers are very far out there the the practical impact of those things is fairly limited and so we can often attract people who were in a pure science at least in school to an area that requires the same precise thinking and yet has this impact that you can meet people who are using the software and they can tell you what's good or what's bad and you can work with other very smart people and show them do you have the the right stuff to do incredible software it's often somebody who's been involved in the sciences and likes the idea of a concrete test of excellence rather than just you know a very soft definition of what's right yeah if you're building an airplane and you're running behind schedule and put more people on the project what would happen to you a software product that was running behind schedule in software you can't really add people and expect to get more done because their ability to understand the program and what's going on and will require so much investment and all their work would require so much review that you'd be more likely to slow things down in in programming when you're making a change you have to know all the affected places and you have to be able to model in your head what the performance impact will be and so we when we start out with a team of a certain size we can only increase it a small amount during the course of a project putting me by that the term information in your fingertips is to remind people what a broad rule the personal computer will be plain it's not a computation device it's not a word processing or spreadsheet device it's a window onto the world of information anything that someone's interested in should be very very easy to call up onto the screen and in fact the computer over time will see what you're interested in and make that immediately available without your having to give any commands at all this includes not just text and numbers also pictures and sound information from outside a company like the news data or other people's prices or date of an educational nature learning about the human body or movies or sports should all be right there and so that that phrase is a challenge to the people in the industry to come up with the software and data and networks that will make this a valuable tool for literally for everyone lines connections in order to fulfill this idea of information in your fingertips we have to have not only a lot better software but also portable computers you can write on big flat screens so that the wall of an office could display data and you could just point to it and see more detail we need motion video and sound which current computers have very limited capabilities in those areas the machines need to get faster they need to get cheaper one reason that we don't dwell on this though is that those advances are predictable they will absolutely come just because chips get more powerful and the key technologies like storage and screen display there's so much great work going on the most open area is how available with the information be that is how easy will it be for people to reach out and find what they're interested in now finally finding information is either a software question or a question of how much information is online for example in teaching students about all of history you've got to make sure that you found somebody who understands it very well who put in the pictures and text and was financially motivated or somehow motivated to to make all that data available as a step from the 2d to the 3d interface and in a way it seems like it's at the stage Hardware right now I'm still not quite there for then it's still incredibly expensive to put on one of these demos would you say is it analogous to where someone like angle Bart was back in 1960s where he was trying to demonstrate the power of a face yeah we would term using virtual reality or artificial reality okay virtual reality's at at a very early stage the demonstrations people do a very simple scenes and the equipment's kind of unwieldy and a little expensive however it it will develop fairly quickly I don't think it'll take the same Oh 20 to 25 year period that using graphics on a computer screen took because we have the foundation we have all these personal computers and software companies and companies that build inexpensive chips that will attack this problem so it might be 10 years or maybe even 15 years but a lot of the things that you see in very specialized applications now like flight simulation will become broadly available even if the hard was expensive you can imagine an arcade that you go into and get to use the equipment on a on a temporary basis the toughest problems are also software problems the idea of making it realistic that you're walking around on the desert so right now we're it's so new to us the idea of walking around the 3d scene and just hitting a ball or something that very simple representations of what's going on are fascinating they kind of grab us but to make it an enduring phenomena where you'd really find it fun you'll have to have a lot of physical things happening and the software to make those things happen quickly and appear realistic it's quite complex although they're they're very smart people working on it Microsoft's rolling in this will be fairly limited we sell a flight simulator game and as it becomes pervasive we may do some some entertainment tiles but the most the interest comes from people thinking of walking through architectural models or traveling on the moon or our flight simulation and so our focus on improving access to information and work in the office doesn't directly overlap virtual reality there was no personal computer industry before we do I mean it didn't happen I mean there what there wasn't wasn't an industry the the most important thing was the creation of a standard where hundreds of companies build hardware that can all run the same software the effect that's had on allowing software companies to write even obscure applications and be able to sell them in high volume and therefore make money is really incredible it's a level of openness that allows people to switch their hardware without any change in the software whatsoever and now we have over 60 million machines that can take the same diskette plug it in and immediately that that software is working and so it's created the worldwide software industry that that is so very competitive and moving so quickly software engineering is now soft software is definitely engineering it's different in that we take on novel tasks every time it's not like building a certain bridge that is virtually identical to some previous bridge or some previous building the number of times those people make mistakes is very small and you know first you think well what's wrong with us why do we miss our dates and sometimes it's too slow it's because it's like we're building the first skyscraper every time or the first you know Verrazano Bridge every time and so we're having to invent the whole approaches of how pieces work together and see limitations that you wouldn't you wouldn't have expected because nobody has worked there before so in the sense of doing very novel things it's a tough area of engineering almost like the engineers work on space missions or creating all new things now they they have certain approaches that you know they do duplicate systems and they test the systems and a lot of that got a pioneer din that early space shots software will get to be somewhat more mature but it'll never be as predictable as as most areas of of engineering
Info
Channel: Тарас Бережницький
Views: 8,675
Rating: 4.8192091 out of 5
Keywords:
Id: -SED35v8lD4
Channel Id: undefined
Length: 44min 3sec (2643 seconds)
Published: Sun Feb 18 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.