Saturday, February 27, 2016

What My PhD Was Like

What it looks like to do a PhD: the view from my desk.
Recently, I have been talking to many prospective Computer Science PhD students about choosing graduate institutions and advisors. In addition to excitement, there is fear and confusion. The confusion comes not only from not knowing what to expect, but not even knowing how to think about what to expect.

One prospective student put it well when she said that she knows how she is in other work situations, but she has never done a PhD before, so she does not know what it will be like. She had been curious about things like my relationship with my advisor, my research trajectory, and whether I had hobbies. She mentioned speaking to other people at various points during the PhD, but not having the whole picture much. After this conversation I decided it would be helpful for more people to talk about their PhD experiences in entirety. Now that I am a few months out of my Computer Science PhD at MIT and am about to begin an Assistant Professor position at Carnegie Mellon University, I can talk about my PhD experience in whole. This is my version of Philip Guo's The Ph.D. Grind.

Like many other academics, I will say that graduate school was one of the best periods of my life. I grew immensely, made many friends, and learned about the research process. During my PhD, I largely got to determine my own research agenda and day-to-day schedule. I developed my tastes as a researcher. I developed my tastes as a human being. Also important to me is that I developed some of the most intellectually and emotionally fulfilling friendships of my life. I loved graduate school so much that I decided to stay in academia.

But this does not give the entire picture. "Loving graduate school" is different from loving a good meal, a thought-provoking film, a pet, or another person. A PhD is about training you to become a researcher. The further you are from being in an experimental field, the further this growth is about concrete skills and the more it is about existential questions of how you want to be. If you want to stay in academia, you must also balance the growth with ensuring you have enough to show at the end for the intellectual coming-out party that is the academic job market. This growth is painful and anxiogenic. Even if you are in a supportive environment and have great work-life balance, a PhD is not supposed to be a comfortable ride. The flip side is that, as my friend Alex describes it, during your PhD every day is "epic."

Enough philosophizing. Here, concretely, is what my PhD was like.

Summer 2008. At the end of the summer, I move into my office at MIT, where I am to be co-advised by Mike Ernst and Saman Amarasinghe. Saman pays for me to start early. I spend a couple of weeks reading papers, mostly about parallelism, and report to him every morning about what I've read. He gives me lots of advice about what life is going to be like. Mike Ernst has been in Europe this whole time. The last week of the summer, Mike Ernst calls me and tells me he is moving to the University of Washington.

2008-2009 (Year One). I'm recovering from a repetitive stress injury in my neck, so Saman advises me to take hard theory courses that involve little computer use. I take Advanced Algorithms and Machine Learning in the fall and Advanced Complexity Theory in the spring.

I get involved with and become lead author on a PLDI submission with Saman and Martin Rinard about a programming language for trading off power and accuracy. This paper is pretty good for having come into existence over the course of 1.5 months, but not objectively a great paper--and it gets rejected.

Ras Bodik, a professor at Berkeley who tried to recruit me, emails me telling me his student Armando Solar-Lezama is starting a professorship at MIT. I meet Armando and he sends me many papers to read. Soon we are meeting and working so much I no longer have time for the other project, which was a suboptimal fit anyway for various reasons. I like how much bandwidth Armando has for technical discussions, especially since he has no other students or teaching duties at the time. I am nervous that this high meeting frequency is unsustainable, so I try hard to recruit other students to Armando's group.

Armando and I submit a paper to OOPSLA but it is not good because we don't start writing it until three days before. I also submit a paper to the Haskell Workshop about my senior undergraduate thesis, but it is not good because I don't know how to write papers. My friend Jean-Baptiste who reads it asks why my blog is so good but my paper drafts are so bad.

Since I am still figuring out what I want to do, I schedule many meetings with professors and ask them how to do research. In addition to Saman's group meeting I also attend Daniel Jackson's group meeting. I go to many PhD defense and job talks. Both Martin and Saman tell me that in order to become a good researcher, I have to flounder and fail. I have never failed before. I take it as a challenge to do work risky enough to fail.

January of this year I attend my first conference, POPL. Martin pays for me to go after I email him asking how I can get to go to POPL. I meet many people, including many people at Microsoft Research. This eventually leads to my first internship.

Outside of work, I try to avoid using my computer due to my repetitive stress injury. Because of the injury, I am also aggressive about working 8-hour days and taking breaks on weekends. I am too lazy to make many friends so I spend my free time reading, cooking, doing yoga, and running.

Summer 2009. I intern at Microsoft Research in Redmond with Chris Hawblitzel. I had seen Chris's talk at POPL about verifying garbage collectors using Boogie and thought it was one of the coolest projects I had ever seen. I had not thought I was qualified to intern with him, but some of the people I met at POPL recommended me to him. This summer, we build Verve, an operating system verified for type and memory safety. I had never verified anything or built an operating system before. I work hard, 10-12 hours a day, because there is so much to learn and because the project is so fun. I work closely with Chris and he teaches me an incredible amount about working with low-level code. Outside of work, I hang out with the other interns. I live in Redmond but on weekends I go into the city, where I have two friends I stay with.

