Organizing and Documenting Work

My second-year evaluation packet is due in a couple of weeks. A lot of my materials were in order; I took the time to reorganize and backfill my archive, so the next review submissions will hopefully be pretty easy. And there will be many of them: reappointment reviews until tenure, annual performance reviews to determine pay raises, the Big One for tenure and promotion itself, and hopefully someday an application for Full Professor.

The two biggest problems for preparing these packets seems to be maintaining a complete log of relevant activities, and maintaining supporting documentation for them. Given the importance of these reviews, and the many other activities that require some form of CV or snapshot of accomplishments, it seems worth some up-front investment in tooling and organization.

Here's how I do it.


The CV

My CV (also in Texas State format) is integrated with my web site. Both versions of my CV are in HTML, generated from Markdown using Jekyll. To generate PDF‌s as needed, I either print to PDF from a browser or use WeasyPrint1.

This arrangement enables a couple of key features.

First, I maintain a single document that has both my public CV content as well as lines about non-public works in progress that should only be on internal-use CVs (e.g. for review committees). Internal-only lines are conditionally compiled using Jekyll's Liquid tags:

{% if site.show_drafts %}
-   NSF grant proposal *My Excellent Research Plan*.
    Submitted April 1, 2015, decision pending.
{% endif %}

With this scheme, my public CV automatically displays only the public content, and I can quickly produce an internal CV by running Jekyll in draft mode. So far as I know, Word has no way to conditionally exclude text.

Another advantage is that it ties in with the rest of the code for my website, particularly for citation management. I maintain a web page for each of my published papers (indexed here). Each of these pages has a citation for the paper, its abstract, and a link to relevant resources such as the PDF, talk slides, sample code, etc.

I've created a custom Liquid tag for Jekyll (source) that lets me write this:

{% pubcite choose-recs %}

This taglet will load the Markdown file for the choose-recs paper, grab the citation from it (always the first block, and it has the citation class), and insert it. In each of the paper source files, the paper's title is a hyperlink to the same page (#); the tag also knows how to edit this link to point to the page's actual URL. This mechanism enables me to maintain definitive citation information in a single place and refer to it across my web site. It also means the relevant sections of my CV source code are just a list of paper IDs; this is pretty easy to maintain.

Finally, rendering to HTML lets me pull interesting tricks such as auto-highlighting elements by year. For my annual performance reviews, the department's personnel committee wants my a version of my CV with entries for that year highlighted. I augment each line of my CV with a custom HTML attribute, year, that indicates the year of the entry. This is encoded into my citation headers:

Michael D. Ekstrand, Daniel Kluver, F. Maxwell Harper, and Joseph A. Konstan. 2015.
[Letting Users Choose Recommender Algorithms: An Experimental Study](#).
In *Proceedings of the Ninth ACM Conference on Recommender Systems* (RecSys '15).
ACM. DOI:[10.1145/2792838.2800195](https://dx.doi.org/10.1145/2792838.2800195).
Acceptance rate: 21%.
{:.citation year="2015"}

as well as other lines:

-   {:year="2015"} Program committee for ACM RecSys 2015

This renders to HTML with the custom attribute:

<li year="2015">Program committee for ACM RecSys 2015

I then have a bit of JavaScript that parses a query parameter and highlights all matching entries; you can see this in action here. I could also integrate the highlighting into Jekyll by generating the appropriate CSS rules, but so far have not needed to do this.

Since I try to keep my web site up-to-date, adding new lines to my CV for major things like new papers is not much additional work. From time to time, I also update the other sections such as service. The result is a current CV with minimal redundancy (at the source level) with the same content elsewhere on my web site.

The Archive

The other piece of this puzzle is the supporting documentation. Exact documentation requirements likely vary from university to university, but the general advice I've received is to document everything. Every teaching activity, research grant, paper, talk, service activity, etc. Roughly, I aim to have a supporting document (or more) for every line in my CV. Texas State is working on an online system to collect and maintain all of this, but my department doesn't yet use it, and I like maintaining my own copies of things anyway.

I've created a folder on my computer called ‘Work Archive’ where I collect all of these documents. This folder contains a current PDF of my CV and a folder for each year of my academic life.

Within each year's folder, I have subfolders to capture the various aspects of my activity:

  • Teaching (class syllabi, teaching evals)
  • Papers (PDFs of final or submitted papers)
  • Grant Proposals (final Fastlane PDF of each submitted proposal)
  • Service (review acknowledgements and other documentation of service)
  • Students (independent study reports, thesis proposals and theses, etc.)
  • Talks (slides of talks I give, both invited and paper presentations)

As I go forward, it's my goal to keep this file continuously updated rather than trying to backfill it when I get the ‘please upload your review materials’ request. Submit a paper? In the file. Review a paper? Print confirmation e-mail to PDF, save it in the file.

I also maintain some additional log information in this folder, like a Reviews file that contains a log of all my reviewing activity by year (to make it easier to update the CV section). I might add other such files as I find a need for them.


  1. WeasyPrint is my preferred means, but it cannot handle all the typography in my custom CV format. I use it to generate the Texas State PDF CV, but currently generate PDF‌s of my custom CV when needed using Firefox's print capabilities. I look forward to WeasyPrint implementing additional typography support, and to Firefox supporting the full CSS3 Paged Media standard.