Reading and Writing Papers
As a graduate student, effectively reading and critiquing
papers will be your best tool for learning. Similarly, as a
member of the research community, effectively organizing
and writing papers will be how you disseminate knowledge
and help to shape your community (and, as a result, shape
your personal career). If you can't read or write, you
probably won't succeed as a student.
Armando Fox has collected a great set of helpful hints for technical paper writing
and reviewing. I also strongly recommend reading
Strunk's The Elements of Style.
Giving Presentations
Once you've gotten your paper accepted at a conference,
you'll need to prepare your presentation. Giving an
effective presentation requires planning and practice:
The How to Give a Talk Talk, by Margo
I. Seltzer. May 1994.
Advice to USENIX authors: preparing
presentation slides, by the USENIX Advanced
Computing Systems Association.
Doing Systems Research
Systems research is as much about the art of design as it
is about the sciences of measurement and analysis. The art
of design is difficult to teach, as it involves the
synthesis of experience from both successful and failed
past systems. Here are the best sources that I know of:
read these at least once a year.
Hints for Computer System Design, by
Butler W. Lampson. ACM Operating Systems Review, Vol.
15, No. 5, October 1983.
The Emperor's Old Clothes, by Charles
Antony Richard Hoare. Communications of the ACM, Vol.
24, No. 2, February 1981.
End-to-End Arguments in System Design,
by Jerome H. Saltzer, David P. Reed, and David D.
Clark. ACM Transactions in Computer Systems, Vol. 2,
No. 4, November 1984.
The Mythical Man-Month: Essays on Software
Engineering, by Frederick P. Brooks Jr.
Addison-Wesley Pub. Co.; ISBN 0201835959.
Equally as important as doing good work is picking good
problems to work on. David Patterson has a great talk about
this:
How to Have a Bad Career in
Research/Academia, by David Patterson. Presented
at the Academic Careers Workshop sponsored by the CRA.