2009-2010 (Year Two). I continue to work with Armando, on the project that eventually becomes the Jeeves programming language. My first year we started with a vague idea that dynamic constraint-solving was useful for handling corner cases that static program synthesis could not handle well. We apply this to data imputation. We learn over the course of 1.5 years of paper submissions that people don't care much about data imputation, especially since our results are not particularly good. By the end of my second year, we start thinking that security might be a better application domain. This cumulative work is my masters thesis. We still have many things to figure out at this point so I am not that excited about my thesis. I try to ask for an extension but Armando tells me to just turn it in.

In the spring, Saman and I start what becomes an annual off-site retreat of all the research groups related to programming languages at MIT. People give research talks and we have philosophical discussions about the future of research, publishing, and education. At the first one, we realize there are many more people who have common interests than previously thought. After the first meeting, the professors meet together and decide to do more activities together from now on. From this point forward there is more cohesion and activities like weekly PL-related meetings.

At the beginning of this year, I start telling people that I wish I had more female friends, since I realize that there are many fewer women around me than before. My friend Neha Narula tells me to respond to a call for people interested in starting a graduate women's group and I meet Kay Furman, a PhD student in the Health Science Technologies program. Along with a couple of other graduate women we start Graduate Women at MIT. Such a group had never existed and our proposals are met with a fair amount of skepticism, more from students than from administrators. At this point I still don't have many friends, so I spent many evenings and weekends working on building the organization: recruiting, fundraising, inviting speakers, writing materials about why we need such a group, etc.

As part of my acquisition of more female friends I join a feminist discussion group, also invited by Neha. We get together about once a month for a dinner hosted in one of our homes. These discussions and my friendships with the women in the group shape many of my views over the next few years.

During this time, I look into acquiring more hobbies. I take some break-dancing classes at the Dance Complex but decide it's not my thing. I take up acrobatics (silks, rope, and static trapeze), for which I continue weekly classes on and off for about a year until I realize I am not serious enough about it (and travel far too much) to make continuing worthwhile.

Summer 2010. I intern with Nikhil Swamy and Juan Chen at Microsoft Research Redmond. They have a dependently typed language called Fine for verifying security properties. I ask to intern with them because I want to take my work in this direction. I spend most of my time working on a tool for stuffing proofs into bytecode and taking them back out. I learn a lot, but the proofs are too big and we never quite manage to get it to work. I also participate in many meetings and calls about the F* language, which is like Fine but supports proof erasure. I learn a lot about dependent type systems and security concerns.

I live in Seattle this summer, in a studio apartment on Capitol Hill. For traffic and productivity reasons, I take the 7am bus to work and stay at work until 7pm. There is a heated vinyasa yoga studio I go to after work most days. I love having a routine and Seattle in the summer and the energy of Capitol Hill at night, so I am very happy with my life. This summer, thanks to Chris's nomination, I also participate in the Lindau Meeting of Nobel Laureates, where Nobel laureates give talks about science, the research process, and the future of the world. I make friends with scientists from around the world and find the talks inspiring.

Chris and I have a paper on Verve that appears at PLDI. We win Best Paper Award. I am too young to realize that not all projects go this smoothly and not all papers are this good, so I am confused. Since this is the first paper I ever published, this becomes my new standard for paper goodness. It takes me years to realize that it is possible to do much less and still publish a paper.

2010-2011 (Year Three). Now I am done with classes, have no more routine, and have to return to working on my project I am not that excited about, so I am less happy than before. I have this OCaml interpreter implementation for proto-Jeeves that I have been working on. To make things scale, I implement a C backend and a garbage collector. It integrates with the Yices constraints solver. It is hard to do anything with this interpreter because it requires a lot of work to experiment with language features. I do not feel much hope about the project. I shop around for other projects. I consider doing an internship in hardware synthesis with David Bacon at IBM Research, but after talking to some people decide I should not switch to this area.

In the fall, I TA a new program analysis course taught by Arvind, Martin, and Armando. The professors are excited for me to help revamp the course. There are four course staff total and six registered students. Most of the work involves doing the problem sets to make sure they work. It takes a surprisingly amount of time to grade six assignments, since each assignment is likely to make different design decisions. I hold weekly recitation where three people attend. All three students are strong, so most of the time we talk about fun PL topics.

To take a break after going straight from turning in my masters thesis to doing a internship, I treat myself by taking a two-week vacation. I take a road trip through Romania (and also parts of Serbia and Hungary) with my friend Florian who I met at some conferences. My friend Kate, who I met through the feminist discussion group and who has moved to Europe for an Erasmus masters program, meets us in Vienna, where Florian is studying.

