Peter Roizen

Sketched portrait of programmer Peter Roizen, developer of the innovative T/Maker spreadsheet and word processing software.

Roizen started his career in public service as a software developer for the World Health Organization in Geneva, Switzerland; he later moved to Washington DC and worked for the World Bank. It was his work with the World Bank that led him to invent a "Table Maker" software program that would allow formulae to be abstracted from data and led to his later software efforts with T/Maker, a company he founded with his sister Heidi Roizen.

Peter turned 80 years old in 2026 and maintains an energetic enthusiasm for software and especially word games. Recently, he has built and improved word solving games in the vein of Scrabble though with a wild streak. His game www.wildwords.us is a clever variation that adds an imaginative twist to the classic crossword format. No dictionary required.

Excerpts from the 1985 Interview in the Book

I made arrangements to meet Peter Roizen at the offices of his company, T/Maker, which he co-founded with his sister Heidi Roizen. The time he spends in the offices is minimal, often as little as one day per week. Indeed, he seemed a little uncomfortable at the office with ringing phones, many voices speaking at once, and people going about the business of selling software. It was almost as if he had emerged from hibernation to meet with me. Roizen much prefers the solitude of his office at home, where he spends most of his time developing software.

In his late thirties Roizen is a casual, quiet man with a tousled look, curly dark-brown hair, and an angular face that often breaks into a warm smile. He values his independence, his freedom from the salaried, corporate world, and his ability to earn a living doing what he enjoys doing, programming. He does not put on airs about what it means to be a programmer. He does not exalt his occupation or have great designs on developing a piece of software that will change the world and make him a fortune. Instead, he looks upon himself as very fortunate to have discovered his niche[…]
INTERVIEWER: What do you like about programming?

ROIZEN: Well, I’ve always enjoyed games like chess and backgammon, because they require strategy to win, and because I always know at the end of the game whether I won or lost. Programming is very much like a game. If I just want to write a program to solve a problem without a lot of fuss, and there aren’t many decisions to make, I can usually solve the problem in a fairly straightforward fashion. But there are always different directions to take. Programming is fun because it’s challenging to make the best design decisions. One especially neat feature of programming is that it’s very clear when you do it well. When I hang wallpaper, if I pay attention I do a decent job, and if I don’t, it’s lousy, with a few turned corners. If I do a decent job programming, the program runs in a second and accomplishes the task. If I do a lousy job, it runs in ten seconds and one time out of twenty the whole thing dies. I like knowing when I’ve been successful.

Excerpt 1:

INTERVIEWER: How would you describe your approach to programming?

ROIZEN: I’m very much a “bottoms-up” programmer. I don’t worry much about global strategies because I’m never capable of seeing the whole picture until I’ve done all the specifics. “Top-down” programming is fine when you have to delegate work to various people—obviously you need some concept of how all the pieces are going to fit together. For me, programming is very much an iterative process. I always do small pieces of a program at a time. If I fiddle with the code in one place, I will probably need to change it somewhere else. I just wind my way up or down to a solution that fits.I’m also very practical. I’ve seen many intelligent people who are just not practical. They get lost pursuing some academic goal that is totally useless. Being practical is important to good programming. You must be able to guess accurately how long it will take to complete a project, have the ability to calculate what can and cannot be done in that time, and then do it, resisting the temptation to go off and do other things. Practicality is important…It’s easy to triple the time to complete a project when you’re consumed with making it the ultimate in elegance. But if you’re still working on it, it doesn’t sell too well. You don’t have a product, and that makes it difficult to earn a living.

INTERVIEWER: Do you follow certain principles in developing a program?

ROIZEN: I believe very strongly in using what I’ve written. Not that I’m the best user of my own programs, but I use them constantly so I’m aware of their shortcomings and can change them if I find something stupid. I remember a program at the World Bank that I was trying to demonstrate for someone. It was someone else’s program, and I had never used it before. When the first line came up on the screen and suggested typing HELP to get help, I thought that would be a good first step. So I typed HELP and got the message: FATAL ERROR—SEE COMPUTER ACTIVITIES PROGRAMMING DEPARTMENT. That was a case of a designer who never used his own program enough to follow even the first instruction he put on the screen. That’s a very dangerous way to do things.

INTERVIEWER: Has your life changed much since you wrote T/Maker?

ROIZEN: My life’s changed a lot—particularly my perspective on my job and salary. When I worked for someone else, I thought I always had to get a job that paid at least five percent more than the previous one, and I was adverse to taking risks. I was always thinking about salary and the next payday, because I might want to buy a new TV or stereo. When I worked at those early jobs I often wondered why anyone paid me such a good salary for doing nothing that contributed to the benefit of the world—sitting around and drinking coffee with other people, writing feasibility studies that were never implemented and programs no one could use. My job didn’t really benefit anyone other than me, and the only benefit was my salary. After a while, I began to feel I was worthless because I wasn’t doing anything useful. Now I have the feeling that I have some reasonable skills that are useful. I get satisfaction out of my work, so I’m not very conscious of the salary. If I had the choice to make half as much money and do what I want, or twice as “much money and do what somebody else told me to do, I’d choose the lower salary and the freedom. When I’m basically happy at work, I don’t need to drive a Porsche because it’s not an important part of my life. Working at what I like has become a large part of my life.

INTERVIEWER: You’re giving advice here to the new generation of programmers. Has anyone in particular influenced you?

ROIZEN: No one in particular. I did enjoy the book, Zen and the Art of Motorcycle Maintenance. Although I probably didn’t understand three-quarters of it, the few lines I did understand had a big impact on me. When I read the book, I started to think a little bit more about quality and doing things well, even when it seemed no one cared. The author described a motorcyclist who took his bike to the shop to be repaired. Without thinking, the mechanic grabbed a tool, the wrong one, and immediately stripped a nut. You find some people like that, who look at work as an unthinking activity. The author’s description of the pleasure in doing things well was influential.

Excerpt 2:

Sample code written in C that illustrates Peter Roizen’s style of writing code

Peter Roizen T/Maker C source code printout from Programmers at Work showing the main edit loop with early Japanese and Chinese character localization support.
Peter Roizen T/Maker C source code printout from Programmers at Work showing the main edit loop with early Japanese and Chinese character localization support.