First Week Madness
It’s been a bit of a wild first week back to school, as I am sure other people have had as well. A little over a year has passed since I’ve started writing these weekly 1 newsletters, and it has been a wild year indeed. I wish I started writing my weekly thoughts during the start of the pandemic. That said, people say that the best time to plant a tree was twenty years ago, and the second-best time to plant a tree is today, so there we go.
TA Orientation
Just like last year, I was asked to help run TA orientation. Except this year, we started planning it basically a week before the actual orientation, and I got my required slides literally the day before. Not ideal. A lot of people don’t believe me when I mention that I don’t really enjoy public speaking. For some reason, they don’t appear to notice every nervous tic I can point out when I’m presenting. I guess they also (thankfully) don’t have access to my internal monologue 2. I really need practice to deliver a half-coherent presentation, and the fact that I got slides literally less than twenty-four hours before I needed to present was, annoying, to say the least.
I generally like to start preparing for presentations at least a week out from when I actually present. This gives me a lot of time to do a dry run of my presenter’s notes. I also don’t like using off-the-shelf templates for presentations. Most of them look like garbage to say the least, and aren’t really visually appealing. I at least want my slides to look decent to make up for my subpar presentation skills.
The slides I received for TA orientation were horrible. They had some really dated-looking clip art that wouldn’t look out of place in an elementary school parent-teacher conference presentation. They were also written in fonts that didn’t really translate well into online-presentation (please don’t use serif fonts when you’re presenting text). I spent a large chunk of the night before the presentation to fix the slides up, i.e., removing all clip art, updating the fonts to something a bit more appropriate. However, when I woke up the next morning, all my changes were rolled back (this was all in an Office 365 instance). At that point, I pretty much just gave up and decided that this one time, I’ll present using pretty much what I was given. If I do TA orientation again, I’m completely re-doing all the slides.
Research
I met with Gail on Tuesday, and I’m reminded again of how lucky I am to have an advisor like her. I don’t think I’ve met anyone (in an academic context) who I felt pretty comfortable with so fast. We basically discussed some of the papers I’ve read last week (see last week’s newsletter). The conversation quickly turned to understanding what needs to happen for development tools to become widely adopted. Gail has experience with building a metric crap-ton of tools, and she also started a company spun out of her research on developer tooling with one of her Ph.D. students. She said that in order for a developer tool to be successful, they:
- Need to have a minimum amount of configuration/buy-in required by developers.
- Need to be “learnable” by end-users very quickly (she gave an off-the-cuff number of 2 minutes for developer tools)
- Need to have some “immediate value”
I think these three points are basically saying the same thing: developers don’t want to necessarily learn a new tool. More importantly, developers don’t want to change their existing workflows. Taking this into account, we worked together to find two areas that I could dig deeper into:
-
Code search: let’s be honest,
cmd+f
/ctrl+f
don’t appear at first-glance to be developer tools, but they’re basically the first tools that they reach for whenever developers start a software change task. I will bet that if you asked 10 developers at random whether they’ve used a debugger or a global search utility more recently, more than 5 of them would reply that they’ve used the search tool more.- It’s still pretty shitty: most IDEs attempt to deliver results in a somewhat comprehensible fashion (little icons to tell developers whether a result is a class or a method or a string).
- Many papers I’ve read show that whenever a code search returns more than 10 results, developers just kinda give up; the current literature says that this is due to developers being overloaded with information. I want to ask if this is really the case, or if it’s just an instance of search tools just not presenting results in a way that actually encourages developers to systematically sift through the results.
-
Reachability: some of the most common questions that developers ask during their workday are “reachablity questions.” These are questions that pertain to the control-flow of a given set of components of a system. I think debugging is a specific instance of a reachability question, since a developer is effectively tracing the execution of a subset/slice of a program.
- It turns out that there’s very little navigational support for reachability questions in IDEs. How many times have you gotten lost while diving into a series of method calls?
These are some of the papers I’ve read this week:
- “Searching and Skimming: An Exploratory Study”
- “Enhancing Static Source Code Search with Dynamic Data”
- “Developers Ask Reachability Questions”
- “How Tools in IDEs shape Developers’ Navigation Behaviour”
I would have liked to have read more, but I think I’ll forgive myself with being occupied with TA orientation.
Other Stuff
There was a welcome social for new graduate students on Friday night at Jericho Beach. I went for a bit, thinking that there wouldn’t be too many people. Plus I wanted to unwind a little bit after long days of TA orientation on Wednesday and Thursday. As it would turn out, a lot of people were actually there. I was pretty tired out from interacting with people throughout the week, so I left pretty early (I think I was the first to leave).
I also started watching Downton Abbey. This is admittedly a bad idea, since I now have things to do (tm), but it’s a pretty relaxing way to unwind. There’s just something about English accents and laughing at the incredulous problems of the wealthy in the Edwardian era (using the wrong spoon for soup is apparently a pretty big scandal).
This was a long one, see you next week.