In February I attend my first workshop at Dagstuhl, a German castle that hosts focused computer science workshops. I have involved discussions many computer scientists working in similar areas. I find it excitiyng. Afterward I meet my friend Kate for a weekend in Brussels and we have adventures as usual.

This year, I also start to make more friends. I become good friends with my "cohort," the other students interested in programming languages and software engineering who I started with. I also become friends with many female scientists. I never had many female scientist friends before and this makes me happy because I feel much more understood.

Summer 2011. I decide to stay around MIT to focus on research. My groupmate and officemate Kuat Yessenov tells me it would be simple to implement my language as an embedded domain-specific language in Scala. Kuat makes a prototype implementation and begins to collaborate with me on the project. This changes everything. All of the sudden, the language has hope of becoming practical. A nice story about Jeeves emerges: it is a convenient and practical programming model that lets you factor out information flow policies. It seems natural and like the way to go--but formalization is not entirely straightforward and there are some interesting theoretical properties too. It is great to collaborate with Kuat, who is very smart. We submit a paper to POPL. We work hard, staying long nights in the office. I briefly become nocturnal in response to receiving feedback from my advisor in the evening and feeling compelled to make the changes before I sleep.

It rains a lot this summer and we both become sad. One day, Kuat leaves a fortune cookie fortune on my desk that says "It cannot rain every day."

2011-2012 (Year Four). Armando starts putting pressure on Kuat to return to his project so Kuat stops collaborating with me. I am now collaboratorless and still haven't published anything on this language, now called Jeeves, so I become more and more hopeless. A couple of my friends, Marek Olszewski and Michal Depa, leave school to do startups. Marek invites me to join him. I'm not ready yet, but I have significant FOMO (Fear Of Missing Out). I take a class about startups and become friends with Tiffany Kosolcharoen, then a student at Sloan. Tiffany and I spend hours together every week and she teaches me an immense amount about the startup world.

My friends begin to worry I will quit graduate school. My groupmate Rishabh Singh stops teasing me about my inferiority for the first time, looks at me seriously, and says, "Miss Yang! You cannot quit. You are an intellectual." Someone leaves a fortune cookie fortune on my desk that says "It does not take guts to quit." Sasa Misailovic, another one of my cohort, has an intervention lunch with me telling me that I like graduate school the most out of all of us, so if I quit then what does it mean for everyone else. I tell him everything is meaningless.

Our paper gets into POPL and everyone is relieved. I am relieved to confirm there is life after Verve. Armando is relieved for obvious reasons. My friends are relieved because they stop thinking I will quit graduate school.

During the spring I build a small conference management system using Jeeves, not because I want to but because Armando says it is important to build things to see what breaks. This takes a lot out of me because Jeeves doesn't really work yet and I previously knew little about building web applications. We run out of memory all the time and I have to wake up in the middle of the night to restart the server. For weeks after, my friends make fun of me by sending emails telling me my server is down. For weeks, Armando and I wake up with nightmares in the middle of the night that our server is down. During this process I also realize that in order for language-based solutions to work, we have to have a better story with interfacing with the database. I feel proud that I convince Armando this is an important direction of future work. I also concede that it is important to build things.

This spring I do some traveling. I win a Facebook Fellowship and travel to the Bay Area to give talks at Facebook, Google, and Berkeley. I attend another workshop at Dagstuhl and spend the weekend in Paris beforehand and meet my friend Kate in Barcelona after.

My social life becomes fantastic this year. I find the "party circuit" orbiting a nucleus of social Harvard and MIT graduate students. I meet many interesting and brilliant people.

Summer 2012. I intern at Facebook to gain "privacy street cred." I start in July because it's after the POPL deadline. The other interns starting at the same time are all Eastern European college boys. This becomes my friend group for the summer. I live in the city and commute to Menlo Park every day, staying on campus for 10-12 hours. I work hard, building a verifier for privacy policies using Haskell. I like the work but find it isolating because I'm the only person working on my project and it's not clear what I am allowed to talk about outside of work. I take daily walks with my friend Pieter Hooimeijer, who I knew from research and went to Facebook after his PhD. I work harder than I want to because of the potential high impact of this project: it is tied to a pre-launch project and if it launches well, this could be a really nice example of verification in production use at a large company. Armando flies out to Facebook at the end of the summer to discuss my project under NDA. I am so happy to see him.

