Thursday, July 7, 2016

Outward Thinking for Our Research Community

In our research community, besides teaching duties, university researchers commonly focus on securing funding resources to support their research group's research activities, recruiting and advising students along with collaborating with external (academic or industrial) collaborators to conduct research, and contributing professional services within the research community such as ACM SIGSOFT and IEEE TCSE along with their sponsored or associated journals or conferences. While sharing many of these focuses, industrial-lab researchers typically do not need to teach, secure external funding resources, or advise students to conduct research (except supervising summer-intern students during summer time). These preceding activities are mostly "inward facing" (e.g., within the research community): competing funding resources within the research community, publishing and presenting inward-facing research to serve the audience within the research community, conducting professional services within the research community, etc.

A couple of years ago, John Regehr (U. Utah) discussed "Inward vs. Outward Facing Research". When discussing why researchers have a tendency to face inward, he stated "This is natural: we know more about our research’s internal workings than anyone else, we find it fascinating (or else we wouldn’t be doing it), we invent some new terminology and notation that we like and want to show off, etc. — in short, we get caught up in the internal issues that we spend most of our time thinking about."

However, the research community (either broadly in computing or specifically in a research area such as software engineering) can be impacted by the broad ecosystem that the research community lives in. For example, a government funding agency needs to allocate total funding across different research areas; a university (college or department) or industrial research lab needs to allocate the total head count for new hires across different research areas; a student applying for graduate schools needs to decide on what research area he or she would like to apply for. Thus, it is important for the research community to sustain and further boost the importance, impact, and reputation of the research area perceived in the eyes of other computing research communities or in the broad society such as the industry and government. Only when we accomplish so, can the community as a whole grow better, e.g., attracting more resources such as funding allocation, faculty positions, industrial-research-lab positions, top student/junior-researcher talents, other communities' researchers to address our important problems.

In particular, besides the typical inward thinking that researchers in the research community already have, more outward thinking is needed for the research community to better grow in this broad ecosystem. In the broad computing community, there are quite some prominent researchers and other research areas with such strong outward thinking. For example, Ed Lazowska (U. Washington) "is widely viewed as the computer science research community's highest impact national leader and spokesperson." For the research area of Artificial Intelligence (AI), Eric Horvitz (Microsoft Research) has addressed "Rise of Concerns about AI: Reflections and Directions: research, leadership, and communication about AI futures". The ACM SIGAI Newsletter (the counterpart of our ACM SIGSOFT Notes) named as "AI Matters" includes its first-listed submission category "AI Impact": "Description of an AI system or method that has had a tangible impact on the world outside of the research community. These submissions are intended for dissemination to a general audience, and any technical content must be accessible to non-AI researchers."

In the research area of software engineering, there have been also various leading researchers with such strong outward thinking, playing important roles in the broad ecosystem. Although the research community has started paying attention to engaging and impacting the software industry or broadly practitioner community, the research community shall also put more eyesight on impact on and perception by other research communities in the computing community along with the broad society such as the industry and government.

Below I list some example activities towards such outward thinking for researchers in the research community to consider:
Please let me know if you have additional ideas for such outward thinking by sharing your suggestions here or submitting your writing to be considered for dissemination in the History and Impact column of the ACM SIGSOFT Notes!

Sunday, July 3, 2016

From Knowledge Economy to Maker/Innovation Economy: Towards Student Education and Training

I recently watched an online talk on "More Innovation Through Education" given by Richard Miller (President of Olin College). Among many great things mentioned in his talk (e.g., the education-program improvement at the College of Engineering at Illinois), I especially resonated with what he presented (during 6'40''-12'03'') in one of his slides, whose screen snapshot was captured as below:

Although Richard Miller's talk seems to focus on undergrad engineering education, my discussion below centers around educating and training graduate students especially PhD students in engineering based on the points that he made on the above slide.

The traditional education focuses on the Knowledge Economy: teaching students about knowledge, making them "knowledgeable". With technologies such as Internet, Google, and Bing at hand these days, being "knowledgeable" may not be as critical as in the ancient days.

