Seibel: So what makes the better reviewers better?
Norvig: Well, that they catch more things. Some of it is the trivial stuff of you indented the wrong number of spaces or whatever but some of it is, “I think this design would be cleaner if you moved this from here over to there.” So some people will do more of that and others won’t bother.
Seibel: Sort of related to that, does every good programmer turn into a good architect when they grow up? Or are there some people who are brilliant coders but only at a certain level and they should never be allowed to do bigger designs?
Norvig: I think different people have different skills. One of our best search people is by no means our best programmer, in terms of how the code looks. But if you say, “Here’s this new factor that we have—you know, how many times people click on this page after they’ve done such and such—
how do we fold that into our search results?” He’ll say, “Oh, on line 427 there’s this variable alpha and you should take this new factor and raise it to the second power and multiply it by 1.5 and add it to alpha.” Then you experiment for a couple months trying different things and you find out he
was right except it should have been 1.3 instead of 1.5.Seibel: So that suggests he just has this very good mental model of how the
software works.Norvig: He understands the code perfectly. Other people can write code
better but he understands all the implications of what goes where.Seibel: Do you think those are related? It often seems that people who
write the worst spaghetti code are the ones who can hold the most in their
head—that’s the only way they could possibly write code like that.Norvig: Yeah, I think that may be.
Coders at Work – Page 311 – Peter Norvig
Being a better reviewer and a good architect by Peter Norvig
Share this post:
Related Posts
- Management Skills for developers
Leadership and direction Vision The business vision ("vision speaks of the future") should be: Specific: Clear and simplified. Avoid redundancy and overly sophisticated words. Objective: It should be
- Learn to speak in public
First steps to public speaking When giving a presentation or starting to speak, it is sometimes common to inform the audience about things they are unaware of, which may cause stress. For example,
- Career management during our professional life
I’m not a veteran in the field. I’m in the middle of my thirties. But I found that there are some qualities I really appreciated when it appeared in the leaders and mentors I had. I would like to