2012-2013 (Year Five). I return to school but continue contracting for Facebook. I work on my verifier one day a week and fly out to the Bay Area every few weeks for a few days at a time to continue working on my project. I maintain two social lives, one in Cambridge and one in San Francisco. The bigger project I'm a part of gets cancelled around February, for political and not technical reasons. I feel very disappointed, especially because my verifier had been very close to being put into production. I also feel relieved, because I'm exhausted from having two jobs and two social lives. I make some small efforts to try to publish on what I built, but Armando is not excited and the team at Facebook has scattered. We file a patent.

The rest of my research is not satisfying this whole year. I work on extensions to Jeeves that Armando tells me are necessary for the work, but that I am not excited about. We work on integrity extensions to Jeeves that I don't think make sense. What I really want to do is figure out how to extend the Jeeves programming model to the database, but I can't work on this until after we finish this other stuff. I submit an uninspired paper to CAV. One of the reviews says, "I cannot believe there are four authors on this paper and so many typos." I am not excited about anything by the end of this year.

In the spring, I take a class in the Media Lab with Ethan Zuckerman about new media. Half the students are technologists and half are mid-career journalists at Harvard and MIT on various fellowships. This gets me thinking much more about media, online communication, and civic participation.

Summer 2013. I stay around school to work on the integrity story for Jeeves, which I continue to not believe in. Armando tells me it is time for me to graduate and go on the academic job market. I tell him the academic job market is a big commitment because 1) I don't know that working alone forever is the best way to achieve the things I want to achieve and 2) the work/life balance doesn't seem great. He says 1) is a result of how he chose to run his group, but if I don't want to put in the work of being a professor then I should wrap up my work as quickly as possible and move on with my life. We are both sad.

2013-2014 (Year Six). I spend a month having in-person and Skype meetings with people about other career paths, for instance working at LogicBlox or Jane Street Capital. After my mother reminds me I don't have to do computer science anymore, I consider becoming a writer or an artisan specializing in linocut block prints. Rocky, who works on my floor, tells me that usually everyone on the seventh floor can hear when I laugh, but he has not heard me laugh for six months.

During this time, I also visit Andrey Rybalchenko and Byron Cook at Microsoft Research Cambridge. I enjoy myself immensely and have many stimulating meetings and become exposed to the field of executable biology. (Later I find out this was a secret interview.) I determine that nothing else is as exciting to me and even though academia is a big commitment it seems worth it. I tell Armando I'm ready to go on the job market and he says he already told everyone I wasn't anymore and plus it's better for me to wait. I am more than fine with this, since a big issue had been that I don't want to leave yet.

After I determine that one of my main issues with my project is that nobody uses Scala for prototyping web apps, I decide to switch to Python. Armando lets me take on an MEng (masters) student to convert our implementation to Python. I find Travis Hance. He finishes the conversion in the fall and we spend all spring collaborating on building a web framework based on Jeeves. I am really excited to finally be thinking about the problem of extending the programming model to the database, especially as this is something I had wanted to do for two years. I love having Travis as a collaborator. We decide to submit to OSDI. During the weeks before OSDI, we work together for 10-12 hours a day. I introduce him to many Kendall Square restaurants. During our breaks, we create Haskell Ryan Gosling.

During this time I also decide to take my interest in writing more seriously. The previous year I had come across a former problem set partner Carl Schoonover on Business Insider's list of sexiest scientists in the world and discovered he had been achieving my science writing dreams: writing a book, speaking about science, and even starting a group called NeuWrite to promote collaborations between scientists and science writers. I had brought him to MIT to speak, which led to two things: 1) me assembling an RSVP list of Harvard and MIT graduate students interested in science writing and 2) Carl deciding I was a good person to take over the NeuWrite Boston group, as group membership was shrinking and the current leaders were moving away. One of the journalists from my new media class introduces me to science writer Amanda Gefter and we take over the group. We build a new group from the event RSVP list and Amanda's writer friends. I spend much of my free time 2014-2015 building the group, thinking about writing, and writing. I start publishing not only on my own blogs but also in more public venues. A couple of my Quora answers get published on Forbes and my pieces for The Muse get chosen to run in Forbes and Newsweek.

Summer 2014. PLDI is in Edinburgh at the beginning of June and my friend is getting married in Croatia at the end of June. Since Armando is paying for the trans-Atlantic flights, I scheme to remain in Europe for the month. I set up another visit to Microsoft Research Cambridge and a visit to the Max Planck Institute in Kaiserslautern, Germany. I get good feedback on my work during both visits. I then spend a long weekend in Berlin visiting my friend Kate and a week wandering around various parts of Croatia for vacation purposes. I see Oslo for a day on the way back. I find the entire trip relaxing but find it difficult to return to normal life after.

Our OSDI submission gets rejected, so I spend the rest of the summer cleaning up the paper and doing more work to submit to PLDI. I feel an incredible amount of angst about my uncertain future as I prepare for the job market. I spend one day a week doing extreme exercise, cycling 50+ miles or running 11+ miles, to obliterate all thoughts. For various reasons I also spend a lot of weekends in New York and make more friends with people working on data and journalism.