The Maker Economy is about putting What you Know into What you can Do (in 2014, the White House started the movement of "Nation of Makers"). It is related to what I often tell students: "Get Things Done". In these settings, students are given an (often well-defined) problem/requirement (e.g., a programming task or data-analysis task), and need to solve the given problem (desirably in a timely fashion). In graduate-research settings, students are often encouraged to leverage whatever attainable resources to get things done (some of these ways of leveraging resources may not be common in settings of undergrad-course assignment): reusing/adapting open source code, building upon existing infrastructures, searching at Google/Bing or Stack Overflow, getting help from and collaborating with peer students or the advisor, etc. Note that conducting a task in such settings is different from conducting a programming task in a solo homework assignment in a course where students typically need to independently write their code for the task, not allowed to reuse/adapt code from the Internet, etc. 

As a concrete example, in graduate-research settings, graduate students (software engineers in industry too) may be given a programming task such as implementing a new feature upon an existing big code base. Many students may tend to take a relatively long time to understand the big code base, focusing on improving what they Know, without sufficiently focusing on what they need to get Done. Tips to Developers Starting on Large Applications include (1) don't try to understand the whole application, (2) focus on delivering immediate value, (3) important skills required to maintain large applications, (4) tools to find what to change and to find the impact of a change, (5) two caveats to the preceding tips: do not compromise on code quality and do not stop making an effort to understand the architecture. I myself practiced these tips in my past effective and efficient development efforts for tool features, i.e., Get Things Done Efficiently

The Innovation Economy is about what you can Conceive, new products, new markets, new ideas, ... Instead of being given a well-defined problem/requirement, students need to come up with (1) what they would like to tackle, either narrowing down to a target problem when given no (even vague) problem to start with, or concretizing a given vague problem to a specific, concrete one; and (2) how they could tackle the target problem with new ideas.

In the past, I summarized five critical research skills for PhD researchers/students in my talk on "PhD-Program Preparation for Successful Post-PhD Career" and below are my mapping of these skills to the Maker Economy and Innovation Economy.
  • Assessment skill. (Innovation Economy
  • Vision skill. (Innovation Economy)
  • Design skill. (Maker Economy & Innovation Economy)
  • Execution skill. (Maker Economy)
  • Communication skill. (Maker Economy & Innovation Economy)
By the way, mentioned in Richard Miller's online talk (at the time of 7'20''), the Nobel-laureate economist James J. Heckman found that success can be better predicted by grit (a combination of perseverance and passion, about attitude, behavior, and motivation), much better than knowledge (how much you know). Angela Lee Duckworth's 6-min TED talk on "Grit: The power of passion and perseverance" provides a nice quick overview of grit. There are also ideas on training grit, such as 16 Learning Strategies To Promote Grit And Delayed Gratification In Students.

Friday, April 22, 2016

Diversity and Inclusion in Research Community: Remembering David Notkin

Three years ago today April 22, my PhD advisor David Notkin passed away after a long battle with cancer. It was a big loss to our research community, especially to those who were close to him. The legacy and impacts that he left behind have been huge in many different ways upon many of us.

David devoted much effort in promoting diversity and inclusion, in both traditional senses and broad senses. To remind you of David's lovely voice, perfect-timing humor, and deep insight, you should (re)watch his flash talk on "increasing flexibility" in the 2012 Summit of the National Center for Women & Information Technology (NCWIT) (David was the founding co-director of the NCWIT Academic Alliance). There were also various blog posts, articles, videos on great memories about David such as a blog post contributed by his sister Debbie Notkin, a Seattle Times article contributed by his friend Jerry Large, and David Notkin ICSE 2013 Tribute.

David was a caring, amazing person with a big heart. I still clearly remember what he said in his remark at the NotkinFest in February 2013, as nicely summarized in Jerry's Seattle Times article (the full quote can be found in the end of Debbie's blog post and in David Notkin ICSE 2013 Tribute in David's own voice):

"David reminded the people gathered that day that we were privileged. He said his parents were the children of poor Russian Jewish immigrants, and taught him and his older sister, Debbie, that every person on Earth has value. “We have to figure out how to give more back,” he said, so that more people can better their lot."

I guess the above quoted words of David served as one of the driving forces for his great passion and devotion to promoting diversity and inclusion. Here, I will share some memories and stories to celebrate his legacy and impacts related to diversity and inclusion in our research community.


