*Concerns of Young Mathematicians*
Volume 3, Issue 12
Mar. 29, 1995
An electronically distributed digest for discussions
of the issues of concern to mathematicians at the
beginning of their careers.
An Interview with Tom Davis at SGI
Just as general interest, here's my background: I've got a PhD in
mathematics from Stanford, nad did a post-doc for about 3 years in EE,
also at Stanford. I taught some math and computer science in small
colleges for a couple of years, and since then, I've worked in industry
-- first for a company that did an office automation system, and for the
last 13 years at Silicon Graphics where we're most famous for our graphics
workstations. Silicon Graphics employs about 5000 people world-wide,
of whom perhaps 1200 are in engineering -- about 700 in software and 500
in hardware. I work primarily on graphics software.
Some of the comments below may seem a bit negative, but I really love math,
and always have. I still teach some volunteer math classes, read
math books, work on problems/puzzles, and so on. It's just that a
lot of the things I love don't help anybody make any money, so industry's
not particularly interested in paying me to do them.
Remember also that my point of view is pretty limited -- my company builds
and sells computer hardware and software, so the sorts of things I recommend
below are highly biased in that direction. We don't build bridges
or design wonder drugs or make rockets.
1. If you were beginning graduate school in mathematics
today, what courses would you take to be as valuable as possible in the
job market a few years from now?
It would probably depend on how smart I was, and what I wanted to do.
Obviously, if I were one of the top 2 or 3 mathematicians in the country,
I'd be virtually certain of getting an academic job whereever I wanted,
so I could stick to pure mathematics if that's what I liked.
For the rest of us, however, it seems clear that even if you want to be
in academia, the future job market there is pretty uncertain, so it would
be wise to take some more applied courses, or better yet, get some experience
via summer jobs or something in industry.
So outside of mathematics, the most useful courses I took or audited were
in computer science and electrical engineering -- particularly those that
required me to build something or make some software work. I actually did
sit in on a lot of physics, chemistry, and biology courses as well because
they interested me, and it's sometimes useful, when dealing with customers,
to know something about what they're trying to do.
In computer science, I'd recommend introductory courses in a few basic
areas -- it's nice to know how a compiler works, how an operating system
works, how to write solid, production code, and (at least at Silicon Graphics)
something about graphics and image processing.
In electrical engineering, it's nice to be able to read a digital circuit
diagram, although there's certainly no need to know how to design one.
Some simple knowledge of the hardware architecture or your computer can
make a 10 times performance difference in your code.
For math courses I recommend, see the next answer.
2. What are the mathematical tools that you use most? What
are the things I should be getting familiar with? Is there a particular
computer language or skill that is absolutely necessary in a new
I've worked in a lot of areas of computer science, and until I began
working with graphics, I used very little mathematics other than basic
principles of logic and deduction. It's a good idea to have some
idea how to estimate the performance of an algorithm which can be tricky.
In graphics, I use linear algebra heavily, projective geometry, and some
differential geometry. Other people here who do a lot of image processing
work know a bit about the various filtering techniques (Fourier transforms,
finite Fourier transforms, wavelets, and so on). I'd guess that in the
next few years, there will be a lot more work in image processing because
it's finally getting cheap enough to do quite interesting things on relatively
Some of the work here requires a bit of numerical analysis, and a lot of
our customers use it heavily. We don't do any differential equations
work here, but a lot of customers do, so it's good to have some expertise
in that area in-house. These folks will deal with the customers and
with the hardware designers and make sure we're building the right stuff.
Actually, the folks here that do this are not mathematicians -- they're
often physicists or mechanical engineers who have had huge amounts of practical
experience with PDEs.
3. Suppose you are talking to a brilliant, new math Ph.D.
with a "pure" background who really wants to get a job in industry in the
next year or so. What minimal re-education path would you suggest?
If you're a brilliant PhD, you presumably are smart enough to teach
yourself. I'm not brilliant, and that's what I did. I bought
books on the topics I mentioned above and bought a cheap computer, and
was my own professor. I wrote a simple interpreter, compiler, and
operating system basically from scratch, and it's amazing how much I learned.
I bought chips and built some simple circuits, including flip-flops, adders,
counters, et cetera, which also proved to be extremely valuable.
The main problem with the above scheme is that it's hard to get a job without
"official" certification -- none of this stuff appears on any of my transcripts
-- so you should not count on starting in your ideal position. Get
any computer job in a company that has jobs like the one you really want,
and after a year or two, if you prove to be competent, you can move to
any of those jobs. In industry, after a couple of years, nobody cares
what your degree is or where you went to school -- all that matters is
how well you've done there.
My first non-mathematical job was in a marketing group, teaching customers
to use a sort of complicated word-processor. I was able to get the
job because I had some teaching experience as a graduate student and in
a junior college. Once I was in the company for a while, it became
obvious that I had some technical ability as well, and I never had any
trouble getting a job after that.
So my advice is that if you want to change careers, get whatever related
job you can, and do a really good job. Also, read as much as you
can about software engineering on the side -- there is a huge amount to
learn, and it's not easy to "derive it from first principles".
4. How many Ph.D.'s from mathematics are in your employ?
How many statisticians? Physicists?
I think there are 4 math PhDs here. I'm a graphics hacker, another
of us writes compilers, but the two others actually do some mathematics.
One works on problems of surface description and algorithms, and the other
works a lot with numerical accuracy concerns for various algorithms.
I actually do a little mathematics, since a lot of people know I've got
a PhD, it seems like once every couple of weeks or so somebody comes by
with some problem that has a mathematical component and I "consult" on
5. How many hours per week does the average industrial mathematician
Here, at least, we're all just "engineers". When there's no crisis,
it can be a standard 40 hour/week job. In a crisis (of which there
are plenty), it can be 50, 60, or 70 hours/week. I find that by being
clever, I can anticipate a lot of crises and head them off, and I probably
work 45-50 hours almost all the time. But when you're new on the
job, and trying to impress the boss, it wouldn't hurt to put in some extra
6. How is the work structured? Do they just hand you
a project and say, "This is your baby; get it done in 10 weeks?"
Or do you always work in a group? How big are these groups? Is there
always a deadline, or do some groups work on a more open-ended timetable?
Almost all work is done in groups, but the group is just handed a project
and told, "Make a machine that can draw a million triangles per second,
costs us less than $10000 in parts, and have it done in 18 months."
This may not be typical of the industry, however.
7. How do you find the mathematicians you hire? Is
there a bulletin board where openings are posted?
We never look for mathematicians; in fact, we rarely look for any degrees.
We have a job opening like "experienced compiler writer", or "entry-level
operating systems programmer", and we look for that. Of course for
jobs like those, it's more likely that the hiring managers would look at
resumes of computer science graduates (at least among people with no work
experience). If the applicant has work experience, that's what's
8. Suppose you are looking to hire an expert in P.D.E's
and after taking a look at the market and realizing you have a hundred
people to choose from, you start thinking about what other attributes
you want this person to have. What's on that list?
I'd make sure the person we hired had experience with solving them
on big machines, and had a good idea of how to deal with unreliable hardware.
For giant PDEs, we usually use networks of multi-processors, and stuff
is breaking all the time during the calculations. The algorithms
must be robust enough to survive this. Of course, I'm only familiar
with the sorts of work we do, but it typically involves huge problems requiring
9. If you could form your own applied science department
to train future employees, what would you put on the curriculum?
Actually, for our needs, computer science and electrical engineering
departments do a pretty good job at supplying 99% of our engineers.