2014-2015 (Year Seven). I spend most of the fall preparing a submission about the Jeeves-based web framework to PLDI. I also work on my job applications. I go on the job market, interview, etc. I get some offers, accept a position at Carnegie Mellon University, and defer a year to collect myself before beginning and also to explore my interest in applying programming languages and biological modeling.

To keep myself from thinking about my uncertain future all the time, I start a cybersecurity accelerator, Cybersecurity Factory, with my friend Frank Wang, with the goal of helping research-minded people start companies. After Frank and I ran out of research things to talk about the natural next step was to develop a project of mutual interest and we're both interested pushing academic research into the world.

I don't have much of a social life this year. For a couple of my interviews I stay with friends beforehand and they listen to my talks. My friends Alison and Tobi make sure to force me out of my house for non-work reasons every once in a while. Every few weeks my friend Angela comes over and cooks me dinner. I remain grateful for my friends.

Summer 2015. I spend the first part of the summer working on writing up the Jeeves-based web framework work, which has continued to be rejected from every conference. I get the framework to be much faster and work with my collaborators on a cleaner semantics. We submit to POPL and then I work on my thesis. The introduction and related work take much longer than expected, maybe about a month.

During this time I spend maybe about a third of my time working on the accelerator and doing public communication about cybersecurity. We accepted two teams for our Cybersecurity Factory pilot program and we work closely with them to make sure they are getting the support they need. I spend a good amount of time on the phone with media people getting press for our program. I write an op-ed for the MIT Tech Review.

Somewhere in there I take a 36-hour trip to Singapore to give a talk at a data privacy workshop Saman is organizing. Saman gets the people to fly me business class so I can sleep in transit. It is my first time flying business class. I am confused about what to do with such frequent deliveries of hot towels to my seat.

I don't have much of a social life during this time either. Several people text me "you have to eat sometime" after I repeatedly decline meal invitations.

2015-2016. I defend! I take two weeks off and then start a postdoc at Harvard Medical School. I slowly ease myself back into having hobbies and seeing friends. Our POPL submission gets rejected and I finally spend a lot of time thinking about how to sell the work (rather than how to do the work). I learn that despite pressures to make the work better until the last minute, I need to fight to spend a long time on the writing, especially if the proposed idea is outside of the mainstream. A nice story emerges about a new and practical web programming model that allows programmers to factor out information flow policies across the multiple runtimes of the application and database. Our paper finally gets accepted at PLDI. I feel relieved to publish the final part of my thesis. And here we are now.

For those wondering what to take away, it is important to note that every PhD experience is unique influenced by factors such as the advisor relationship, institutional requirements, the funding situation (both professional and personal), and the academic and social environments. I am privileged to have had a relatively supportive environment and few additional pressures. My experience is most likely to generalize for other computer science PhD students at top schools, where the funding situation tends to be good and advisors tend to give students a fair amount of freedom.

You may also be interested in other posts I've written about my PhD:
--

Addenda:
  • You may be interested in reading the comment thread for this post on Hacker News.
  • My friend and former groupmate Nadia pointed out that during 2014-2015, I claim to have no social life "but we went to so many cool parties." It's true. Over the course of the year I did go to some cool parties.
  • My friend Michael, who I once dated, said I should mention the existence of romantic relationships during the PhD to provide a more complete picture of my life. Chris Martens also says in her blog post about her PhD that she is frustrated when people don't discuss the interplay between romantic partnerships and work. Over the course of my PhD I was in a few committed romantic relationships, mostly with other academics, mostly in other fields. Some of the time I was in relationships coincided with periods of extreme work. This was difficult to balance, but other academics tend to understand. I was never in a relationship where someone else was routinely doing any portion of the domestic labor. I was also single for a significant portion of my PhD.
  • Berkeley PhD student Stephen Tu has begun compiling a list of PhD reflection here.

Thursday, February 25, 2016

A Game Called "Professor"

I first wrote this as a Facebook post and am reposting it here so it's easier to find.

I have been playing a game called "Professor." Still learning the rules, but here's what I have so far.

You are assigned an avatar, institution, and number of lives. You start out with some amount of money and influence. You trade the money and influence for students, which cost a fixed amount of money and variable amount of influence. Students generate discoveries, which convert to influence at variable rates partly determined by attributes of your avatar and institution. Collaborating with other professors can increase money, influence, and discoveries, but may reduce your number of lives. You have to do service work in order to retain your influence, but this reduces your number of lives. You may gain more lives through taking vacation, but this puts discovery generation on hold.
If you do not collect a cumulative total of enough students, influence, and discoveries before the "tenure point," the game is over. The game also ends when you run out of lives.

I welcome other players to share tips and tricks.

Saturday, February 20, 2016

