“I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me.”
While you might not think it makes a big difference which talks you attend at ICSE 2017, I can assure you it does. How do I know? From experience, let me explain...
To obtain my PhD I moved directly from undergraduate studies, obtaining a bachelor's, to early graduate studies, obtaining a master's, and finally doctoral studies, obtaining a PhD. It is safe to say that my intellectual diet was primarily academic. However, shortly after completing my PhD I spent three years in a software tools startup. In this setting my diet changed significantly, and after three years of intake from some of the brightest developers I've ever known, I changed.
How do I know I changed? When I returned to research in 2011, accepting a job at ABB Corporate Research, I began performing a literature search for my first project. What I read horrified me. Why were researchers studying toy projects? Why weren't they collaborating with industry? Why were they studying such esoteric topics? Why didn't I notice this when I was a graduate student?
By spending years working with industrial-sized projects--where scalability matters--and by ranking sprint items according to impact, I had shed the academic values of "every idea is worth exploring" and "scalability is an implementation problem". While I have since mellowed, finding a happy medium somewhere between the academic and the industrial outlook, I would argue that most researchers in our field fail to take into account the industrial point-of-view and thus are at high risk of producing low-impact research.
At this point of the post, academic readers may have lost hope. Perhaps you don't have a sabbatical coming up soon, where you could get industrial experience, and consulting on the side is infeasible time-wise. Fortunately, there is a much lower impact way to glean industrial experience. Attend the Software Engineering in Practice (SEIP) track at ICSE. Every talk. Because... let's face it, if your research is in fault localization you're going to read every sentence of the latest paper on "Spectrum Search-Based Deep Learning Analytics Fault Localization" at home. But on your home campus you're unlikely to run across a group of practitioners sharing their experiences and challenges... and that's what you really need to make your research great.
Assuming you're convinced that it's important to hear a practitioner's point-of-view, there's one more point to discuss: which track offers the best opportunity. First, let's examine each track's calls for submissions. The research track calls for ".. the most recent and significant innovations in the field." The SEIP track calls for papers on similar topics, yet what sets it apart "..is that it values impact and realism over novelty." Judging by the calls alone SEIP seems more likely to include practitioners' insights.
Yet, because software engineering is a (relatively) applied field, the calls for submissions do not tell the complete story. In software engineering reseach we are fortunate to have many authors from non-academic institutions. In the research track we have contributions from 27 different companies or institutes (shown below, right). To create this list I analyzed the proceedings, adding an entry in the list for each company, for each paper. Thus, the list contains multiple entries for some companies (e.g., Microsoft, IBM, etc.), as they contributed to multiple papers. I created the same list for the SEIP track, and in this track we have contributions from 25 different companies or institutes. Thus, in terms of raw numbers, the research track has more contributions from industry!
Raw numbers are misleading in this case. The research track contains 96 papers (68 conference and 28 J1C2 papers), giving it an "Industrial Density" of 0.28. The SEIP track contains 31 papers, giving it an "Industrial Density" of 0.81, nearly three times as high as the research track. As expected, attending the SEIP track is an easy way to optimize your chance of learning from practitioners.
Eat Well at ICSE '17:
ICSE '17 is upon us. I hope you enjoy it. I hope you get a chance to eat meat, tango, and re-connect with friends and colleagues. During this week I encourage you to make a decision. Attend every talk in the SEIP track; it will change you. If enough of you make this decision it will change the field.
Modern offices are dominated by creative workers. Programmers, designers, analysts, and engineers. These creative workers need long blocks of time to tackle the cognitively demanding activities that their jobs require. Unfortunately, they are constantly interrupted via chat messages, drop-in visitors and notifications, causing stress and sapping their productivity. According to UC Irvine professor Gloria Mark each of these interruptions require an average of 23 minutes and 15 seconds of recovery time.
To eliminate these distractions, we introduce FlowLight. FlowLight is an application that runs in the background on a user’s computer, automatically detecting when they are most focused and then changing their status accordingly. While the user is most active, FlowLight discourages remote interruptions by dynamically updating the user’s digital availability as well as discouraging local interruptions by changing the color status of the USB powered FlowLight Bulb
To evaluate the FlowLight's effectiveness we partnered with the University of Zurich to perform an 18 month field study with over 400 participants from 12 different countries. This study showed that the FlowLight eliminated 46% of interruptions, that 85% of participants continued using it after the two month trial, and that users appreciated its impact, claiming that "[the FlowLight caused] less interruptions both in person and via Skype. [resulting] in more focus and ability to finish work.
Reducing interruptions with the FlowLight is just the first step in our work to redefine the modern workplace. Our ultimate mission is this: to foster flow at work.
David Shepherd leverages software engineering research to create useful additions to the IDE.