Brad Fitzpatrick
88
Seibel: You just mentioned taking a scientist’s approach to debugging. Do
you consider yourself a scientist, an engineer, an artist, or a craftsman?
Fitzpatrick: Either scientist or engineer. Probably more engineer. I would
say scientist was second, but only in the sense of the scientific method of
changing one thing at a time and how you diagnose problems. Engineer for
the design aspect of things. I definitely have friends who call themselves
artists or craftsmen. I’ve never thought of myself as that.
Seibel: On the other hand, there’s a lot of engineering envy in software.
You hear the jokes about, “If people built skyscrapers the way we build
software, the first woodpecker would destroy civilization.” Do you think
building software is a well-understood engineering discipline?
Fitzpatrick: No. I don’t think it’s there yet. You don’t need a license, right,
to write code. Not that I want tons of regulation, but it would be nice to
know that some of these PHP programmers with these XSS exploits aren’t
the same people writing the air-traffic-control system. I’d like there to be
some official line between those people.
I have a friend who’s a structural engineer and he went to school forever
and took all this engineering certification stuff. It’s kind of comforting to
know that the people who build the bridges I’m on studied this shit forever
and took tons of tests and stayed up all the time studying.
Seibel: But what test could you give a programmer that would give you
confidence that they can write software that will work?
Fitzpatrick: I don’t know. It’s kind of scary.
Seibel: Even without licensing, do you think programmers have any sort of
special ethical responsibilities to society? We’re arguably a profession, and
professions have codes of conduct.
Fitzpatrick: You shouldn’t kill anyone. Like with flight-control software.
But that’s kind of a rare case. I would like to ask that everyone is consistent
on their credit-card forms to like let me put in fucking spaces or hyphens.
Computers are good at removing that shit. Like don’t tell me how to format
my numbers. But there’s no ethics there. Just stupidity.