Monday, March 7, 2011

Interview with John D. Cook

John D. Cook

So I interviewed John D. Cook for the Border release of Singularity magazine. The most interesting response came from the final question I asked: "Last comments?" And John said,

My graduate adviser told me that he thought there would be a lot of chance for somebody who could combine theoretical math and computation. I think he was right.

Most of my career has been in that intersection and I`ve had the chance to do some interesting things.

The whole question is in the March issue. Click on the yoke above to get the magazine. Musings

Some time between my final exams and getting my first job, I`ve been afraid. "What can I do?" came up a lot. I had a double major in Applied Mathematics and Computational Science. I`m not really that practiced in mathematics, nor am I "qualified" to do programming. The search facilities want PhD`s and MSc`s (in maths). The software companies want graduates with a computer science degree, not a computational science degree. They don`t see the difference, so it takes more convincing.

Ok, just to make things up a little. You likely know what computer science is. So what`s computational science? This is the definition I return from a professor:

We write programs to clear scientific problems

Or something similar that. I wrote a plan that analysed wave motions (I think). I wrote a MATLAB program to do image texture matching with Fourier Transforms. I wrote a C program to simulate computer virus behaviour.

It`s why I never learned about databases and SQL. My scientific problems and experiments hadn`t required large amounts of data. I see that my peers in the computer science courses learnt to simulate airline ticket purchasing, and to relate to databases, and to design web interfaces.

I just typed "cc vince.c -o vince" on my Unix command line. Then "vince" to run the program. If segmentation faults didn`t assault me, then I had the output somewhere in a text file.

Luckily, I got hired a few months after graduation. A telecommunications company director interviewed me. Apparently my maths degree was an edge, because all his hires were computer science graduates. One of the departments that the manager was in point of, was the billing support department. Hey numbers! My forte! Supposedly. (No, I mean, yes, definitely my forte! [I needed to eat.]) I launch out near that supposed maths edge I had some time afterwards I was hired, when he talked with me (I think).

So John`s answer struck something deep inside me. I wished I heard that when I was in university. Then I don`t get to be so afraid that I won`t be of use anywhere.

When I did my honours thesis project (I was running on computer virus behaviour simulation), my adviser suggested I get an epidemiologist. It means I serve in the work of epidemics, such as virus outbreaks and stuff. I was more concerned in writing code, so I declined his bid to get recommendations to the Singapore CDC (or some health organisation. It was a long time ago. I forget_). I marvel what would`ve happened had I recognised his offer_

So to the (future) mathematicians out there, learn to write code. Programming is actually quite compatible with how you believe in maths.

To the (future) programmers out there, learn to extend your knowledge and skills. (You thought I was passing to say maths, didn`t you?) Software is getting more composite and simpler at the same time. That`s because the chain of needs from users is getting wider. There`s software that does facial recognition, fingerprint recognition, speech recognition, image matching, and textual analysis. There`s software that does billing, accounting, profit sharing, and banking. There`s also software that just blips 140 characters to some server. There`s software that does all kinds of things that people need or need.

Your science to write code isn`t in question. Your science to see the myriad scenarios and conditions for your package to work, is.

No comments:

Post a Comment