On Wearing Clothes

The author, wearing some clothes.
A few years ago, we organized a professional wardrobe event (video here) as part of one of our Graduate Women at MIT fall conference events. We received a fair amount of criticism from people who felt that fashion was "frivolous" and such an event would tarnish the reputation of the group.

I see where this criticism is coming from, but fashion is far from frivolous--especially for women. Many people have told me that people should not care so much about clothes and only care about what's inside. Most of these people also believe that "not caring about clothes" is communicated by wearing a fairly specific uniform, for instance free t-shirts, non-form-fitting jeans, and very functional shoes. Such uniforms are often not available to women (see "fake geek girl"). In Why So Slow?, on why  psychologist Virginia Valian writes that while men often have a professional uniform available to help them blend in, women tend to be "marked" and stand out no matter what they wear. Especially since clothing serves as a powerful social signal, it's important for women to take charge of what they wear and communicate how they want to be seen. (Many others have written about this. Here's a nice piece.)

In short, it requires a lot of thought to be a woman wearing clothes. Especially since my post on dressing for academic interviews got a lot of interest and discussion, I thought it would be interesting to talk about the positions I've developed about wearing clothes, as a woman in a male-dominated field and in general.

Been building a uniform a button-down shirts and dark pants.
Embrace the uniform at work. Virginia Valian says there is no "uniform" for women, but this does not mean there cannot be a uniform. Adopting a uniform is a bit of a prisoner's dilemma for women: for any individual woman, putting in the effort to dress well and stand out provides benefits but keeps women as a whole in the clothing rat race. But if this fashion editor can wear the same outfit every day, then we should be able to embrace at least the personal uniform. (Friends have pointed out that there is a de facto "uniform" for PhD women in science: ballet flats, jeans, t-shirt, cardigan.) Life has become much easier for me once I picked five outfits to wear to work each week. Life will become even easier once I figure out the Ultimate Outfit to wear every day forever.

From my "boy" phase.
It's fine to look feminine. I see many women in STEM go through the "man" (or, more generously, "androgynous") phase. I've gone through it myself. You cut your hair. You start wearing baggy pants and t-shirts and dressing like a boy. While there's nothing wrong with this, it's also important to realize it is not necessary to do this. I started thinking about why I did this after a friend pointed out my "boy" phase coincided with a period of time in college when I was struggling with not being listened to and hypothesized my gender had something to do with it. With time, I learned that changing my communication patterns, refusing to be ignored, and establishing myself in other ways went a lot further than dressing like a man. (I wrote this fairly controversial piece on changing one's communication patterns for a male-dominated work environment.) Though I still like to dress somewhat androgynously to avoid standing out too much (and was advised to do this especially for first impressions), I'm much more comfortable looking not-like-a-man these days.


A surprisingly functional feminine not-for-work outfit.
Embrace functionality. Much of women's clothing is optimized for being looked at, rather than moving in. While it is certainly possible to wear this kind of clothing as a woman on the go, having shoes you are worried about falling off of and clothes you are worried will become not-clothes without sufficient supervision places a certain amount of cognitive load. Since I'm all about men and women having comparable amounts of cognitive load, here are the ways I've come up with for achieving more parity:
  • Take flats seriously. Many women are taught that heels are the norm and flats are just in-between shoes. I've spent a fair amount of time finding flats that are unapologetically the only shoes I will be wearing. I really like oxfords (I have this pair, this pair, and this pair) and John Fluevog's designs. (I'm wearing a pair of Fluevogs in the photo above. Women have stopped me in the street to ask about them, making references to their quests for functional shoes that look good.)  That said, I also have several pairs of heels I can run in. (I really like the brand Born for this purpose.)
  • Embrace pockets. Years ago, a close friend was dating a French billionaire male chauvinist who told her “All ladies must carry a purse.” Easily impressed by money and power, neither of us left the house without a purse for at least a year. One day I woke up and realized it was a lot of work to always have to think about what purse went with my outfit and also to then carry the purse, so I started carrying things in my pockets whenever I could. After carrying my ID, a credit card, and a couple of bills in my front pants pocket for a while, I got a thin wallet insert (by Steward/Stand) for holding my essentials. (For pants, Outlier is really good about pockets. Many standard designer brands, such as 7 for All Mankind, are as well. Also, my dress above has pockets! Check out my friend Elizabeth's Pocketist blog for more pockets.) Sometimes if I don't have pockets I will put my things in my boot or, less reliably, in this garter pocket I acquired for the purpose of holding my things. I highly recommend not being a lady and not carrying a purse.
  • Find outwear that actually serve its function. I spent years ogling the raincoats and winter coats of my male friends for how they looked good and actually worked before I found my own versions of coats that don't make me choose between form and function. I've mostly been finding functional items by non-technical brands, but I also have friends who have had success finding fashionable pieces by technical brands. I've spent a lot of time drooling over coats by Nau, designed for this niche, but I haven't yet talked myself into spending money on one.

Look ma, no purse!
Pay attention to range of motion. One time I was at a friend's for dinner when I noticed my friend Caroline behaving differently than normal. She seemed more relaxed--perhaps more confident. Towards the end of the dinner, Caroline explained that she had been trying to adopt more dominant body language. Studies have shown that dominant displays such as spreading one's legs communicate--and help establish--power. Caroline said that she had success with this new body language: at an interview, she had taken care to sit with her legs open and the interviewers kept commenting on how "confident" and "competent" she seemed. Since then, I have also become more conscious of my body language. In doing so, I have noticed how traditionally feminine clothing such as dresses and heels require women to sit and move in certain way. While the movements these clothing items encourage is often associated with femininity and feminine attractiveness, they are not associated with non-sexual forms of power. (It's a whole other long conversation why it's important to have forms of power outside of sexual power.) For these reasons it is important when choosing clothes to consider whether they will permit corporeal assertions of power.

In conclusion, solving the clothing problem is an important step towards gender equality. I once heard that gender equality is when women are allowed to be mediocre--that is, women don't have to be clear standouts to justify why they deserve to be doing something. For clothing, gender equality comes when women aren't "marked," when they can blend in whether they've spent time thinking about their clothes or not. Though we're further from this point than some might think, community thoughtfulness and good discussion can go a long way. Until then, it's important not to dismiss conversations about clothing, as they serve an important function in moving things forward.

Friday, February 05, 2016

Computer Science PhD School Visits, Revisited

Here you are, PhD admissions letters in hand, trying to decide how best to spend the next n years of your life. Congratulations! The part of the process that is out of your control is over. The hard work is about to begin.

I previously wrote a couple of other blog posts (School Visits; Somes notes on picking grad schools/advisors) about the process of choosing schools and advisors. Now that I have the wisdom and authority of someone about to start a faculty position, here is some revised and reorganized advice.

This is a pretty high-level post. For more concrete advice, you may find it helpful to read my previous post or Neha Narula’s blog post on specific questions to ask.

What I Would Consider Now

If I had to make the decision again about where to go for a PhD, here’s how I would go about considering the decision, in order of most important to least.

Advisor fit. When I attended graduate student orientation, I was told that my relationship with my advisor was going to be my most important relationship for the next however many years. This was true. You’re going to graduate school to grow into the researcher you’re going to be and your advisor will be the primary person overseeing your growth. You are going to go through some tough times with your advisor, so you need to start out with enough goodwill and respect to make it through. As with a business partnership or long-term romantic relationship, you will want to consider the following things:
  • Compatible core values. Whether you like it or not, you’re going to pick up a lot from your advisor about how they are as a researcher, from the way they choose problems to the way they execute on problem to the way they walk and talk. It’s going to be a much easier growth process for you if you match on the same core values as your advisor, for instance how much you value formalism and how much you value impact. It is important to have compatible working styles. You’re going to do a lot of work with your advisor. It will really help if it’s not a battle every time you try to schedule a meeting or work towards a deadline. How hands-on is the advisor in managing the research process? How involved are they in the technical research? How involved are they in the paper-writing process? How much do they do things last minute, versus doing things early? How detail-oriented are they? How detail-oriented would they like you to be?
  • How much they care about you. When you are starting out, especially if you want a lot of attention, it is good to find an advisor who is excited about you. Excitement often doesn’t last throughout the course of a PhD, so for your long-term happiness it’s helpful to get an advisor who cares about your career development, even if your interests veered out of their comfort zone. Part of this has to do with how well your interests and skills match what the advisor is looking for. Part of this has to do with how open the advisor is to the ideas of others and part of this has to do with how much they care about students in general. You can get a sense of this by talking to them and also to people they work with.
  • "You marry the family." Especially if your advisor is more senior, you will spend more time with your groupmates and officemates from the department than with your advisor yourself. It is important to take this into account as part of the whole package.
Research area fit. You’re going to spend the most time talking to the people in your research area. They are the ones who will give you the most feedback on your choice in research problems and the way you go about solving them. The people in your research area will be who prepares you to communicate about and defend your research to the rest of the world. They are your team. You want to make sure you have one that will support you intellectually and otherwise in the ways you want. Also, it may turn out that you are not the best fit with your advisor. It is likely you’ll want to stay within the same area, so it’s good if you like the other professors in your area enough to be able to imagine working with some of them.

Department fit. Concretely, the requirements your department places on your PhD will affect your life. (How many courses do you have to take? How intense is the qual process? Are people in the department happy?) More abstractly, the department is your extended family. Presumably, you’re going to be friends with the other students in your department. Their research ideas and outlooks on life will influence your personal and professional development for the next few years. Also, you’re young: you might not stay forever in the research area that you discovered after taking a class with a charismatic professor your sophomore year. In case you decide your research area isn’t for you, it would be good to have the safety net of being in a department where you have the flexibility of moving around.

School fit. One of my favorite things about being in academia is about being embedded in a university. Being in a university means that you are surrounded by people passionate about intellectual and other pursuits. Each school has its own flavor and activities and it’s nice, if you are in a position to choose, to take this into consideration as well.

Lifestyle fit. Most people have things they like to do outside of work. By the time I was a senior undergraduate, I had spent so much of my time working I could not really imagine having hobbies again, but even I found space in my life for hobbies during my PhD. Each school will sell different lifestyle packages. Some schools are in cities. Some schools have good access to the outdoors. Some schools are in places where you could have an incredible quality of life (for a PhD student). Figure out what is important to you, whether the geographic location the school is in offers it, and whether the culture of the department and the resources (financial and otherwise) offered to you would allow you to achieve that lifestyle during your PhD years.

How I Would Consider Things

Here’s how I would go about making the decision given what I know now:
  • Don’t go with your feelings. Most professors don’t get to become professors without learning how to sell--themselves, their research, and whatever else they need to sell to achieve their professorly goals. This selling usually involves a nontrivial amount of manipulating people’s emotions to make them feel positively. That’s right. Professors are masters at making you feel whatever they want to make you feel. From this we can derive that professors are masters at making you feel you should go to their school and work with them. Therefore, it’s dangerous to trust your feelings. I recommend allowing feelings to settle for as long as possible after talking to any professor before you make a decision.
  • Talk to as many people as possible, especially people not invested in where you go. Many people are invested in you making a certain decision. Professors who are recruiting you want students--and like to win. Their students like validation that they chose the right advisor--and school. In general, people like to win. The more invested people are in your decision, the more they are going to be charming and make statements designed to make you feel more positively about a certain school or advisor.
  • Go to a place that feels different from where you are now. Many people have an attraction to what feels “safe.” To overcome this it’s often important to place more weight on the new and different so that you have more opportunities to grow.

What I Actually Did

My undergraduate professor Radhika Napgal says to take all advice with a grain of salt, since it’s largely highlights and wishful thinking. To support her point, here is what I actually did. :)

When I was a college senior, I valued fit in this order: lifestyle, school, department, research area, advisor. If you want to make your decisions based on how I made mine, here is what to do: Talk to some people. Get really excited that all these senior professors you had idolized are actually talking to you. Get overwhelmed with how many people are telling you different things. Avoid talking to people after that. Out of lack of other strong heuristics, eliminate schools based on the geographic preferences of your significant other at the time. Realize this was not the best heuristic after you and said significant other break up a year later. Allow multiple local professors to take you out to meals. Disregard the fact that you may feel more positively about their school because you have received gifts of food and time from them. Go with which school “feels” like the best fit.

Based on the decision-making process above, I ended up choosing MIT, even though it wasn’t the best research fit. Not realizing I had some agency in deciding who would be my advisor, I ended up getting assigned Mike Ernst and Saman Amarasinghe. Mike Ernst left for UW the week I arrived. Saman and I got along very well and I loved talking to him and getting life advice from him, but it wasn’t a great research fit. My PhD advisor, Armando Solar-Lezama, showed up to MIT November of my first year. His PhD advisor, Ras Bodik, had tried to recruit me to Berkeley but I told him I felt MIT was a better fit personality-wise, despite my preference for Berkeley-style projects. Ras quoted this back to me and told me to work with Armando. I became Armando’s first student. Saman and I still hang out. I attended his group meetings for years after I quit the group. Last summer he invited me to Singapore with him and got the Singaporean government to fly me business class both ways.

Things turned out all right for me, but I got pretty lucky. From my story you may take comfort in the fact that it is possible to remain alive and in research even after engaging in questionable decision-making processes. To avoid making my mistakes, however, you may also want to read about the time I almost accidentally joined a cult.

Parting Words

Remember to have fun! If it’s a hard decision, then don’t worry so much about it. You probably can’t go wrong. Try not to accidentally join any cults.

Also. If you’re reading this and CMU has admitted you, I’d love for you to join us. I love how collegial CMU is and the breadth and depth of its School of Computer Science. (How many other places have so much CS that it constitutes a School?) A graduate stipend goes a long way in Pittsburgh, which is becoming more hip every day. (I’ve long thought it’s the next Portland, even before others started saying so.) Programming languages at CMU is particularly great because we have the largest group at a university that I know of, with an incredible range from theory to practice. It’s particularly active now that they hired Jan Hoffmann, Matt Fredrikson, and me. And let’s talk about why I’m the best advisor for you. ;)