ABSTRACT
Recent research suggests that some students learn to program with the goal of becoming conversational programmers: they want to develop programming literacy skills not to write code in the future but mainly to develop conversational skills and communicate better with developers and to improve their marketability. To investigate the existence of such a population of conversational programmers in practice, we surveyed professionals at a large multinational technology company who were not in software development roles. Based on 3151 survey responses from professionals who never or rarely wrote code, we found that a significant number of them (42.6%) had invested in learning programming on the job. While many of these respondents wanted to perform traditional end-user programming tasks (e.g., data analysis), we discovered that two top motivations for learning programming were to improve the efficacy of technical conversations and to acquire marketable skillsets. The main contribution of this work is in empirically establishing the existence and characteristics of conversational programmers in a large software development context.
- Andrew Begel and Beth Simon. 2008. Struggles of new college graduates in their first software development job. ACM SIGCSE, ACM, 226--230. Google ScholarDigital Library
- Margaret M. Burnett. 1999. "Visual programming," in Encyclopedia of Electrical and Electronics Engineering. John G. Webster, Ed. John Wiley and Sons Inc., NY.Google Scholar
- Margaret M. Burnett and Brad A. Myers. 2014. Future of end-user software engineering: beyond the silos. Proceedings of the on Future of Software Engineering, ACM, 201--211. Google ScholarDigital Library
- José C. Castillo, H. Rex Hartson, and Deborah Hix. 1998. Remote usability evaluation: can users report their own critical incidents? CHI 98 Conference Summary on Human Factors in Computing Systems, ACM, 253--254. Google ScholarDigital Library
- Rory Cellan-Jones. 2014. A computing revolution in schools. BBC News. http://www.bbc.com/news/ technology-29010511Google Scholar
- Parmit K. Chilana, Celena Alcock, Shruti Dembla, Anson Ho, Ada Hurst, and Philip J. Guo. 2015. Perceptions of Non-CS Majors in Intro Programming: The Rise of the Conversational Programmer. Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC '15), 251--259.Google Scholar
- Edmund M. Clarke, Orna Grumberg, and Doron Peled. 1999. Model checking. MIT press. Google ScholarDigital Library
- Herbert H. Clark and Susan E. Brennan. 1991. Grounding in communication. Perspectives on socially shared cognition 13: 127--149.Google Scholar
- John. C. Flanagan. 1954. The critical incident technique. Psychological bulletin 51, 4: 327--358.Google Scholar
- Paul Ford. 2015. What is code? Bloomberg Businessweek. http://www.bloomberg.com/graphics/ 2015-paul-ford-what-is-code/Google Scholar
- Andrea Forte and Mark Guzdial. 2005. Motivation and non-majors in computer science: identifying discrete audiences for introductory courses. IEEE Transactions on Education 48, 2: 248--253. Google ScholarDigital Library
- Mark Guzdial. 2003. A media computation course for non-majors. ACM SIGCSE, ACM, 104--108. Google ScholarDigital Library
- Mark Guzdial. 2004. Programming environments for novices. Computer science education research 127--154.Google Scholar
- Mark Guzdial and Andrea Forte. 2005. Design process for a non-majors computing course. ACM SIGCSE, ACM, 361--365. Google ScholarDigital Library
- Michael Hewner and Mark Guzdial. 2010. What game developers look for in a new graduate: interviews and surveys at one game company. Proceedings of the 41st ACM technical symposium on Computer science education, ACM, 275--279. Google ScholarDigital Library
- Caitlin Kelleher and Randy Pausch. 2005. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Computing Surveys (CSUR) 37, 2: 83--137. Google ScholarDigital Library
- Gary Klein, Paul J. Feltovich, Jeffrey M. Bradshaw, and David D. Woods. 2005. "Common ground and coordination in joint activity," in Organizational simulation. W.R. Rouse and K.B. Boff, eds., John Wiley & Sons Inc., NY.Google Scholar
- Andrew J. Ko, Robert Deline, and Gina Venolia. 2007. Information Needs in Collocated Software Development Teams. Proceedings of the 29th international conference on Software Engineering. IEEE Computer Society, 344--353. Google ScholarDigital Library
- Andrew J. Ko, Brad A. Myers, and HH Aung. 2004. Six Learning Barriers in End-User Programming Systems. Proceedings of the Symposium on Visual Languages and Human Centric Computing, IEEE, 199--206. Google ScholarDigital Library
- Henry Lieberman, Fabio Paternò, Markus Klann, and Volker Wulf. 2006. End-user development: An emerging paradigm. Springer. Google Scholar
- Paul Luo Li, Andrew J. Ko, and Jiamin Zhu. 2015. What makes a great software engineer? Proceedings of the 37th International Conference on Software Engineering, IEEE, 700--710. Google ScholarDigital Library
- Matthew Magain. 2013. How Much Code Should A UX Designer Write? http://uxmastery.com/how-much-codeshould-a-user-experience-designer-write/Google Scholar
- Lena Mamykina, Bella Manoim, Manas Mittal, George Hripcsak, and Bjoern Hartmann. 2011. Design lessons from the fastest q&a site in the west. Proceedings of the annual conference on Human factors in computing systems, ACM, 2857--2866. Google ScholarDigital Library
- Brad A. Myers. 1986. Visual programming, programming by example, and program visualization: a taxonomy. Proceedings of the annual conference on Human factors in computing systems ACM, 59--66. Google ScholarDigital Library
- Brad A. Myers and Andrew J. Ko. The Past, Present and Future of Programming in HCI. Human-Computer Interaction Consortium (HCIC 2009).Google Scholar
- Brad A. Myers, John F. Pane, and Andrew J. Ko. 2004. Natural programming languages and environments. Communications of the ACM 47, 9: 47--52. Google ScholarDigital Library
- Bonnie A. Nardi. 1993. A small matter of programming: perspectives on end user computing. MIT press. Google ScholarDigital Library
- John F. Pane, Brad Myers, and Leah B. Miller. 2002. Using HCI techniques to design a more usable programming system. Proceedings of Symposia on Human Centric Computing Languages and Environments, IEEE, 198--206. Google ScholarDigital Library
- Mitchel Resnick, John Maloney, Andrés MonroyHernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver, Brian Silverman, and Yasmin Kafai. 2009. Scratch: programming for all. Communications of the ACM 52, 11: 60--67. Google ScholarDigital Library
- Tobias Roehm, Rebecca Tiarks, Rainer Koschke, and Walid Maalej. 2012. How do professional developers comprehend software? Proceedings of the 34th International Conference on Software Engineering, IEEE, 255--265. Google ScholarDigital Library
- Douglas Rushkoff. 2010. Program or be programmed: Ten commands for a digital age. O/R Books, NY. Google ScholarDigital Library
- Christopher Scaffidi, Mary Shaw, and Brad Myers. 2005. Estimating the numbers of end users and end user programmers. Symposium on Visual Languages and Human-Centric Computing, IEEE, 207--214. Google ScholarDigital Library
- Nan C. Shu. 1988. Visual programming. Van Nostrand Reinhold NY. Google ScholarDigital Library
- Anselm L. Strauss and Juliet M. Corbin. 1998. Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. Sage Publications Inc.Google Scholar
- Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, and Manuel Fahndrich. 2011. TouchDevelop: programming cloud-connected mobile devices via touchscreen. Proceedings of the SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software, ACM, 49--60. Google ScholarDigital Library
- Greg Wilson. 2006. Software carpentry. Computing in Science & Engineering 8: 66.Google ScholarDigital Library
- Jeannette M. Wing. 2006. Computational thinking. Communications of the ACM 49, 3: 33--35. Google ScholarDigital Library
- David Wolber. 2011. App inventor and real-world motivation. Proceedings of the ACM technical symposium on Computer science education, ACM, 601--606. Google ScholarDigital Library
Index Terms
- Understanding Conversational Programmers: A Perspective from the Software Industry
Recommendations
Avoiding the Turing Tarpit: Learning Conversational Programming by Starting from Code’s Purpose
CHI '21: Proceedings of the 2021 CHI Conference on Human Factors in Computing SystemsConversational programmers want to learn about code primarily to communicate with technical co-workers, not to develop software. However, existing instructional materials don’t meet the needs of conversational programmers because they prioritize syntax ...
Mismatch of Expectations: How Modern Learning Resources Fail Conversational Programmers
CHI '18: Proceedings of the 2018 CHI Conference on Human Factors in Computing SystemsConversational programmers represent a class of learners who are not required to write any code, yet try to learn programming to improve their participation in technical conversations. We carried out interviews with 23 conversational programmers to ...
Programming, Problem Solving, and Self-Awareness: Effects of Explicit Guidance
CHI '16: Proceedings of the 2016 CHI Conference on Human Factors in Computing SystemsMore people are learning to code than ever, but most learning opportunities do not explicitly teach the problem solving skills necessary to succeed at open-ended programming problems. In this paper, we present a new approach to impart these skills, ...
Comments