The Magic Bullet & 3-Legged Stool

Jim Salmons
GitHub Copilot for Disabled Developers
6 min readJul 21, 2022

--

Humans-in-the-Loop of ‘GitHub Copilot for Disabled Developers’

The popular notion of synergy is that of “The whole is greater than the sum of its parts.” This idea is certainly relevant as I have ruminated and clarified my thinking about the research and program design of the proposed “GitHub Copilot for Disabled Developers” project. While the catalyst for my inspiration to develop this project was certainly the liberating experience of using the “magic bullet” of GitHub Copilot to overcome my dexterity issues, I now understand that the more appropriate metaphor for my thinking about this project is that of the classic “three-legged stool.” In this article I summarize how the proposed project design is intended as a synergy between GitHub Copilot, Asynchronous Remote Pair Programming, and Personal Learning Network dynamics.

After my spinal cord injury I thought my severely compromised dexterity and mobility had ended my dream to reinvent myself as a Digital Humanities Citizen Scientist. But then my application to participate in the Technology Preview for GitHub Copilot was approved. And for the first time since my accident, I saw a glimmer of light at the end of the tunnel. After a week of using Copilot to reinvigorate my ability to get back to coding tools for my research, I thought I’d found my Magic Bullet.

GitHub Copilot as Magic Bullet Lit the Fuse

I had, in a way, found that Magic Bullet that gave me hope for a life after the unimaginable happened. There is no denying that GitHub Copilot had unleashed a level of productivity that my body was not capable of achieving without the features of this remarkable assistive technology. That initial burst of thrilling productivity lit the fuse that burst into the idea for the “GitHub Copilot for Disabled Developers” research study and support program.

Over the last several months, I have thought deeply about what such a study and support program would look like. I have captured these thoughts in the articles I’ve written in this Medium publication. My initial articles reflected the meme-based message that GitHub has used to capture the essence of the service that Copilot provides as its name suggests. Copilot is your non-human partner in a Pair Programming power duo. Having spent so much of my professional career as a developer in the Smalltalk community where Pair Programming was a well-developed productivity best practice, this notion of Copilot’s assistive technology as a non-human buddy was comfortable and familiar.

Copilot as A Leg, Not a Bullet

My next step was to think about how Copilot could not just be a replacement partner to a Pair Programming experience but could be a kind of smart recording secretary to an actual two-human Programming Pair. This intriguing thought helped me gel the ideas for the “GitHub Copilot for Disabled Developers” project based on a balanced design of pairing disabled- and able-bodied developers in Programming Pairs to explore the potential differential effects of these pair compositions.

At first, I thought of Copilot’s role as a power tool enhancing real-time interaction between the Pair members based on available remote development technologies enabled by the Internet and development environment plug-in extensions like LiveShare for VSCode. But as I reflected more on the impact of globalization in my experience as a member of the Digital Humanities research community, I began to think about the challenges of geographic dispersement for collaboration. Time zones make real-time interactions challenging even though broadband communication technologies make such connections easy and effective.

Considering the challenges of real-time interaction, I became intrigued by the idea how GitHub Copilot could support Asynchronous Remote Pair Programming. Copilot in this role allows the Novice developer to forge ahead on the Pair’s contributions to their associated Open Source or Digital Humanities project, as if on a bike with training wheels. The Pair’s real-time interaction can then be both interactive coding as well as the code review of work done by the Novice ahead of the interactive session.

While it remains to be seen, my hunch is that Novice Pair members will feel empowered, and learn more quickly, by incorporating these solo sessions aided by Copilot as they are mentored by their Expert Pair partner. A specific objective of the proposed “GitHub Copilot for Disabled Developers” research study will track and measure this hypothesis.

So with this evolving insight I have grown from seeing GitHub Copilot as a Magic Bullet to seeing it as one of the Legs of our metaphorical 3-Legged Stool of our research study and support program design. The second of these Legs is Asynchronous Remote Pair Programming. All that is needed is to find that third and stability enhancing third Leg.

The Personal Learning Network as Third Leg

Once I had evolved my thinking from Copilot as Magic Bullet to consider it as a stool leg together with Asynchronous Remote Pair Programming as second leg, the role of the project’s regular “All Hands” feedback and motivation meetings can be naturally understood to function as a Personal Learning Network (PLN) to further enhance the experience for participants. These group meetings are necessary to efficiently fulfill the quantitative and qualitative data capture required as part of the research study dimension of the proposed project. But these meetings, done virtually online, will also provide a valuable opportunity for Pair teams and individuals to socialize and share the triumphs and challenges of participating in the program.

Through group discussion and collaborative interaction techniques, all participants — not just the Novices but the Experts, too — can refine and develop their personal learning and team-building skills. In this sense, the cohort-wide all-hands meetings will be managed and refined as a powerful Personal Learning Network. And finally, this Third-Leg Personal Learning Network aspect of the project will also be the means to capture and document best practices at all levels of the program for the benefit of future cohorts of participants in the “GitHub Copilot for Disabled Developers” support program.

From this Seed…

As described above, I now can see the value this proposed project as so much more than just a use-case focused effort to study and document the value of GitHub Copilot as a Life-Changer for Disabled Developers. Rather, the long-term value of this project can grow and blossom from its occupational rehabilitation roots for assisting disabled develops. The program’s project materials and documented best practices can be the foundation for development of a STEM-education program to help disabled students and adult learners to learn to code and grow into a career or avocation as a productive developer in pursuit of employment or self-fulfillment goals.

I get chills thinking about the potential value of the proposed “GitHub Copilot for Disabled Developers” research study and support program. If I can help to see this vision realized as an implemented project, I will have a powerful thread to weave into my thoughts about “Why me?” and “What now?”

My next great challenge is finding a disability research organization or individual(s) to take on the role as PI for this agenda. The tinder is lit for me on this idea. I just need to fan the flame to see the imagined become real. As always I welcome feedback and encouragement, especially if you want to get involved or can introduce me to prospective partners who want to join me in pursuit of this adventure.

Jim Salmons is a seventy-one year old post-cancer Digital Humanities Citizen Scientist. His primary research is focused on the development of a Ground Truth Storage format providing an integrated complex document structure and content depiction model for the study of digitized collections of print era magazines and newspapers. A July 2020 fall at home resulted in a severe spinal cord injury that has dramatically compromised his manual dexterity and mobility.

Jim was fortunate to be provided access to the GitHub Copilot Technology Early Access Community during his initial efforts to get back to work on the Python-based tool development activities of his primary research interest. Upon experiencing the dramatic positive impact of GitHub Copilot on his own development productivity, he became passionately interested in designing a research and support program to investigate and document the use of this innovative programming assistive technology for use by disabled developers.

--

--

Jim Salmons
GitHub Copilot for Disabled Developers

I am a #CitizenScientist doing #DigitalHumanities & #MachineLearning research via FactMiners & The Softalk Apple Project. Medium is my #OpenAccess channel.