As educators, we have the difficult job helping our students develop a set of complex skills. As part of that job, we require them to complete assignments with dispatch and high quality. Our focus on structuring these assignments to encourage and focus students sometimes has an unfortunate side-effect. Students may begin to think that the requirements of being a computing professional are satisfied by the exercise of a kind of technical silo thinking: looking only at the satisfactory completion of the assigned computing task at hand. This narrow view, which focuses exclusively on the explicitly assigned task, is reinforced by students' satisfaction in "beating" the challenge of our assignments. Students may come to think of teachers and their assignments as adversaries to be defeated. The completion of the task as assigned is like winning an athletic event. Students welcome the break when the game (the assigned task) is successfully completed and the adversary (the teacher and/or the assignment) has been defeated. After some rest, the athlete (student) is ready to move on to the next challenge. The problem is that the singular focus on the technical elements of the task distracts students from thinking about how their work is part of a larger, interconnected system and what positive and negative impacts their individual work may have on the system and the people affected by that system. Sometimes students (and perhaps teachers) miss the fact that focusing on a narrow good in one area can lead to serious damages in another area.
I was reminded of this idea recently when, in celebration of my skill at using up another year of my limited time on this earth, I received an e-card, more accurately the URL of an e-card. Companies that send these cards are interested in increasing their use and circulation, so they impose conditions for reading the card. After clicking the URL I was informed of this company's conditions for letting me see the e-card. Three of those conditions were: that I allow them access to my Facebook account, that I allow them access to my Facebook friends' accounts, and that I allow them to send messages from my Facebook account. I guess my assumption was supposed to be that they would inform my Facebook friends of my birthday.
The developer of the e-card program had to facilitate these conditions with a complex program. At the time of this event, Facebook allowed people to set their privacy settings so that information could be shared with anyone, or access to their information could be limited only to all of their Facebook friends or to specific Facebook friends. When someone accepts me as a Facebook Friend they have trusted me with access to their information. This kind of limitation involves the assumption that my Facebook friends do not want their information circulated to the public at large and that I will respect their choice of friends. The technical system developed by this e-card programmer would totally destroy that privacy relation. Had I read the e-card, the e-card company would have had access through my account to all of the information my Facebook friends thought they controlled. I would have violated their trust in my maintaining their privacy.
By allowing the e-card company to use my Facebook account to send messages, I also would have abused the trust people have that I am the author of the messages when we interact on Facebook. There was no warning of any of these potential problems and I don't know if the e-card company had any intent to act disreputably; but I believe that many people who receive these e-cards open them trusting that the developers have considered the impacts of the systems they develop. I use this example because of how innocuous the writing of a program that opens and spreads e-cards can seem.
Silo thinking is tempting because it seems to make work easier. We need to explicitly attack this kind of silo thinking. If we do not, then this dangerous narrowing of focus will get carried out of the classroom and into the real world.
In recent talks to professional software developers, I have seen how this silo thinking gets translated into the real world of computing professionals. I gave an example of a system request from a client that would result in an inefficient system, a poor system design and be bad for the client's business. When these professional developers were asked what they would say to a client who asked "Could this be done?" many respond that they would simply say "Yes and I can build it for you". Many software developers see their role as a craftsperson who focuses narrowly on the object of creation, and not broadly as a professional developer of socio-technical artifacts, artifacts that will have positive and negative societal impacts. These developers see their role as building strictly within the silo; they do not feel a responsibility to use their knowledge to advise the client of the values and virtues of building the system in the way suggested.
Many times students miss the "why" behind the lessons we try to teach. We teach them how to do quality work not merely because it is fun to solve technical puzzles. We want them to do quality work because of the positive effects of quality work on people affected by computing. It is understandable that students get distracted by the task-grade relation in a classroom. However, we teachers should not leave the socio-technical elements of their work unsaid in the hopes that students will see, what are to us, the obvious impacts of their work. We need to be explicit and relentless in teaching students about these impacts. We should build into our teaching and assignments specific questions about how computing artifacts are integrated into society. We should emphasize that successfully completing our assignments requires students to understand how their work is interrelated to many elements in society.
A simple e-card program can affect the social-trust relations between millions of people. Computing professionals are trusted to use their full understanding of a situation when applying their technical skills to meet system requirements. Those requirements inevitably occur in a context that involves numerous stakeholders besides the client.
A simple e-card program can affect the social-trust relations between millions of people. Computing professionals are trusted to use their full understanding of a situation when applying their technical skills to meet system requirements. Those requirements inevitably occur in a context that involves numerous stakeholders besides the client. The client trusts us to use all of our skills and to advise them of things they may not anticipate. Computing professionals should not act merely as agents who only address issues within a narrow silo. Sometimes we educators can get students looking outside the confines of a silo by simply asking them: Where might a system like this get used? What other ways can this database get used? Are there any possible uses of this system that you wouldn't like?
We can follow up the simple questions by bringing up issues that go a little deeper. For example: Would you be using more of your skills if you helped a client see this problem? Would your employer consider you more valuable if your skills helped him see some risks he had missed because he was not a computing professional? Would you be more satisfied in your work if you could reduce possible negative impacts?
Asking these kinds of questions doesn't require us to invest a great deal of classroom time. Answering the questions will stimulate students' thinking about their professional lives and help them move beyond silo thinking. And listening to their answers might teach us a thing or two as well.
The author gratefully acknowledges comments on an earlier draft by Keith Miller
Computer and Information Sciences
East Tennessee State University
Johnson City, Tennessee 37614 USA
Copyright held by author.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2012 ACM, Inc.Contents available in PDF
View Full Citation and Bibliometrics in the ACM DL.
To comment you must create or log in with your ACM account.