I’ve been at a lot of different institutions over the last few years, and I think that there are number of things that new graduate students in can do on their own to get them the mindset and skills to do research more effectively. An advisor is not even needed! This advice is of course oriented towards more technical/theory types in engineering, but some of it is general. Note: I say research-oriented because there are many MS programs where students don’t really care too much about research. On the one hand, this is still good advice for them, but on the other hand, they are not trying to find a PhD advisor.
- Go to lots of seminars. This was some great advice I got from Anant Sahai when I was starting grad school. As soon as you get to grad school, sign up for all of the seminar mailing lists in your department and outside your department that you think may be interesting to you. For me it was statistics, networking/communications/DSP, one of the math seminars, and some of the CS seminars. Go to the talk, take notes, and try to understand what the problem is, why it’s important, and what tools they use to solve it. Without the right classes you may not understand the technical aspects of the talk, but you will learn about different areas of active research, how to present research (or how not to, sometimes), and new tools and terminology that may not be covered in coursework. You may see a paper referenced that you would want to look at later. Faculty will see that you’re interested in research and trying to learn something outside of class. Go to talks outside your area to learn some new things. Go to broad-audience colloquium talks to understand trends and developments across other areas of engineering outside of your interests.
- Read papers regularly. This is hard. You’re not going to understand the papers. But much like learning a foreign language, you have to read and then make notes of things that you don’t understand and want to look up later. At first, read the abstract, introduction, model, and main results, or as much as you can handle. It will be confusing, but you will get a sense of what research is being done, what kinds of questions people ask, and so on. Bookmark the things that sound interesting so you can come back to it later. Set aside a little time every few days to do this. It’s like exercise — you have to practice regularly. Read broadly so you can get a sense of how different problems/models/questions relate to each other.
- Learn LaTeX if you don’t know it already. There is nothing worse than trying to write your first paper and trying to learn LaTeX at the same time. You can practice by trying to write up a homework solution or two in LaTeX. In general, being familiar with the tools used in research before you actually “need” them is a great idea.
- Learn to program. I’m still a mediocre programmer, but I’m trying to get better. Most entering grad students in ECE don’t know MATLAB beyond the level of doing homework assignments. You don’t have to become a code ninja, but learning to write and document code that others can read, and that you can debug easily, will save a lot of headaches down the road.
- Make a website for yourself. You want to be top hit when someone searches your name and institution. It doesn’t have to have a ton of information on it, but it makes a difference. I’ve seen job candidates who somehow don’t have a homepage with information about their publications and papers. In this day and age, the first thing people are going to do after meeting you at a conference is Google you.
In general, entering graduate school can be quite daunting, and many students fall into the trap of just taking a bunch of classes in search of “what’s interesting.” The dirty secret is that most first-year graduate courses don’t have a lot of active research topics in them (maybe this is a problem). If you’re interested in doing research, you need to practice by expanding your horizons through going to talks and reading papers, building technical skills like programming and writing LaTeX effectively, and professionalizing by making a website to communicate your interests and research.
I’ve recently started seeing homepages on github (yourname.github.io). This is a fantastic idea, since it’s not only a reliable permanent homepage but also advertises that you know git and understand that modern software development revolves around source control like git. (Many large software employers ask straightaway for your github id when you apply just to see what you’ve worked on.)
That is a great idea for those who may see themselves doing software development. I think that for many (most?) signals-and-systems types, real code writing is not something they have had to do before, so I guess I was thinking more baby steps. I should probably get a page on github myself 🙂
Well, github is kind of like writing your CV in LaTeX even if you’re never going to write another byte of LaTeX in your professional life: it’s signaling. Signaling that you understand there are good (great) tools out there and you’re aware of them. Not everyone will get the message. But those who do will note that it makes you stand out from the crowd.
Oh I totally agree. In fact, what is astonishing to me is how many graduate students don’t really get the importance of signaling.
“I’m interested in doing research with you”
“Have you looked at any of my papers?”
“No…”
Signaling is a form of action, and actions speak louder than words.
I would also add that it’s beneficial to learn scripting languages in additional to traditional programming languages like C++. This has helped me immensely in processing simulations used in my research of error-correcting codes.
For research groups that rely heavily on software, I would encourage advisers to promote the use of revision control tools, whether it’s public on github or on a private Subversion repository.
Pingback: Useful for referring—2-25-2014 | Honglang Wang's Blog