Focus on students. David expressed in his 2006 ACM Fellow Profile that students were his greatest influence. He posted the following sentences in the "students" page of his homepage: "My philosophy about working with students is taken from my adviser, Nico Habermann: Focus on the students, since graduating great students means you'll produce great research, while focusing on the research may or may not produce great students." Many professors may have heard of such quote but in reality, very few could faithfully practice such philosophy. Too often many professors immerse themselves in their research, without paying sufficient attention to the main interest or benefit of their students working with them (e.g., putting eyesight on only getting the research done while not sufficiently training/educating the collaborating students). But David had constantly instilled such philosophy in his daily work advising his students. Not only just exercising such philosophy on his own students, David extended this philosophy to people around him, especially those more-junior colleagues and young researchers/students. Jerry's Seattle Times article says it perfectly: "He was a modest-living mensch with a gift for making other people feel special, like they were a big deal. And to him, they were." Videos including first-hand witness statements from his former students, colleagues, and friends can be found here.


Be aware that everyone is different. After David encouraged me to apply for a faculty job back in the end of 2004, I was fortunate to become a professor myself in 2005, being ready to inherit David's philosophy on focusing on students. Since then, I have put much thought into reflecting on how to conduct impactful researchtrain students' research skillsmap out a research agendawrite research papersimprove technical writing, etc. I have documented my reflection and advice publicly under my homepage. I felt that such way of generalizing things into patterns and tips could allow my students (and other students/researchers) to effectively master those skills under such concrete guidance. In my research group, I also experimented and improved various group activities/practices to more effectively and efficiently manage my group (after I communicated with some MBA friends, I later learned there was a term organizational behavior for studying what I experimented with). Some years ago, during a conference's hallway conversation, I was talking to David along with another junior professor on my efforts of trying to generalize best practices and patterns for training my students and managing my group. David patiently listened with slight smile on his face as usual. In the end, he patted my back and said "Tao, what you did was great but also keep in mind every student is different."

His sentence was short but powerful, making me reflect for a while. Indeed, under David's advising and mentoring, every David's former student is different (in a good way) in research directions, research styles, ways of thinking, ways of making impacts, ways of advising students, etc. There is diversity among David's former students! In terms of advising students, it is quite common for a professor (especially a junior professor) to expect his/her students to work or act like himself/herself during his/her old-day grad schools or current faculty job, while often not realizing some of his/her students may have different learning styles or work-life balance, etc. than he/she has. There we should be aware of "every student is different" among themselves and than the advisor.


Encourage and support young people. In the software engineering research community, our flagship conference ICSE has had a great tradition of organizing the New Software Engineering Faculty Symposium (NSEFS), where graduating PhD students or new faculty members attend to get good exposure on tips and lessons learned to excel in the faculty career. Many years ago, after a year's NSEFS, some attending students chatted with David, sharing that the atmosphere in that year's NSEFS was quite intense: quite some speakers expressed the stress and the "toughness" faced during the tenure process, etc. David expressed his concern that such communication might unintentionally discourage promising young people to pursue faculty career, and then they might not want to give it a try during job hunting, given that they might have heard such similar voice in other places for so many times. David thought that our research community should take special care to construct a welcoming and encouraging environment to encourage and support young people to pursue excellence, in either academia or other workplaces.

Sometimes our research community may not pay sufficient attention to encourage or reward young researchers such as students and early-career researchers, who are a group of researchers our research community needs to especially protect and cherish: they are the future! With the help from the ACM SIGSOFT leadership teams of different terms over multiple years, I initiated and gladly witnessed the establishment of the SIGSOFT Early Career Researcher Award along with the earlier established SIGSOFT Outstanding Doctoral Dissertation Award. Following these good moves, our research community should continue to reward and celebrate achievements and impacts made by researchers especially young researchers.


Be open. Many years ago, there was voice from our research community in expressing some concerns. Basically, professors from other non-software-engineering fields along with their students submitted their papers to our flagship conferences, and got their papers accepted; however, these professors typically didn't come to attend our conferences (likely they were too busy to attend both the conferences in their own main field and our conferences) but sent only their students to attend and present the papers in our conferences. Some researchers from our research community concerned that if senior authors of a non-trivial portion of papers accepted in our flagship conferences didn't come to attend our flagship conferences, the nature of our conferences as community building might not be well preserved, and our research community should do something about it. I heard that David was strongly against taking any community policies or activities to make our traditionally open community to be less open; our research community should encourage (instead of discouraging) people from other fields to help our community to tackle some challenging software engineering problems, either working by themselves or collaborating with researchers from our field. David's standpoint reflected his broad and long-term perspective along with his deep belief in diversity and inclusion.


