26.04.2015 Views

Founders at Work.pdf

Founders at Work.pdf

Founders at Work.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Philip Greenspun 325<br />

Airplane mechanics have a direct interaction with the customer. A lot of the<br />

jobs require two to three people, so it’s kind of social, and I noticed th<strong>at</strong> they’re<br />

just really happy. Programmers are isol<strong>at</strong>ed. They sit in their cubicle; they don’t<br />

think about the larger picture. To my mind, a programmer is not an engineer,<br />

because an engineer is somebody who starts with a social problem th<strong>at</strong> an<br />

organiz<strong>at</strong>ion or a society has and says, “OK, here’s this problem th<strong>at</strong> we have—<br />

how can we solve it?” The engineer comes up with a clever, cost-effective solution<br />

to address th<strong>at</strong> problem, builds it, tests it to make sure it solves the<br />

problem. Th<strong>at</strong>’s engineering. If you look <strong>at</strong> civil engineers, architects, they’re all<br />

dealing directly with the customer and going through the whole process.<br />

Livingston: Programmers were off in the corner programming?<br />

Greenspun: The programmers were in the corner doing wh<strong>at</strong> they were told.<br />

Th<strong>at</strong>’s one reason they were so easy to outsource. If a programmer really never<br />

talks to the customer, never thinks, just solves little puzzles, well, th<strong>at</strong>’s a perfect<br />

candid<strong>at</strong>e for something to offshore. So I said, “I don’t want my students to end<br />

up like this. I want them to be able to sit <strong>at</strong> the table with decision-makers and<br />

be real engineers—to be able to sit with the publisher of an online community<br />

or an e-commerce site and say, ‘OK, I’ve looked <strong>at</strong> your business and your goals;<br />

here are some ideas th<strong>at</strong> we can bring in from these 10 other sites th<strong>at</strong> I built,<br />

these 100 other sites th<strong>at</strong> I’ve used.’ And be an equal partner in the design, not<br />

just a coder.”<br />

I wanted to grow people into being able to do th<strong>at</strong>, and I thought, “Let’s try<br />

to make these people true professionals in the sense th<strong>at</strong> lawyers and doctors<br />

and real engineers like civil engineers are professionals.”<br />

Livingston: Wh<strong>at</strong> would th<strong>at</strong> mean?<br />

Greenspun: They would have to develop the skill of starting from the problem.<br />

They would invest some time in writing up their results. I was very careful<br />

about trying to encourage these people to have an independent professional<br />

reput<strong>at</strong>ion, so there’s code th<strong>at</strong> had their name on it and th<strong>at</strong> they took responsibility<br />

for, document<strong>at</strong>ion th<strong>at</strong> explained wh<strong>at</strong> problem they were trying to<br />

solve, wh<strong>at</strong> altern<strong>at</strong>ives they considered, wh<strong>at</strong> the strengths and limit<strong>at</strong>ions of<br />

this particular implement<strong>at</strong>ion th<strong>at</strong> they were releasing were, maybe a white<br />

paper on wh<strong>at</strong> lessons they learned from a project. I tried to get the programmers<br />

to write, which they didn’t want to do.<br />

People don’t like to write. It’s hard. The people who were really good software<br />

engineers were usually gre<strong>at</strong> writers; they had tremendous ability to<br />

organize their thoughts and communic<strong>at</strong>e. The people who were sort of<br />

average-quality programmers and had trouble thinking about the larger picture<br />

were the ones who couldn’t write.<br />

Livingston: You had a different <strong>at</strong>mosphere, such as encouraging your people<br />

to be part of the process. Didn’t you also have educ<strong>at</strong>ional sessions?<br />

Greenspun: Yeah, and we had very strict code reviews. Basically the whole idea<br />

was to grow the company by having apprentices. We would bring in some<br />

people, and then the handful of people who were already there would work

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!