“The theoretical and mathematical foundations of computer science are much more important, and much more interesting, than you might hear from a lot of CS people. This is especially the case if you are coming from a humanities or arts major. Also, CS gives you a lot of therapeutic practice in taking your emotions out of your problem-solving—thinking in a cool and rational way about problems and mistakes instead of getting upset about them.”
PhD candidate, Computer Science, Natick, United States
BA, English, Columbia University
PhD, English, Yale University
BS, Computer Science, Columbia University
PhD (pending), Computer Science, Yale University
A day in the life…
Currently, I’m working on my dissertation, so my schedule is free-form. I put many hours into programming and debugging, looking up error messages or techniques on the Web, and posting queries on Web forums. My research is in ensuring that parallel programs behave as expected. I am adding features to the system and preparing tests to show that my system is efficient enough to be practical.
I sometimes read and judge research papers for conferences. I work alone almost all the time, but I meet with my advisor regularly. I also take time for my partner, family, and friends, exercise every day, shop, and cook.
Why I love my job
I’m pursuing a PhD. in computer science specializing in systems. I love systems because it puts theory and practice together so tightly. You get to build things that work (you hope!) to solve known and pressing real-world problems, and you get to work with the deep-down nitty-gritty of computing machines and programs. This gives you powerful insights into the whole continuum from high-level theory and abstraction all the way down to instructions and transistors, and back up.
An awesome project
In a databases graduate course, I learned about the B+ tree data structure for data storage and retrieval. To deepen my understanding, I decided to translate the algorithm in the book into a working C program. I continued to improve the design and add descriptive comments. I made the code public, with a link from the Wikipedia article on B+ trees. I’ve heard from people who have used the code to understand B+ trees, and develop real-world applications, some quite complicated, and my work was cited in at least one research article.