Geek Logbook

Tech sea log book

What Peter Norvig Learn about ‘Industrial Programming’?

Peter Norvig is known for his technical abilities, for his degree and for being the Director of Research at google. But, he also made a big contribution to the learning discussion about how to learn to program. His famous essay: Teach Yourself Programming in Ten Years. Blogged here: Peter Norvig Paper: Oh shinny! antidote is still relevant and interesting to take into consideration rather than if you are a beginner or not.

In this case, he is asking about the industrial programming:

Seibel: What were the things you had to learn about industrial programming?

Norvig: About having schedules, and keeping team members and customers and managers happy. When you’re a grad student, you don’t have to do that; just show up to your adviser every now and then.

I guess the biggest change was going from one person to a team and figuring out how those kinds of interactions work. That’s something you don’t normally get in school. I guess some of the schools are starting to bring that into the curriculum more. When I was in school, working as a team was called cheating.

Seibel: For people who are going into industry, are there other skills, beyond just the ability to write code, that people should develop?

Norvig: Getting along with people is the main thing. Being able to understand the customer is important: to know what it is you want to build and whether what you have is right. Being able to interact with them and then interact with your teammates. And interact with people higher up in
the company and your customers when you go out and see them. There are all different social relations and they require different skills.

Seibel: Has programming become a more social activity than it used to be?


Norvig: I think so. I think the computer used to be more segregated. And in the old days it was mostly batch processing, so the interface was so much simpler. It was possible to do this kind of waterfall design where you said, “The input is going to be this deck of cards, and the output is going to be a
report that has this number in this column.”

It probably wasn’t a very good idea to specify it that way. Probably right from the start you should have had more interaction with the customer. But it seemed more separable. Now everything seems more fluid and interactive so it makes more sense to say, “Rather than have a complete specification from the start, just get customers in the room and start brainstorming.”

Coders at Work – Page 292 – Peter Norvig

Leave a Reply

Your email address will not be published. Required fields are marked *.