Let Students Engineer!

There’s always too much work left to do at the end of the day. If you do the research, you don’t get around to do the programming. If you do the programming, you don’t get around to do the writing. If you do the writing, you don’t get around to do the research. It’s the fate of us PhD students.

I’ve met many people trying to solve this problem through working more hours. I don’t consider this a sensible solution, as it leads to an unsustainable pace. A sensible thing you can do instead is delegating some of the work.

You may delegate research to other PhD students, PostDocs, professors,1 and sometimes to students.2 However, in the end, you need original contents for your publications and thesis. After all, research is what a PhD is about. Others can assist and provide feedback, but not take over for you.

You may delegate some of the writing, but only so much. If it’s your content then you want be the publication’s first author. If you want to be the publication’s first author, you better take the lead in writing it. Again, you may delegate specific tasks or ask others for feedback, but the majority of the work is gonna stay with you. Obviously, the same holds for your thesis.

This leaves delegating programming.

I hate to delegate programming, since I really enjoy doing it myself. Also I’m good and quick at it. It’s easy to think that the best choice is to just do it. But you can be as good as you want, it still costs you time. Period.

This leaves the question to whom to delegate the programming. You can hardly delegate programming to other PhD students, as they should probably rather delegate their programming as well. The same goes for PostDocs and professors. Which leaves students.

Unfortunately, it is difficult to find good students. For once, there are the usual challenges of getting candidates’ attention and of assessing their capabilities. And then the problem is amplified by the fixed rates we can pay students at German universities,3 which are way below what they can earn in an industry side job. Additionally, we can rarely provide hardware or a dedicated workplace.

The advantages of taking a student job at university, on the other hand, amount to getting to know researchers and research topics (which is a good thing to do in preparation of a thesis or when considering a PhD), getting credits (which is, of course, mutually exclusive to getting payed), a certain liberty in choosing the topic and technologies to work with (including fancy bleeding-edge stuff), and sometimes a little more flexibility with regard to working hours.

I was lucky to work with some exceptional students. And that some of them worked with me for quite some time. However, most students, especially good ones, tend to eventually graduate. Which brings me back to square one.

Are you a student interested in API-misuse detection? Are you looking for a job or lab? I’ve got some fancy ideas to explore and implement, so if you feel up to the challenge: Drop me a message!

  1. Just kidding. 

  2. This is usually in the form of Bachelor’s or Master’s theses about things I want to research myself somewhen later. Student’s theses are simply to slow (often not full-time) and unreliable to take over substantial parts of your current research project. 

  3. I don’t really know how this works in other countries.