Confessions of a researchaholic

February 14, 2013

Open mentoring

Filed under: Real — liyiwei @ 12:23 pm
Tags: , ,

If you want to strengthen your credentials for school/job applications while having fun learning about computer science research without any additional costs or hassles, I can help you.

See below (and my advising style) for details, and let me know if you have questions or comments.
Please also help spread the news; we are making this world a better place.


It is becoming more and more competitive to get to a good job or school. You need a glistering resume. And passive measures like grades, ranks, and standard test scores are no longer sufficient because they do not reflect the active skills which are crucial for today’s highly dynamic and creative job functions.

School application example: 20 years ago if you are a top 5 percent student from a number 1 department/school in your specific country/region with good GRE/TOEFL scores (all passive measures), you can probably get into MIT/Berkeley/Stanford PhD program without much problem.
Today, you will likely not make the cut without impressive active measures such as publications and recommendations from top people in your field.

Job application example: 20 years ago a Stanford PhD without any publication can probably beat a Tsinghua PhD with strong publications in getting a high tech job in the US. Today will be the exact opposite.

In a nutshell, active measures are gaining importance over passive measures. But they are also harder to come by entirely on your own.
This is why people are doing all these internships and school projects. The question is: how good are your internship/project mentors, and how much credibility their recommendations carry? If you plan to spend time on these, better pick a good mentor.


I have been mentoring and collaborating with many students and junior researchers for a while. I have this unique asynchronous style that is not only very effective (judging by the publication records and responses from my collaborators) but also very scalable (absolutely no resource constraint except our passion and commitment).

If you do well, you will get strong publications and strong letters of recommendation from me. I am well connected to top schools, companies, and recruiters. You will also have a lot of fun with your projects.
If you do not do well, you have nothing to lose, as long as you do not list me as a reference.


I work with you asynchronously through svn paper drafts and Google sites. It is up to you to decide when and where you work. The amount of time I spend on you is entirely proportional to your productivity. I seem to have this uncanny ability to remotely read human minds (and sense human emotions) more effectively than ordinary people can face-to-face (the origin of my “Jedi” nickname).

You start by telling me what interests you, and I brainstorm with you to find a good project direction.

I then pick a warm-up project, usually reproducing a known piece of work in your field of interest, such as writing a ray tracer (my favorite pet project for rendering) or implementing your favorite conference/journal paper.

Not everyone will survive this warm-up stage. But if you do, we move on to a creative project, aimed for a real conference or journal publication. You will have a chance to learn everything that ever needs to be learned about doing research and publishing a paper. I can claim this because I have several single-authored papers to prove the completeness of my skill-set. I also have papers with different numbers of authors to prove my collaboration and advising skills.


I am most experienced with senior-undergrad + graduate students as well as junior lab researchers, but I do not have any hard constraints. It really depends on how we feel about each other.

I particularly like to help those who lack proper guidance; there appears to be many irresponsible/incompetent mentors out there, so I consider myself doing a useful social service.

If you want to become my internal student, you will need to go through this process anyway.


As indicated above, we can start anytime you like.

However, you might want to time your school/job applications. For example, it is not sensible to start working with me a month before your school/job application deadline, because I will have little to say about you. A good rule of thumb is to contact me at least a year ahead.


As indicated above, you can work anywhere you like.
I have a shared online work-space for you to meet others, as well as channels for individual discussions.

I might be able to arrange a few internship quotas, but those are already very competitive, and frankly they make little (if any) difference for my mentoring style.

January 28, 2013

When to change jobs

Filed under: Real — liyiwei @ 2:54 am
Tags: ,

I have a very simple answer to this supposed complex question: quit a job that no longer satisfies the two conditions listed in my previous post.

It is probably even simpler: change when your rate of improvement is reaching diminishing returns.

Never stay with the same institution for too long, even a top one.

This also has an interesting positive side effect for switching at the peaks. You want to switch at the peak so that you are in an optimal mental state to make the right choices and in an optimal position to negotiate your next job offers. If you wait for the bottom, it is too late; your market value is already in decline.

Choosing jobs

Filed under: Real — liyiwei @ 2:29 am
Tags: ,


I have a very simple answer to this supposedly complex question: choose a job that allows you to (1) do what you really like and (2) be very good at it.

Your happiness and productivity are what matter the most, and they are direct products of the two conditions above.
There are other important things, such as pay, reputation, location, and colleagues, but they matter much less, especially in the long run.

This simple strategy works superbly for me so far, even though it can produce unconventional choices that seem puzzling. But what you think about your life is more important than what others think about it.


[Added on February 22, 2015]

The main types of CS jobs include: engineer, researcher/scientist, professor, and entrepreneur. (Manager is part of all these and thus not explicitly listed.)

I have been through the first three and will do the rest before I die.
Here is my suggestion based on personal experience.

Being an engineer/researcher/scientist in a top, reasonably established company is likely the best choice as a first job for most fresh PhD graduates. You will have a relatively stable environment to focus and strong colleagues to help you grow and network. You will also learn the crucial lessons about practicing in the real world.
(I cannot emphasize more on the importance of all these especially the last one; you will see as time passes.)

I do not recommend starting as an assistant professor as that will require a lot of efforts outside core research and advising, such as teaching and funding, which are good exercises but more suitable when you become senior.
You may also miss out practical experiences unless you can have close industry collaborations.

Being part of a startup has the workload issue multiplied, and I prefer to do that as a professor for obvious reasons.

Bottom line: the exact job probably does not matter that much anyway if you can be happy and productive.

« Previous Page

Theme: Rubric. Get a free blog at