Back to School
Sunday September 5, 2021
11:38am
Overcast, 18 °C
Last week was the first time in a while when I'd had a pretty long stretch of "downtime." I foolishly didn't take time off or observe holidays when I was working over the summer. I thought that it would be a bit weird of me to take time off by myself when literally every member of my team would be working (US/Canadian holidays are different). I was definitely feeling the effects of my (in retrospect, very poor) decision toward the end of my internship, and the slower pace was a welcome change.
I took the time to read some papers and coalesce some of the ideas I had in my head during the summer. Here's what I read last week:
"Hipikat: A Project Memory for Software Development"
"How Effective Developers Investigate Source Code: An Exploratory Study"
"Generating Natural Language Summaries for Crosscutting Source Code Concerns"
Questions Programmers Ask During Software Evolution Tasks"
All of these can be found for a small cost to the publishers online, but one should definitely not use their knowledge of search engine results to obtain these papers at no cost. One should also never contact me in case that they are unable to obtain these papers. Most of these papers were pretty interesting, and they were far easier to read than the systems papers I had to plow through in 508 (that already seems like an eternity ago).
What was a bit disheartening (although not completely unexpected) however, was the fact that the ideas I had floating around my brain were pretty much already implemented in these papers. A way to somehow link the vast amount of software artifacts that are generated from a development task? Yeah, Hipikat does that. A taxonomy of common questions that developers ask during development tasks? Gail did that already in "Questions Programmers Ask During Software Evolution Tasks." Can I somehow figure out the difference between how novice and experienced developers explore a software system? Nah, someone did that already in "How Effective Developers Investigate Source Code: An Exploratory Study."
These papers explored these ideas I had pretty deeply, but I still feel like they didn't solve what I personally feel like is one of the most difficult problems in software development: developers are like cats. They are largely unpredictable in terms of how they go about solving tasks, and perhaps more importantly, they are stubborn. This is why I think there haven't been any major advancements in developer tooling in a very long time. Developers generally tend to stick to what they know, and stick to what works for them. For most developers, this is literally just one IDE and perhaps one text editor. Some IDEs and debuggers have incredibly advanced program analysis/refactoring capabilities. But hey, guess what? Developers don't use them. I don't blame them, either. A lot of these tools are pretty clunky to use, and it's often hard to see the value they provide when I (and other developers) can manually do whatever task at hand without them.
This is why I think the direction I should take with my research is to not create another "new tool" that developers will inevitably end up ignoring, but I should try to focus on improving the tools that developers use already. Something that I want to discuss in my meeting with Gail next week is the popularity of fuzzy searching in IDEs (Double Shift + F in IntelliJ is my favourite "developer tool"), because that's what appears to be the most popular "developer tool" in use today.
In non-research related news, I have been put in charge of organizing an ice cream social for the TAs this term. When I accepted the role of "TA Coordinator," I never thought that expertise in ice cream sourcing would be a desired skill, but here I am. I tried to find locations that would serve individually-wrapped portions of ice cream (we're definitely not going to scoop ice cream from a big-ass container during COVID), but most locations didn't seem to have them. As a result, I think we're going to go with ice cream sandwiches instead. The two locations I've found so far that seem to have somewhat reasonable prices and gluten-free/vegan options are Earnest Ice Cream and Innocent Ice Cream.
I really think we should've started planning this earlier, but what can I do.