Watch out on dichotomies. In 2009, David wrote an invited article on "Software, Software Engineering and Software Engineering Research: Some Unconventional Thoughts" for the Journal of Computer Science and Technology (JCST). There, David said "There are a number of pressures on researchers, in any discipline, to argue often and loudly about the benefits of "their" approach over those of some of their colleagues. This has benefits, but it also has downsides. In particular, it often leads to a mindset where two alternative approaches are considered to be in competition with one another. At times, of course, one approach to solving a problem may indeed be shown to entirely dominate another. In general, however, there is far more value in viewing alternative approaches as complementary rather than competitive." Such viewpoint might be partly attributed to David's hobby of practicing Aikido, as reflected by his own words in his 2006 ACM Fellow Profile: "Aikido is a purely defensive martial art. It isn't supposed to be attacking. Sometimes, there are too many conflicts in industry or academia over style or approach. We should not be attacking each other. Some people make their issues into dichotomies between industry and research. This is a false dichotomy. We need to work together. I guess I learned this from Aikido."


To remind myself and our research community on striving for diversity and inclusion in broader senses along with producing impacts on the society, and to continue and broaden David Notkin's legacy and impacts, I will end this blog post with two quotes. One quote is from last year's Forbes article on describing one of the five trends driving workplace diversity in 2015:

"Diversity’s Definition Has Changed: In addition to creating a workplace inclusive of race, gender, and sexual orientation (to name a few), many organizations are seeking value in something even simpler, diversity of thought. In some industries that are known for being insular – think law or high-tech companies – seeking out talent with different thinking and problem solving backgrounds in critical. Deloitte research underscores that diverse thinkers help guard against groupthink, a dynamic I observed firsthand last year with a large corporate client. Partnering with the company just after they had experienced a major product failure, the CEO lamented that the failure resulted from too much blind agreement internally – something Deloitte’s study calls “expert overconfidence.” Future-thinking companies see the danger in this lack of diversity and often question their own hiring and retention practices—and even their everyday operating norms."

The other quote is from David's own writing during the last phase of his life, published as his last Editorial in February 2013 of ACM TOSEM, for which David served as the Editor in Chief (I myself highlighted in bold several sentences in the quote as below):

"... let me make just a few quick comments about publishing software engineering research. I care about publication of results, as can be gleaned not only by my work on TOSEM but also as program chair at major software engineering conferences. There is a massive amount of important discussion going on about journals, conferences, who should own the publications, who should pay for the publications, and more, much more. Please pay attention to this as it is highly material to our field. But I want to say something that (I hope) transcends those discussions. Specifically, I’d like very much for each and every reader, contributor, reviewer, and editor to remember that the publications aren’t primarily for promotions, or for citation counts, or such. Rather, the intent is to make the engineering of software more effective so that society can benefit even more from the amazing potential of software. It is sometimes hard to see this on a day-to-day basis given the many external pressures that we all face. But if we never see this, what we do has little value to society. If we care about influence, as I hope we do, then adding value to society is the real measure we should pursue. Of course, this isn’t easy to quantify (as are many important things in life, such as romance), and it’s rarely something a single individual can achieve even in a lifetime. But BHAGs (Big Hairy Audacious Goals) are themselves of value, and we should never let them fade far from our minds and actions."

I recently voiced such emphasis on practice impacts in my History and Impact column in SIGSOFT Notes: "Given that new generation of young researchers may tend to put their eye sights on publishing (many) papers in top venues without paying sufficient attention to research impact, it is time for our research community to incentivize impact, including but not limited to impact to practice".

I deeply believe that while embracing diversity and inclusion, our research community should (and will) find appropriate ways to make great progress towards the BHAGs (Big Hairy Audacious Goals) pointed out by David. But as David said in his 2006 ACM Fellow Profile: "We need to work together"!

We all miss you, David!



Announcement of Notkin Fellowship at Notkinfest in February 2013.

Note and acknowledgment. The (last) point on watching out on dichotomies and the quote from David Notkin's last Editorial in February 2013 of ACM TOSEM near the end of this blog post were newly added on April 24, 2016. Such addition was inspired from a conversation with David Rosenblum, the current ACM TOSEM Editor in Chief, to whom I show my deep appreciation.