What I do as an assistant professor (Spring 2025)

This document summarizes my activity and lessons learned as an assistant professor of computer science at FI MUNI during the spring semester of 2025.

Disclaimer: This report can be interpreted in many ways. If your takeaway is “wow, this guy is working too much” or “wow, this guy is not nearly working enough”, that’s not productive feedback, keep that to yourself :) Also, don’t compare yourself to other people too much. Everybody’s situation is different. With that said, if you do actually have some constructive input on how to improve my time management, I’m all ears.

Methodology and limitations

“Research” questions

The low-level reasons why I’m writing this document are:

The, arguably more important, high-level goals are the following:

Time analysis

This semester, I only spent ~6 work days “on vacation”. However, that’s because most of my summer vacation was planned for late August and is consequently not included in this report. I am still accounting for 2 weeks of vacation in my expected productivity estimates, and we’ll just have to accept that the fall semester will be a bit less productive overall. Also, I was sick for 5 days, but nothing serious, so I am not really including this in the discussion.

Administration

Note that it is quite complicated to classify specific tasks as “administrative”. My own classification mostly assumes that a task is administrative if the output is not a useful “deliverable” in the teaching or science categories.

Teaching / faculty administration (~164h)

Administrative tasks include:

Emails This includes reading and responding to emails and messages, as well as doing “quick tasks” triggered by a message. In particular, this includes a lot of administrative tasks related to course organization, such as creating and negotiating teaching agreements or resolving questions from students and teachers. Bottom line: strictly speaking, not all of this time is spent responding to emails, but it typically corresponds to time spent on communication and miscellaneous reporting.

Since this is a rather high number, I wanted to add context to it and I started tracking the number of emails I interact with per month (this does not cover direct messages). Overall, these numbers are shockingly consistent month to month (with a minor decrease in the summer, and a spike at the beginning of the semester). What I learned is that in a typical month, I delete 1000-1500 emails and I save or reply to 250-300 conversations.

The emails I delete are often notification emails (“you have a meeting tomorrow”, “someone blew up this continuous integration pipeline”), newsletters, and promotions. Overall, this means they are deleted pretty quickly. My expectation is that these typically need 1-5 seconds per email. The emails that I keep or respond to are typically more diverse. Some can take 30s to read and prompt no interaction, some may need 20 minutes to write a coherent reply (also, I am only counting active conversations; if the conversation contains 10 messages per month, that still counts as “one email”).

On average, this means I spend ~17h/month on “communication and reporting”. If we assume that the deleted emails require ~2 hours of work (2-3s to identify and remove each email), then we get 3-4 minutes to process each “actual” conversation. This result strikes me as quite reasonable in terms of “efficiency”, especially compared to how unproductive and inefficient these tasks feel in retrospect.

Research group administration (~76h)

These tasks mostly cover things related to infrastructure and administration within our research group. I’m not putting these in the “science” category because they do not contribute directly to papers/grants. You can view the “administrative tasks” mostly as teaching-related overhead and this category as science-related overhead.

A large portion of this time is spent maintaining existing code or infrastructure and planning future development (~30 hours). These are typically tasks where you need someone who has the knowledge of the whole codebase and/or sufficiently high privileges. Mainly, this includes tasks like reviewing pull requests in core repositories, keeping dependencies and releases up to date, installing and maintaining software running on the lab server, or adding “mission critical” and “exploratory” features that cannot be easily delegated to junior team members.

Another large group of activities are effectively social gatherings and networking events (plenary lab meetings, lab seminars, lunches/meetings with other groups, …). While the “ROI” on these in terms of raw numbers is somewhat questionable, they are necessary for fostering good community :)

Summary

Overall, I spent 240 hours performing administrative tasks compared to 170 “planned” hours. This corresponds to 1.41x “overtime”, meaning my “effective hourly wage” for these tasks is not 500 CZK, but 350 CZK (or 56k / month).

Emails and communication are a major category here (~103h). I don’t think this part can be significantly simplified without addressing specific systemic and process bottlenecks. However, I do also expect that certain streamlining will occur over time as new tasks become routine. It is hard to estimate if this will actually lead to reduced workload, or if the volume of work will simply grow to fill the void.

Teaching and advising

Advising and reviewing bachelor and master theses (~260h)

I interacted with 20 students as thesis advisor or, in two cases, as the “main” technical consultant. Out of these 20 students, 13 defended their thesis this semester and 2 seem to have abandoned their topics. I also reviewed 7 other theses (6 at FI and one at PrF). However, I also accepted ~6 new students, so for the fall semester, I expect to interact actively with 11 supervised students.

I was also the consultant for one PhD student. Ideally, I would count this as research, but our evaluation scheme considers this to be teaching, so I included it here :)

I currently don’t have enough data to estimate the true cost of being a thesis advisor, only that the differences between students are significant. Hopefully, we can get a better picture over the next few semesters.

Note that this activity also has “indirect cost” in the form of state exams participation, i.e. each successful student “costs” ~0.5h in thesis defense time. Obviously, this was a significant portion of my teaching duties this semester.

Courses and teaching materials (~197h)

In the spring semester, I was involved in the organization of the following courses:

Courses PV239 and PV260 are to some extent “in the state of flux” due to some recent personnel changes. PB111 is mostly well prepared and running smoothly, safe for some incomplete study materials towards the end of the semester. PV256 underwent a significant “rewrite” last year and is still settling down, but mostly runs as expected. PV247 seems to be prepared and working well at this point.

Since I don’t do any active teaching in courses PV247 and PV256, all work related to these courses is already accounted for in the “administrative tasks”. Within the remaining courses this semester, my main contributions were the following:

I also spent 7h on retrospective and planning for the course PV252 which runs during the fall semester.

Note that for the NetSuite/Oracle seminar, I was always joined by a more senior seminar tutor. While I did actively participate in teaching, this mostly substituted the need to prepare for subsequent FI-MUNI seminar on my own. The homework reviews for PV260 are something that could be hopefully optimized or delegated in the future. In the current setup, it results in a lot of repetitive feedback and is another source of regular distractions.

Summary

Overall, I spent 457 hours performing teaching duties compared to 340 “planned” hours. This corresponds to 1.34x “overtime”, meaning my “effective hourly wage” for these tasks is not 500 CZK, but 370 CZK (or 59k / month).

Science (~352h)

Here, task classification is also somewhat complicated, because we can split the tasks either by project, or by the type of activity (meeting/discussion, writing, coding/experiments, …). First, let’s list tasks that don’t belong to any specific “project”:

Now let’s list the other “project-oriented” tasks, with the caveat that some recent stuff is not published yet, so I’ll need to be a bit vague about it. Another issue is that for these, I often don’t have a clear distinction between meetings and focused work, so we will again need to accept some reasonable estimates. Also note that most of the larger projects already started before this semester, so (similar to the bachelor/master students), we can’t get a complete “cost” of any project based on these numbers.

Summary

In this category, the planned and actual hours almost match (352 vs. 340), meaning the theoretical and effective salaries are more or less aligned. Importantly, 45h was spent on writing grants, 45h on attending conferences, and approximately 87h on various types of meetings and discussions. This means that out of 352 hours, only 175 (or ~50%) are actually spent “doing research”. The rest isn’t necessarily “overhead” (e.g., discussions are also a way to advance our projects), but I do wish this amount was slightly lower in the future.

Lessons learned