Advising
students is probably a bit like raising children. Though I would have no idea,
because I don’t have any children yet. But the point is, they all need your
attention, regular involvement, respect and love. I do not know if I am a good
advisor to my students. I probably do some things right and many things wrong. We
are all human, and you get along better with some people than with others. But
here are a few things that, over my (short) 6-year career, seemed like
important building blocks of successful advising. None of this will probably be
surprising for experienced advisors, but perhaps new assistant professors could
find a few bits and pieces useful.
Motivation:
freedom, autonomy and authority
Graduate
students are highly talented and motivated individuals who committed to
sacrificing 5-6 years of their lives living in poverty and working extremely
long hours on risky problems with uncertain outcome for the sake of making a
giant leap in personal development and having career choices that give the
freedom to work on what you want, guarantee that you will never be bored, while
earning a decent income. These people, therefore, should be motivated
differently than, for instance, assembly-line workers. I have absolutely
nothing against assembly line workers, but the nature of work done by an
apprentice scientist is so different from the mundane routine on the assembly
line, that it requires a different style of motivation.
The key
building blocks for motivating anyone with high aspirations are, in my mind,
freedom, autonomy and authority. Students
should be encouraged to work on something that really excites them, that makes
their eyes light up. After all, the end goal is eventually for them to be
driving their own research completely independently from you. So they better
have their heart in it. You can’t treat students like replaceable “knobs” in
your research machine. You can’t force them to work on a problem they hate,
just because you got a grant in that area. I’ve often let go of interesting
research directions, because I could not find the right student to work on it.
And when I did try to push somebody to work on something that wasn’t their cup
of tea, this never worked.
The problem
is, students, when they just come in, often don’t know what they want to work
on. So you have to let them dab on a few projects, visit a few conferences and
then you wait for that moment when you see a spark in their eyes, the “a-ha”
moment. Then you know you found the right project for them. For instance, when
I was a grad student I really wanted to work on anything that involved kernel
hacking. Didn’t really matter what it was as long as kernel hacking was
required. Go figure.
By letting
my students to work on what they want and make their own decisions I ended up
working on things that I never thought I would or could, like programming
languages. At the same time this approach did not create chaos and randomness
in my research program: somehow most of the projects are still nicely arranged
around the theme of resource management on parallel systems.
Students
have to have the big picture of what they are working on. You can’t just tell
them to work on little pieces of the project, unless this is the very early
stage where they (and you) are still trying to figure out where their interests
lie. They have to make their own choices and decisions: hence autonomy and
authority. Quite often, they will come up with better ideas than your own as a
result. Sometimes, they will change the direction of the project. But in the
end this is usually always better than micromanagement.
You have to
tell a student: “This is the part you are responsible for. So go learn all about
it, make the technical decisions, consider pros and cons and bring things back
for discussion.” Then they feel that they are respected and trusted, and they
will surprise you by doing much more than you thought they could and it will be
a lot more fun for them.
I have seen
some advisers motivating their students by telling them something like: “You
must work on problem X, because I am paying you to work N hours per week on
this problem”. This is beyond
ridiculous. We are not paying these people a fraction of what they are worth,
and money is not the way to motivate anyone in whom we want to inspire creativity
and passion.
Creating
functional teams:
A team can
accomplish more than a single individual. Especially now that computer science is
getting rather mature and especially in the field of systems, which requires
lots of implementation heavy-lifting. However, this statement should be
corrected: A good team can accomplish
more than an individual. Bad teams are disastrous and demoralizing. So as an
advisor, the trick is to ensure that your students work in highly functional
teams. I don’t claim to know how to do this right, I am still learning, but a
few things emerged as basic rules:
- Avoid personality clashes. Some people just can’t get along. Maybe some advisors are able to fix that, but I am not that good. So I just don’t put these people on the same team. Period. Even if they have perfectly complementary skills and could do wonders working together in theory, things won’t work if they plainly hate each other.
- Avoid authority collisions. Suppose you have two senior graduate students who are both trying to establish themselves as a leader and who both need a PhD thesis topic. Most likely, it’s a bad idea to put them on the same project, unless the project has enough room for two PhD theses. In life, as in distributed systems, it’s always good to know who the leader is. Groups where everyone is clear on the leadership hierarchy usually function very well. You have to be careful, though, because group dynamics constantly change. A “green” PhD student will begin turning into a mature leader in no time, and then you might have to revise group composition.
Help them
where they need it most:
There are
things that graduate students can do perfectly fine on their own, like coding,
debugging, studying related work and other technical things. But then, there
are aspects of research, where your help as an advisor is very important. Students usually don’t have as much of a “hunch”
for distinguishing a more promising research direction from a less promising
one. They usually don’t know the “recipe” for structuring the research paper,
so it pushes the right buttons of that conference program committee. They don’t
have as many connections as you do, when it comes to job search. So put your
heart into helping students where they really need help and stay away from
meddling in things that they manage perfectly fine on their own.
Make
their life easier:
The life of
a grad student is hard enough. They earn very little and work very long hours,
often alone, on problems that often lead to a dead-end. As an adviser, I see as
my primary job to teach my students how to get out of those dead-end situations
and to give them hope when things seem dire.
In addition, there are so many little things that the adviser can do
that will be a huge help for a grad student. If a student is dealing with an
administrative nightmare, you can often solve the problem with one email or
phone call. If they are struggling financially and are doing a fantastic work,
reward them with a bonus. Send them to conferences, especially in good
locations. Put extra time in writing that recommendation letter. Make a phone
call about that internship. A little goes a long way.
Thanks for sharing!
ReplyDelete-- a long-time follower of your research and a new AP.