Or: how to finish your thesis.
I recently learned that my thesis, as written, does not have enough supporting evidence - something I had suspected months ago but only confirmed in the last week. Fixing this means I need to perform a somewhat time-intensive experiment, which will take months, delay my graduation by a full semester, and require me to spend over a thousand dollars on tuition for the privelege of further bolstering my university’s publication record. I’m writing this essay because I’ve found that I am unexpectedly delighted with this outcome.
As an undergraduate engineering student, the quality of my work didn’t matter. People were mostly concerned with their grades, and grades were usually determined by very legible metrics. If the code passes these test cases, you get this score; if your robot completes this benchmark, it will receive this many points. Almost all of these metrics were purely objective and known ahead of time. There are advantages to this system: it holds everyone to the same standard, and you generally know what your grade will be ahead of time, so you can allocate time efficiently. It also makes administering large classes easy with a small staff, because grading can often be significantly automated. However, the fact that a piece of code works and runs in a certain amount of time does not automatically make that code good.
As a researcher (which is how I have spent the majority of my professional life), the quality of my work mattered very little most of the time. Research code generally isn’t written for the long-term. The point of research code is to produce tables and figures for a paper or maybe a demo. Sometimes you’re making something that needs to be a little more consistent, but this is less common. Don’t get me wrong: the actual products you make in the research process need to be high-quality, it’s just that the actual products are usually papers or presentations, not technical work. I would guess that well under 10% of my research time was spent on work that needed to be high-quality.
It is deeply disheartening for me to have my work accepted and rubber-stamped when I know that it’s actually not very good. When you try your best and fail, it can be discouraging, but it also motivates you to improve. When you phone it in and succeed, with no indication that anyone would expect you to be capable of more than this, or try harder than this, everything you do starts to feel pointless.
But on my thesis, someone cares whether the work is good or bad, for some opaque definition of “good” and “bad” that depends, at least in part, on the fact that I individually could do better. And I’ve found that, somewhat unexpectedly, I care too. Yes, my degree is ultimately just a piece of paper I’m hoping will give me an edge in beauracracies that can’t find better ways to assess competence, but I now realize that’s not all there is to it.
I used to think that the best way to deal with mind-numbing beauracracy is to minimize contact - and I do still think that’s sometimes true. Sometimes it’s better to lie, or do the absolute minimum to check a box, or break the rules. But cynicism should also be balanced by clear, affirmative intentions. It’s easy to point out when things are impractical, imperfect, or just plain bad ideas. I’ve done it before, and I’ll do it again; it’s a useful skill that can save you a lot of time and pain. But people also need things to believe in and orient themselves towards; for me, the quality of the things I make is one of those ideals. My thesis will be done in a couple of months, and it will be a work that I can be proud of.
n.b.: there are obvious consequences of this way of thinking for how schools, and particularly higher education, should be run. I’ll probably have a post on this later, as it’s a complicated subject and rationalist bloggers are supposed to have strong opinions about it.