Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks. The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing. What do we call people who design and implement computer programs? Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms. Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code). The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems. Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems. The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis. Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose. At the same time, we call developers coders, which to me sounds like it deflates prestige. What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian. Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations. Thanks. Bill
Bill — I write quite a bit about the transition from coder —> programmer, and about the attempt to organize around the concept of software engineering in my book *The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise.* I agree that titles matter. Since most libraries are closed at the moment, I will send you the most relevant chapters in a separate email. -Nathan --- Nathan Ensmenger Chair, Informatics School of Informatics, Computing and Engineering Indiana University, Bloomington homes.soic.indiana.edu/nensmeng/ On Mon, May 4, 2020 at 12:47 PM McMillan, William W < william.mcmillan@cuaa.edu> wrote:
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Nathan is THE PERSON for your query. You might also benefit from looking at the sociological literature on professions, which is getting pretty extensive right now. It seems that "everyone" has been trying to upgrade their titles since the 1870s, and even more so with c.v. inflation since the 1990s. Early on it was about legitimizing a new field in the eyes of the academics, later it was for increasing salaries, so, titles matter in many ways. Jim Cortada On Mon, May 4, 2020 at 4:51 PM Nathan Ensmenger <nathan.ensmenger@gmail.com> wrote:
Bill — I write quite a bit about the transition from coder —> programmer, and about the attempt to organize around the concept of software engineering in my book *The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise.* I agree that titles matter. Since most libraries are closed at the moment, I will send you the most relevant chapters in a separate email.
-Nathan
--- Nathan Ensmenger Chair, Informatics School of Informatics, Computing and Engineering Indiana University, Bloomington homes.soic.indiana.edu/nensmeng/
On Mon, May 4, 2020 at 12:47 PM McMillan, William W < william.mcmillan@cuaa.edu> wrote:
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
-- James W. Cortada Senior Research Fellow Charles Babbage Institute University of Minnesota jcortada@umn.edu 608-274-6382
I second Jim’s endorsement. I would add to Bill’s comment that the distinction originally seems to have been that programmers understood the mathematics while coders understood subroutine calling sequences and memory overlays, both of which had to be done manually in the 1950s. The distinction got muddied fast. First, there were people who could do both. Second, the industry started producing assemblers that handled much of details of setting up a subroutine call and overlaying memory. Nathan’s work shows how this division gets much more intricate. David
On May 4, 2020, at 6:00 PM, James Cortada <jcortada@umn.edu> wrote:
Nathan is THE PERSON for your query. You might also benefit from looking at the sociological literature on professions, which is getting pretty extensive right now. It seems that "everyone" has been trying to upgrade their titles since the 1870s, and even more so with c.v. inflation since the 1990s. Early on it was about legitimizing a new field in the eyes of the academics, later it was for increasing salaries, so, titles matter in many ways. Jim Cortada
On Mon, May 4, 2020 at 4:51 PM Nathan Ensmenger <nathan.ensmenger@gmail.com <mailto:nathan.ensmenger@gmail.com>> wrote: Bill — I write quite a bit about the transition from coder —> programmer, and about the attempt to organize around the concept of software engineering in my book *The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise.* I agree that titles matter. Since most libraries are closed at the moment, I will send you the most relevant chapters in a separate email.
-Nathan
--- Nathan Ensmenger Chair, Informatics School of Informatics, Computing and Engineering Indiana University, Bloomington homes.soic.indiana.edu/nensmeng/ <http://homes.soic.indiana.edu/nensmeng/>
On Mon, May 4, 2020 at 12:47 PM McMillan, William W <william.mcmillan@cuaa.edu <mailto:william.mcmillan@cuaa.edu>> wrote: Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf <https://www.acm.org/binaries/content/assets/education/se2014.pdf>
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org <http://sigcis.org/>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ <http://lists.sigcis.org/pipermail/members-sigcis.org/> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org> _______________________________________________ This email is relayed from members at sigcis.org <http://sigcis.org/>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ <http://lists.sigcis.org/pipermail/members-sigcis.org/> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org>
-- James W. Cortada Senior Research Fellow Charles Babbage Institute University of Minnesota jcortada@umn.edu <mailto:jcortada@umn.edu> 608-274-6382 _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Bill, Nathan's *The Computer Boys Take Over* is a great resource for the changing vocabulary related to software construction in the 1960s and the institutional and professional power that came with new titles and roles. If you're interested in how the story continues into the era of PCs, my new book *Code Nation: Personal Computing and the Learn to Program Movement in America* (ACM Books, 2020) explores the wide range of people who experimented with or claimed programmer status in the 1970s, 80s, and 90s in America's programming communities. This includes professional software engineers in emerging tech companies but also the hobbyists, educators, students, gamers, hackers, writers, and everyday citizens who created or modified software but didn't use the traditional labels. A backdrop of my book's presentation are the computer literacy debates of the era, and a number of the historic languages and tools, but you'll also see how people learned to write code for new platforms such as CP/M, MS-DOS, Unix/Xenix, Windows, and the Apple Macintosh. The book is available now in the ACM Digital Library <https://dl.acm.org/doi/book/10.1145/3368274>-- All the best, Michael Halvorson, Ph.D. Professor of History Pacific Lutheran University Tacoma, WA 98447
Bill, For a short take you might like Ian Bogost's 2015 Atlantic piece titled Programmers Stop Calling Yourself Engineers: https://www.theatlantic.com/technology/archive/2015/11/programmers-should-no... And to Cortada's mention of the sociology of professions I might also recommend Burton Bledstein's The Culture of Professionalism. (Side story: I was appalled to see my library "remaindering" this book a few years ago -- I'm now its proud owner). Best, Luke Fernandez lfernandez.org On Mon, May 4, 2020 at 6:00 PM Michael Halvorson <halvormj@plu.edu> wrote:
Bill,
Nathan's *The Computer Boys Take Over* is a great resource for the changing vocabulary related to software construction in the 1960s and the institutional and professional power that came with new titles and roles.
If you're interested in how the story continues into the era of PCs, my new book *Code Nation: Personal Computing and the Learn to Program Movement in America* (ACM Books, 2020) explores the wide range of people who experimented with or claimed programmer status in the 1970s, 80s, and 90s in America's programming communities. This includes professional software engineers in emerging tech companies but also the hobbyists, educators, students, gamers, hackers, writers, and everyday citizens who created or modified software but didn't use the traditional labels.
A backdrop of my book's presentation are the computer literacy debates of the era, and a number of the historic languages and tools, but you'll also see how people learned to write code for new platforms such as CP/M, MS-DOS, Unix/Xenix, Windows, and the Apple Macintosh.
The book is available now in the ACM Digital Library <https://dl.acm.org/doi/book/10.1145/3368274>--
All the best,
Michael Halvorson, Ph.D. Professor of History Pacific Lutheran University Tacoma, WA 98447
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Thanks to those who sent suggestions for background info on this topic! My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as: - Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)? - Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense? To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies. The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist? Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past. OK, end of rant! Thanks, Bill ________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hello, SIGCIS folks. The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing. What do we call people who design and implement computer programs? Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms. Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code). The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems. Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems. The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis. Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose. At the same time, we call developers coders, which to me sounds like it deflates prestige. What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian. Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations. Thanks. Bill _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Hi Bill, I have a chapter that deals with these issues in my book Recoding Gender (the “software crisis” chapter). Basically I argue that all the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility. In addition to “coder," one of the other early job titles was “mathematician,” which has very different connotations for the same work. Grace Hopper described her employers as inventing a title for her that would be impressive enough to fit the salary she was earning. I actually had the same experience back in my programming days; my boss told me I would get the title "Programmer/Analyst" to match my salary, not because I was suddenly going to be doing “analysis.” I’m particularly skeptical about the term “software engineer”: while it does emphasize some important skills in terms of collaborative processes and quality control, it also devalues some important skills involving understanding the user’s requirements and working with them (and of course there is a gender dimension to this). And as you note, the term has become almost generic nowadays. I do agree with you that the issues of training, competence and responsibility are important ones to raise. I’m just not convinecd that it’s necessary or even possible to link those reliably with job titles for programmers. The reason for the resurgence of “coder” for high-end programming jobs is an interesting question. I wonder if it’s a deliberate and ironic downgrading, like wearing a hoodie to work instead of an IBM-style suit? A sort of “we don’t need status symbols” statement? best regards, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/
On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks, Bill
________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Janet, you state it eloquently: "the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility." Very true today. RE "software engineering": that can imply a technocentric approach, but the best definitions of SE are much more than that. Even better than the ACM/IEEE SE curriculum (in which I had a small part), I think the best de facto definition of the field is Ian Sommerville's _Software Engineering_, a text I used in my teaching career from the first edition to about the 10th. There is a lot about UI design, requirements analysis, and many other topics computer scientists might consider marginal.... even socio-technical concerns. - Bill ________________________________________ From: Janet Abbate [abbate@vt.edu] Sent: Tuesday, May 05, 2020 4:29 PM To: McMillan, William W Cc: members@sigcis.org Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hi Bill, I have a chapter that deals with these issues in my book Recoding Gender (the “software crisis” chapter). Basically I argue that all the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility. In addition to “coder," one of the other early job titles was “mathematician,” which has very different connotations for the same work. Grace Hopper described her employers as inventing a title for her that would be impressive enough to fit the salary she was earning. I actually had the same experience back in my programming days; my boss told me I would get the title "Programmer/Analyst" to match my salary, not because I was suddenly going to be doing “analysis.” I’m particularly skeptical about the term “software engineer”: while it does emphasize some important skills in terms of collaborative processes and quality control, it also devalues some important skills involving understanding the user’s requirements and working with them (and of course there is a gender dimension to this). And as you note, the term has become almost generic nowadays. I do agree with you that the issues of training, competence and responsibility are important ones to raise. I’m just not convinecd that it’s necessary or even possible to link those reliably with job titles for programmers. The reason for the resurgence of “coder” for high-end programming jobs is an interesting question. I wonder if it’s a deliberate and ironic downgrading, like wearing a hoodie to work instead of an IBM-style suit? A sort of “we don’t need status symbols” statement? best regards, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/
On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks, Bill
________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Hi Bill (and all), Chiming in here to agree with Janet’s and Nathan’s assessments and to mention that I also discuss this in my book, Programmed Inequality. In that case, job titles for programmers and computer workers were incredibly important for fixing the price of labor even when people were doing the same work (but had different titles assigned to them). This continues into the present (as many of my interviewees and friends who work as developers have described to me). In addition to the categories already mentioned, national origin and immigration status come into play in US software development labor hierarchies today. Additional books that may help connect more dots re: naming and prestige consolidation in tech, and how that relates to where we are today, include: Kate Losse’s The Boy Kings, Charlton McIlwain’s Black Software, Margot Shetterly’s Hidden Figures, and Joy Rankin’s A People’s History of Computing, in addition to the key works already mentioned by others. I’m sure that there are important ones I’m missing at the moment as well—hopefully others will chime in. Best, Mar ______________________ Mar Hicks Associate Professor History of Technology Illinois Institute of Technology Chicago, IL USA mhicks1@iit.edu | marhicks.com | @histoftech Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing www.programmedinequality.com On May 5, 2020, at 4:06 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote: Janet, you state it eloquently: "the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility." Very true today. RE "software engineering": that can imply a technocentric approach, but the best definitions of SE are much more than that. Even better than the ACM/IEEE SE curriculum (in which I had a small part), I think the best de facto definition of the field is Ian Sommerville's _Software Engineering_, a text I used in my teaching career from the first edition to about the 10th. There is a lot about UI design, requirements analysis, and many other topics computer scientists might consider marginal.... even socio-technical concerns. - Bill ________________________________________ From: Janet Abbate [abbate@vt.edu] Sent: Tuesday, May 05, 2020 4:29 PM To: McMillan, William W Cc: members@sigcis.org Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hi Bill, I have a chapter that deals with these issues in my book Recoding Gender (the “software crisis” chapter). Basically I argue that all the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility. In addition to “coder," one of the other early job titles was “mathematician,” which has very different connotations for the same work. Grace Hopper described her employers as inventing a title for her that would be impressive enough to fit the salary she was earning. I actually had the same experience back in my programming days; my boss told me I would get the title "Programmer/Analyst" to match my salary, not because I was suddenly going to be doing “analysis.” I’m particularly skeptical about the term “software engineer”: while it does emphasize some important skills in terms of collaborative processes and quality control, it also devalues some important skills involving understanding the user’s requirements and working with them (and of course there is a gender dimension to this). And as you note, the term has become almost generic nowadays. I do agree with you that the issues of training, competence and responsibility are important ones to raise. I’m just not convinecd that it’s necessary or even possible to link those reliably with job titles for programmers. The reason for the resurgence of “coder” for high-end programming jobs is an interesting question. I wonder if it’s a deliberate and ironic downgrading, like wearing a hoodie to work instead of an IBM-style suit? A sort of “we don’t need status symbols” statement? best regards, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/
On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks, Bill
________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
For a nice perspective on this topic in Soviet history, see Ksenia Tatarchenko’s article in the journal Kritika and on her Academia page, “The computer does not believe in tears: Soviet programming, professionalization, and the gendering of authority.” https://www.academia.edu/34878243/_The_Computer_Does_Not_Believe_in_Tears_So... Best, Barbara From: Members <members-bounces@lists.sigcis.org> on behalf of Mar Hicks <mhicks1@iit.edu> Date: Tuesday, May 5, 2020 at 2:32 PM To: "McMillan, William W" <william.mcmillan@cuaa.edu> Cc: "members@sigcis.org" <members@sigcis.org> Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hi Bill (and all), Chiming in here to agree with Janet’s and Nathan’s assessments and to mention that I also discuss this in my book, Programmed Inequality. In that case, job titles for programmers and computer workers were incredibly important for fixing the price of labor even when people were doing the same work (but had different titles assigned to them). This continues into the present (as many of my interviewees and friends who work as developers have described to me). In addition to the categories already mentioned, national origin and immigration status come into play in US software development labor hierarchies today. Additional books that may help connect more dots re: naming and prestige consolidation in tech, and how that relates to where we are today, include: Kate Losse’s The Boy Kings, Charlton McIlwain’s Black Software, Margot Shetterly’s Hidden Figures, and Joy Rankin’s A People’s History of Computing, in addition to the key works already mentioned by others. I’m sure that there are important ones I’m missing at the moment as well—hopefully others will chime in. Best, Mar ______________________ Mar Hicks Associate Professor History of Technology Illinois Institute of Technology Chicago, IL USA mhicks1@iit.edu<mailto:mhicks1@iit.edu> | marhicks.com<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarhicks.com%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=lVUYRHfzgpZJ0VeoZnNmgP0UOsMYk47Dsd88Xi%2BHqBY%3D&reserved=0> | @histoftech<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftwitter.com%2Fhistoftech&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=LvqgR4VreSH2MNwEYOksghbMnQUL8wD%2FqOF51FKHEyo%3D&reserved=0> Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing www.programmedinequality.com<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.programmedinequality.com%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=UcyGRlFPLPxNqyVMsD4UBnHIpu8BD1EMAx0J98aUQ1M%3D&reserved=0> On May 5, 2020, at 4:06 PM, McMillan, William W <william.mcmillan@cuaa.edu<mailto:william.mcmillan@cuaa.edu>> wrote: Janet, you state it eloquently: "the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility." Very true today. RE "software engineering": that can imply a technocentric approach, but the best definitions of SE are much more than that. Even better than the ACM/IEEE SE curriculum (in which I had a small part), I think the best de facto definition of the field is Ian Sommerville's _Software Engineering_, a text I used in my teaching career from the first edition to about the 10th. There is a lot about UI design, requirements analysis, and many other topics computer scientists might consider marginal.... even socio-technical concerns. - Bill ________________________________________ From: Janet Abbate [abbate@vt.edu<mailto:abbate@vt.edu>] Sent: Tuesday, May 05, 2020 4:29 PM To: McMillan, William W Cc: members@sigcis.org<mailto:members@sigcis.org> Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hi Bill, I have a chapter that deals with these issues in my book Recoding Gender (the “software crisis” chapter). Basically I argue that all the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility. In addition to “coder," one of the other early job titles was “mathematician,” which has very different connotations for the same work. Grace Hopper described her employers as inventing a title for her that would be impressive enough to fit the salary she was earning. I actually had the same experience back in my programming days; my boss told me I would get the title "Programmer/Analyst" to match my salary, not because I was suddenly going to be doing “analysis.” I’m particularly skeptical about the term “software engineer”: while it does emphasize some important skills in terms of collaborative processes and quality control, it also devalues some important skills involving understanding the user’s requirements and working with them (and of course there is a gender dimension to this). And as you note, the term has become almost generic nowadays. I do agree with you that the issues of training, competence and responsibility are important ones to raise. I’m just not convinecd that it’s necessary or even possible to link those reliably with job titles for programmers. The reason for the resurgence of “coder” for high-end programming jobs is an interesting question. I wonder if it’s a deliberate and ironic downgrading, like wearing a hoodie to work instead of an IBM-style suit? A sort of “we don’t need status symbols” statement? best regards, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fliberalarts.vt.edu%2Fsts&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=xHrCb59ugKJWz6yLpueLL0Saw7DaNPNNNipGq3vjPlA%3D&reserved=0> www.facebook.com/VirginiaTechSTS<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.facebook.com%2FVirginiaTechSTS&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=h4Mm%2FEOElYJiUxSNlr8lEkUGsS%2Bnvc5PYYQhyJLGtN8%3D&reserved=0> https://sites.google.com/vt.edu/stsconnect/<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsites.google.com%2Fvt.edu%2Fstsconnect%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=%2FAdaF1P%2Fp13Gt7hAvJvQ50jaSRZRwoaf0QUdwt9EfDk%3D&reserved=0> On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu<mailto:william.mcmillan@cuaa.edu>> wrote: Thanks to those who sent suggestions for background info on this topic! My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as: - Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)? - Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense? To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies. The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist? Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past. OK, end of rant! Thanks, Bill ________________________________________ From: Members [members-bounces@lists.sigcis.org<mailto:members-bounces@lists.sigcis.org>] on behalf of McMillan, William W [william.mcmillan@cuaa.edu<mailto:william.mcmillan@cuaa.edu>] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org<mailto:members@sigcis.org> Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hello, SIGCIS folks. The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing. What do we call people who design and implement computer programs? Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms. Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code). The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems. Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acm.org%2Fbinaries%2Fcontent%2Fassets%2Feducation%2Fse2014.pdf&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=herfXfNpZXIIzeX1vJVF9s%2BZrPluQ04viABZBHyRsFI%3D&reserved=0> The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems. The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis. Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose. At the same time, we call developers coders, which to me sounds like it deflates prestige. What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian. Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations. Thanks. Bill _______________________________________________ This email is relayed from members at sigcis.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsigcis.org%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=Rl6inSLPcbUvahHMXb1aM7V9WErqI05ef2L4OM5JwB4%3D&reserved=0>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Fpipermail%2Fmembers-sigcis.org%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=taz9qTosWkxzzgIgZKUeTekteydhTzoGInZsEG07PEo%3D&reserved=0> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Flistinfo.cgi%2Fmembers-sigcis.org&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=SRgJTNJVqc0q3ZPngWBfixaUA48SZEYAjSo7DemRrIo%3D&reserved=0> _______________________________________________ This email is relayed from members at sigcis.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsigcis.org%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=Rl6inSLPcbUvahHMXb1aM7V9WErqI05ef2L4OM5JwB4%3D&reserved=0>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Fpipermail%2Fmembers-sigcis.org%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=taz9qTosWkxzzgIgZKUeTekteydhTzoGInZsEG07PEo%3D&reserved=0> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Flistinfo.cgi%2Fmembers-sigcis.org&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=SRgJTNJVqc0q3ZPngWBfixaUA48SZEYAjSo7DemRrIo%3D&reserved=0> _______________________________________________ This email is relayed from members at sigcis.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsigcis.org%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=Rl6inSLPcbUvahHMXb1aM7V9WErqI05ef2L4OM5JwB4%3D&reserved=0>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Fpipermail%2Fmembers-sigcis.org%2F&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=taz9qTosWkxzzgIgZKUeTekteydhTzoGInZsEG07PEo%3D&reserved=0> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Flistinfo.cgi%2Fmembers-sigcis.org&data=01%7C01%7Cbbwalker%40unr.edu%7Cd43ec0e3e7aa45709b9008d7f13bdf36%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=SRgJTNJVqc0q3ZPngWBfixaUA48SZEYAjSo7DemRrIo%3D&reserved=0>
Little late here, just catching up on listserv emails. I'd add Sareeta Amrute's book Encoding Race, Encoding Class to the discussion of labels, work "content", and status; her site is migrant coding/programming labor in Germany, productively fitting these topics into global political economy. ** Christina Dunbar-Hester New book! *Hacking Diversity* <https://press.princeton.edu/titles/14235.html>, Princeton U. Press & less-new book *Low Power to the People* <http://mitpress.mit.edu/books/low-power-people>, MIT Press On Tue, May 5, 2020 at 2:33 PM Mar Hicks <mhicks1@iit.edu> wrote:
Hi Bill (and all),
Chiming in here to agree with Janet’s and Nathan’s assessments and to mention that I also discuss this in my book, Programmed Inequality. In that case, job titles for programmers and computer workers were incredibly important for fixing the price of labor even when people were doing the same work (but had different titles assigned to them). This continues into the present (as many of my interviewees and friends who work as developers have described to me). In addition to the categories already mentioned, national origin and immigration status come into play in US software development labor hierarchies today.
Additional books that may help connect more dots re: naming and prestige consolidation in tech, and how that relates to where we are today, include: Kate Losse’s The Boy Kings, Charlton McIlwain’s Black Software, Margot Shetterly’s Hidden Figures, and Joy Rankin’s A People’s History of Computing, in addition to the key works already mentioned by others. I’m sure that there are important ones I’m missing at the moment as well—hopefully others will chime in.
Best,
Mar ______________________ Mar Hicks Associate Professor History of Technology Illinois Institute of Technology Chicago, IL USA mhicks1@iit.edu | marhicks.com | @histoftech <http://twitter.com/histoftech> *Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing* www.programmedinequality.com
On May 5, 2020, at 4:06 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Janet, you state it eloquently: "the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility."
Very true today.
RE "software engineering": that can imply a technocentric approach, but the best definitions of SE are much more than that. Even better than the ACM/IEEE SE curriculum (in which I had a small part), I think the best de facto definition of the field is Ian Sommerville's _Software Engineering_, a text I used in my teaching career from the first edition to about the 10th. There is a lot about UI design, requirements analysis, and many other topics computer scientists might consider marginal.... even socio-technical concerns.
- Bill
________________________________________ From: Janet Abbate [abbate@vt.edu] Sent: Tuesday, May 05, 2020 4:29 PM To: McMillan, William W Cc: members@sigcis.org Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hi Bill,
I have a chapter that deals with these issues in my book Recoding Gender (the “software crisis” chapter). Basically I argue that all the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility. In addition to “coder," one of the other early job titles was “mathematician,” which has very different connotations for the same work. Grace Hopper described her employers as inventing a title for her that would be impressive enough to fit the salary she was earning. I actually had the same experience back in my programming days; my boss told me I would get the title "Programmer/Analyst" to match my salary, not because I was suddenly going to be doing “analysis.” I’m particularly skeptical about the term “software engineer”: while it does emphasize some important skills in terms of collaborative processes and quality control, it also devalues some important skills involving understanding the user’s requirements and working with them (and of course there is a gender dimension to this). And as you note, the term has become almost generic nowadays.
I do agree with you that the issues of training, competence and responsibility are important ones to raise. I’m just not convinecd that it’s necessary or even possible to link those reliably with job titles for programmers.
The reason for the resurgence of “coder” for high-end programming jobs is an interesting question. I wonder if it’s a deliberate and ironic downgrading, like wearing a hoodie to work instead of an IBM-style suit? A sort of “we don’t need status symbols” statement?
best regards, Janet
Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/
On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks,
Bill
________________________________________
From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu]
Sent: Monday, May 04, 2020 11:28 AM
To: members@sigcis.org
Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined:
https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks.
Bill
_______________________________________________
This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________
This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
And while we are staring at your email, congratulations on your "new book" and for your "Less-new book." It's great to see productive work. Jim On Mon, May 11, 2020 at 3:42 PM christina dunbar-hester < c.dunbarhester@gmail.com> wrote:
Little late here, just catching up on listserv emails. I'd add Sareeta Amrute's book Encoding Race, Encoding Class to the discussion of labels, work "content", and status; her site is migrant coding/programming labor in Germany, productively fitting these topics into global political economy.
** Christina Dunbar-Hester New book! *Hacking Diversity* <https://press.princeton.edu/titles/14235.html>, Princeton U. Press & less-new book *Low Power to the People* <http://mitpress.mit.edu/books/low-power-people>, MIT Press
On Tue, May 5, 2020 at 2:33 PM Mar Hicks <mhicks1@iit.edu> wrote:
Hi Bill (and all),
Chiming in here to agree with Janet’s and Nathan’s assessments and to mention that I also discuss this in my book, Programmed Inequality. In that case, job titles for programmers and computer workers were incredibly important for fixing the price of labor even when people were doing the same work (but had different titles assigned to them). This continues into the present (as many of my interviewees and friends who work as developers have described to me). In addition to the categories already mentioned, national origin and immigration status come into play in US software development labor hierarchies today.
Additional books that may help connect more dots re: naming and prestige consolidation in tech, and how that relates to where we are today, include: Kate Losse’s The Boy Kings, Charlton McIlwain’s Black Software, Margot Shetterly’s Hidden Figures, and Joy Rankin’s A People’s History of Computing, in addition to the key works already mentioned by others. I’m sure that there are important ones I’m missing at the moment as well—hopefully others will chime in.
Best,
Mar ______________________ Mar Hicks Associate Professor History of Technology Illinois Institute of Technology Chicago, IL USA mhicks1@iit.edu | marhicks.com | @histoftech <http://twitter.com/histoftech> *Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing* www.programmedinequality.com
On May 5, 2020, at 4:06 PM, McMillan, William W < william.mcmillan@cuaa.edu> wrote:
Janet, you state it eloquently: "the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility."
Very true today.
RE "software engineering": that can imply a technocentric approach, but the best definitions of SE are much more than that. Even better than the ACM/IEEE SE curriculum (in which I had a small part), I think the best de facto definition of the field is Ian Sommerville's _Software Engineering_, a text I used in my teaching career from the first edition to about the 10th. There is a lot about UI design, requirements analysis, and many other topics computer scientists might consider marginal.... even socio-technical concerns.
- Bill
________________________________________ From: Janet Abbate [abbate@vt.edu] Sent: Tuesday, May 05, 2020 4:29 PM To: McMillan, William W Cc: members@sigcis.org Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hi Bill,
I have a chapter that deals with these issues in my book Recoding Gender (the “software crisis” chapter). Basically I argue that all the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility. In addition to “coder," one of the other early job titles was “mathematician,” which has very different connotations for the same work. Grace Hopper described her employers as inventing a title for her that would be impressive enough to fit the salary she was earning. I actually had the same experience back in my programming days; my boss told me I would get the title "Programmer/Analyst" to match my salary, not because I was suddenly going to be doing “analysis.” I’m particularly skeptical about the term “software engineer”: while it does emphasize some important skills in terms of collaborative processes and quality control, it also devalues some important skills involving understanding the user’s requirements and working with them (and of course there is a gender dimension to this). And as you note, the term has become almost generic nowadays.
I do agree with you that the issues of training, competence and responsibility are important ones to raise. I’m just not convinecd that it’s necessary or even possible to link those reliably with job titles for programmers.
The reason for the resurgence of “coder” for high-end programming jobs is an interesting question. I wonder if it’s a deliberate and ironic downgrading, like wearing a hoodie to work instead of an IBM-style suit? A sort of “we don’t need status symbols” statement?
best regards, Janet
Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/
On May 5, 2020, at 3:50 PM, McMillan, William W < william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks,
Bill
________________________________________
From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu]
Sent: Monday, May 04, 2020 11:28 AM
To: members@sigcis.org
Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined:
https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks.
Bill
_______________________________________________
This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________
This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
-- James W. Cortada Senior Research Fellow Charles Babbage Institute University of Minnesota jcortada@umn.edu 608-274-6382
I can't help but be reminded about one place I worked for a number of years. Roughly every couple of years my title would change, more from corporate policies than anything else, I think. The funny part is it kept getting longer. By the time I was caught up in a massive layoff, I think it was something like Chief Engineering Specialist/Principle (or maybe that was the penultimate one). To be honest, these days the only title I think of for myself is Doctor. That one is earned; industrial titles always seem to be bestowed by business people for business reasons. I don't think I ever used a title in the last industrial position I had. The founder liked the idea of following the Bell Labs model where everone was a member of the technical staff. When some wanted something different, he offered to let them make up their own. There's one guy I know whose business cards say Coreboot High Priest, if I remember correctly. BLS On Tuesday, May 5, 2020, 04:29:27 PM EDT, Janet Abbate <abbate@vt.edu> wrote: Hi Bill, I have a chapter that deals with these issues in my book Recoding Gender (the “software crisis” chapter). Basically I argue that all the names in use were laden with questionable assumptions about the nature of the work, and that titles were often chosen for strategic purposes rather than as a straightforward description of the work and its level of skill and responsibility. In addition to “coder," one of the other early job titles was “mathematician,” which has very different connotations for the same work. Grace Hopper described her employers as inventing a title for her that would be impressive enough to fit the salary she was earning. I actually had the same experience back in my programming days; my boss told me I would get the title "Programmer/Analyst" to match my salary, not because I was suddenly going to be doing “analysis.” I’m particularly skeptical about the term “software engineer”: while it does emphasize some important skills in terms of collaborative processes and quality control, it also devalues some important skills involving understanding the user’s requirements and working with them (and of course there is a gender dimension to this). And as you note, the term has become almost generic nowadays. I do agree with you that the issues of training, competence and responsibility are important ones to raise. I’m just not convinecd that it’s necessary or even possible to link those reliably with job titles for programmers. The reason for the resurgence of “coder” for high-end programming jobs is an interesting question. I wonder if it’s a deliberate and ironic downgrading, like wearing a hoodie to work instead of an IBM-style suit? A sort of “we don’t need status symbols” statement? best regards, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/
On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks, Bill
________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Here is a sneak preview of our coverage of that story from chapter 13 of the revised History of Modern Computing. As obsessive list-watchers may remember, I've been working with Paul Ceruzzi on a new edition of his classic overview history. The book is about to enter copyediting and production at MIT Press. (more on the project at https://www.mediacoop.uni-siegen.de/wp-content/uploads/Working-Paper-Series- No-3.pdf) The effect of all these new tools was to make the development of a major interactive website a much cheaper and faster proposition in the 2010s than it was in the 1990s, despite the enormously greater complexity of modern websites. This put a huge premium on programmers able to work with the particular blend of technologies needed for a project. Startups particularly prized the "full stack developer" whose skills extended from operating systems through databases, server code, and browser-based code, to interface design, requirements analysis, and project management. Such creatures were rare, some said almost non-existent, but the search for them signaled a shift from the old corporate model of systems development with large, specialized teams. The shift was accompanied by a tendency of skilled programmers to identify as "coders," and a new industry of "coding boot camps." Back in the 1950s "coding" had been identified as the most routine, and worst paid, aspect of programming. That work was soon automated by software tools and the job title dwindled during the 1960s. Title inflation followed - programmers were called "analysts" or "software engineers". The programming staff at firms like Google are usually called engineers, despite efforts by the engineering professions to reserve the word for people with actual engineering credentials. The word "architect" was eventually applied to almost every part of the system development process, perhaps spurred by design expert Don Norman's high profile appointment as Apple's "User Experience Architect" in 1993. This similarly enraged real architects. According to a 2010 report, the "down economy has only sharpened their displeasure, as thousands of un- and underemployed architects sift through job listings for software architects, systems architects, data architects, and information architects: in short, every kind of 'architect' except their own kind."[i] "Coder," in contrast, was an aggressively unpretentious identify celebrating the practical business of sticking together computer instructions. Perhaps IT development work has now reached a level of pay and respect that efforts to appropriate job titles from better established professions will no longer be necessary. A New Yorker article from 2014 suggested that elite developers were the new rock stars or professional athletes, able to earn huge sums negotiated by slick agents.[ii] Tom -----Original Message----- From: Members <members-bounces@lists.sigcis.org> On Behalf Of McMillan, William W Sent: Tuesday, May 5, 2020 2:51 PM To: members@sigcis.org Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Thanks to those who sent suggestions for background info on this topic! My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as: - Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)? - Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense? To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies. The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist? Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past. OK, end of rant! Thanks, Bill ________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: <mailto:members@sigcis.org> members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hello, SIGCIS folks. The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing. What do we call people who design and implement computer programs? Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms. Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code). The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems. Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: <https://www.acm.org/binaries/content/assets/education/se2014.pdf> https://www.acm.org/binaries/content/assets/education/se2014.pdf The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems. The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis. Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose. At the same time, we call developers coders, which to me sounds like it deflates prestige. What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian. Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations. Thanks. Bill _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at <http://lists.sigcis.org/pipermail/members-sigcis.org/> http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org> http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at <http://lists.sigcis.org/pipermail/members-sigcis.org/> http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org> http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _____ [i] {Hurley, 2010 #6635} [ii] {Widicombe, 2014 #6625}.
Hi, all. I’ve been enjoying the discussion so far. I'm not a historian, but I've worked in the software world since the mid-1980s. This is personal recollection and thoughts from that experience; perhaps it is helpful. From the mid-80s to the mid-90s, pretty much the only job title for people developing software that I encountered was "software engineer" in various forms. The term "developer", near as I can recall, would typically be used in the context of specific kinds of software: "Windows developer", "application developer", "UNIX developer", etc. In other words, "developer" wasn't a job title, but was just a way of categorizing by the kind of software you worked on. I was in the UNIX/workstation/systems/research parts of the world, and areas like mainframes, business applications, and PC/Windows may have had different terminology. What changed things was the web, in the late 90s. The changes came in a couple of ways. First, creating web applications meant a lot of work in HTML, which doesn't seem much like writing program in C, C++, or Java. Even the server code at the time was written in "scripting languages", most commonly Perl and PHP at that time. Second, the demand for people to write those applications exploded, and it brought a lot of people into the work who didn't have a computer science background. In the job market, this was kind of complicated. There was a time when someone who could work with Perl and HTML wasn't really considered to be a "software engineer". Indeed, the work practices usually didn't resemble what we normally think of as software engineering. So terms like "application developer" and "web developer" came to be used even as job titles. To some extent it was status, yet it was also trying to draw a distinction in the level of training and professional methods that different kinds of people "writing code" would use. (This was also the day of the "code monkey", doing the web work, although that has fortunately faded.) This gets us into the early 2000s. Large numbers of people are now "developers" of various kinds. It's the hot area, so the terms are more in the public media, and it's a lot easier to say than "software engineer". So the term largely takes over. This accelerates as smart phones appear, and Steve Jobs gives us the term "app", which, of course, requires "app developers". Again, it's the hot thing. I think this is also the time that gave us new meanings for "coding" and "coders". Writing HTML clearly wasn't "programming" in a traditional sense. But it was also important work to be done, and working with HTML is a kind of coding activity if you are willing to loosen your notion of what its. But it's also not "HTML programming". Beyond that, I suspect that for many people at the time, "programming" had negative connotations: it was hard, the people (by far mostly male, at that point) who did it were serious nerds, and so on. "Coding" was more approachable. "Coding a web application" seemed like something many people could do; "programming in C" sounded hard and mysterious. As with "developer", "coding" starts to dominate. It's also easier to say than "programming" or "developing software". "Learn to code" spreads, first as a way to retrain to get a job, then as an activity for everyone. It's short and sweet, and seems like it might be accessible. All of this is muddled up with status, salaries, job classification and tracks within companies, and the continued battles over which kinds of people who write software are better than others. Of course, "software engineer" struggles in terms of methodology and principles when lined up against older engineering disciplines, both in terms of professional definition and the rigor of practice, but that's another story. I'm sure that investigating this further would turn up a lot that I have no idea about. If this is out of line/out of scope for the list, I apologize. Best, Win Win Treese treese@acm.org
On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks, Bill
________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Hi Win, Your mention of the “Learn to code” movement brings to mind the 2013 video by Code.org (link below), which ushered in a lot of that coding discourse. They imply that superstars like Bill Gates and Mark Zuckerberg identify as “coders.” Maybe that helped raise the status of the term. https://www.youtube.com/watch?v=nKIu9yen5nc best, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/
On May 5, 2020, at 10:20 PM, Win Treese <treese@acm.org> wrote:
Hi, all. I’ve been enjoying the discussion so far.
I'm not a historian, but I've worked in the software world since the mid-1980s. This is personal recollection and thoughts from that experience; perhaps it is helpful.
From the mid-80s to the mid-90s, pretty much the only job title for people developing software that I encountered was "software engineer" in various forms. The term "developer", near as I can recall, would typically be used in the context of specific kinds of software: "Windows developer", "application developer", "UNIX developer", etc. In other words, "developer" wasn't a job title, but was just a way of categorizing by the kind of software you worked on. I was in the UNIX/workstation/systems/research parts of the world, and areas like mainframes, business applications, and PC/Windows may have had different terminology.
What changed things was the web, in the late 90s. The changes came in a couple of ways. First, creating web applications meant a lot of work in HTML, which doesn't seem much like writing program in C, C++, or Java. Even the server code at the time was written in "scripting languages", most commonly Perl and PHP at that time. Second, the demand for people to write those applications exploded, and it brought a lot of people into the work who didn't have a computer science background.
In the job market, this was kind of complicated. There was a time when someone who could work with Perl and HTML wasn't really considered to be a "software engineer". Indeed, the work practices usually didn't resemble what we normally think of as software engineering. So terms like "application developer" and "web developer" came to be used even as job titles. To some extent it was status, yet it was also trying to draw a distinction in the level of training and professional methods that different kinds of people "writing code" would use. (This was also the day of the "code monkey", doing the web work, although that has fortunately faded.)
This gets us into the early 2000s. Large numbers of people are now "developers" of various kinds. It's the hot area, so the terms are more in the public media, and it's a lot easier to say than "software engineer". So the term largely takes over. This accelerates as smart phones appear, and Steve Jobs gives us the term "app", which, of course, requires "app developers". Again, it's the hot thing.
I think this is also the time that gave us new meanings for "coding" and "coders". Writing HTML clearly wasn't "programming" in a traditional sense. But it was also important work to be done, and working with HTML is a kind of coding activity if you are willing to loosen your notion of what its. But it's also not "HTML programming". Beyond that, I suspect that for many people at the time, "programming" had negative connotations: it was hard, the people (by far mostly male, at that point) who did it were serious nerds, and so on. "Coding" was more approachable. "Coding a web application" seemed like something many people could do; "programming in C" sounded hard and mysterious.
As with "developer", "coding" starts to dominate. It's also easier to say than "programming" or "developing software". "Learn to code" spreads, first as a way to retrain to get a job, then as an activity for everyone. It's short and sweet, and seems like it might be accessible.
All of this is muddled up with status, salaries, job classification and tracks within companies, and the continued battles over which kinds of people who write software are better than others.
Of course, "software engineer" struggles in terms of methodology and principles when lined up against older engineering disciplines, both in terms of professional definition and the rigor of practice, but that's another story.
I'm sure that investigating this further would turn up a lot that I have no idea about.
If this is out of line/out of scope for the list, I apologize.
Best, Win
Win Treese treese@acm.org
On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks, Bill
________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Speaking of title creep, at the Computer History Museum we’ve found it amusing to see how the uses of “curator” and “to curate” have expanded in the last few years. For instance, "How to Upgrade Your Social Media Marketing Strategy as a Social Curator <https://quuu.co/blog/social-curator/>," or “How to curate your personal style through Instagram <https://beingboss.club/articles/curate-personal-style-instagram>.” “Electrician” is an old example of title creep. In the late 19th century as the first power grids were being built it was roughly equivalent to “Electrical Engineer” today, and apparently felt as mysterious and futuristic as “AI Curator <https://www.gallereo.com/blog-the-ai-curator-post-2109-55.html>” might now. W. Bernard Carlson’s biography of Tesla gives a number of contemporary examples of usage. Best, Marc Marc Weber <http://www.computerhistory.org/staff/Marc,Weber/> | marc@webhistory.org | +1 415 282 6868 Curatorial Director, Internet History Program Computer History Museum, 1401 N Shoreline Blvd., Mountain View CA 94043 computerhistory.org/nethistory | Co-founder, Web History Center and Project
On May 6, 2020, at 10:21, Janet Abbate <abbate@vt.edu> wrote:
Hi Win,
Your mention of the “Learn to code” movement brings to mind the 2013 video by Code.org (link below), which ushered in a lot of that coding discourse. They imply that superstars like Bill Gates and Mark Zuckerberg identify as “coders.” Maybe that helped raise the status of the term.
https://www.youtube.com/watch?v=nKIu9yen5nc
best, Janet
Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/
On May 5, 2020, at 10:20 PM, Win Treese <treese@acm.org> wrote:
Hi, all. I’ve been enjoying the discussion so far.
I'm not a historian, but I've worked in the software world since the mid-1980s. This is personal recollection and thoughts from that experience; perhaps it is helpful.
From the mid-80s to the mid-90s, pretty much the only job title for people developing software that I encountered was "software engineer" in various forms. The term "developer", near as I can recall, would typically be used in the context of specific kinds of software: "Windows developer", "application developer", "UNIX developer", etc. In other words, "developer" wasn't a job title, but was just a way of categorizing by the kind of software you worked on. I was in the UNIX/workstation/systems/research parts of the world, and areas like mainframes, business applications, and PC/Windows may have had different terminology.
What changed things was the web, in the late 90s. The changes came in a couple of ways. First, creating web applications meant a lot of work in HTML, which doesn't seem much like writing program in C, C++, or Java. Even the server code at the time was written in "scripting languages", most commonly Perl and PHP at that time. Second, the demand for people to write those applications exploded, and it brought a lot of people into the work who didn't have a computer science background.
In the job market, this was kind of complicated. There was a time when someone who could work with Perl and HTML wasn't really considered to be a "software engineer". Indeed, the work practices usually didn't resemble what we normally think of as software engineering. So terms like "application developer" and "web developer" came to be used even as job titles. To some extent it was status, yet it was also trying to draw a distinction in the level of training and professional methods that different kinds of people "writing code" would use. (This was also the day of the "code monkey", doing the web work, although that has fortunately faded.)
This gets us into the early 2000s. Large numbers of people are now "developers" of various kinds. It's the hot area, so the terms are more in the public media, and it's a lot easier to say than "software engineer". So the term largely takes over. This accelerates as smart phones appear, and Steve Jobs gives us the term "app", which, of course, requires "app developers". Again, it's the hot thing.
I think this is also the time that gave us new meanings for "coding" and "coders". Writing HTML clearly wasn't "programming" in a traditional sense. But it was also important work to be done, and working with HTML is a kind of coding activity if you are willing to loosen your notion of what its. But it's also not "HTML programming". Beyond that, I suspect that for many people at the time, "programming" had negative connotations: it was hard, the people (by far mostly male, at that point) who did it were serious nerds, and so on. "Coding" was more approachable. "Coding a web application" seemed like something many people could do; "programming in C" sounded hard and mysterious.
As with "developer", "coding" starts to dominate. It's also easier to say than "programming" or "developing software". "Learn to code" spreads, first as a way to retrain to get a job, then as an activity for everyone. It's short and sweet, and seems like it might be accessible.
All of this is muddled up with status, salaries, job classification and tracks within companies, and the continued battles over which kinds of people who write software are better than others.
Of course, "software engineer" struggles in terms of methodology and principles when lined up against older engineering disciplines, both in terms of professional definition and the rigor of practice, but that's another story.
I'm sure that investigating this further would turn up a lot that I have no idea about.
If this is out of line/out of scope for the list, I apologize.
Best, Win
Win Treese treese@acm.org
On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote:
Thanks to those who sent suggestions for background info on this topic!
My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as:
- Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)?
- Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense?
To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies.
The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist?
Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past.
OK, end of rant!
Thanks, Bill
________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer
Hello, SIGCIS folks.
The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing.
What do we call people who design and implement computer programs?
Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms.
Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code).
The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems.
Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf
The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems.
The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis.
Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose.
At the same time, we call developers coders, which to me sounds like it deflates prestige.
What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian.
Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations.
Thanks. Bill
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
_______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Marc Weber <http://www.computerhistory.org/staff/Marc,Weber/> | marc@webhistory.org | +1 415 282 6868 Internet History Program Curatorial Director, Computer History Museum 1401 N Shoreline Blvd., Mountain View CA 94043 computerhistory.org/nethistory <http://computerhistory.org/nethistory> Co-founder, Web History Center and Project, webhistory.org
In the 18th century American colonies, “electricians” were parlor, fairground and saloon performers, who demonstrated the marvels of static electricity to an eager populace. See James Delbourgo’s delightful book A Most Amazing Scene of Wonders: https://www.hup.harvard.edu/catalog.php?isbn=9780674022997 Barbara From: Members <members-bounces@lists.sigcis.org> on behalf of Marc Weber <marc@webhistory.org> Date: Wednesday, May 6, 2020 at 11:55 AM To: Janet Abbate <abbate@vt.edu>, Win Treese <treese@acm.org>, "members@sigcis.org" <members@sigcis.org> Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Speaking of title creep, at the Computer History Museum we’ve found it amusing to see how the uses of “curator” and “to curate” have expanded in the last few years. For instance, "How to Upgrade Your Social Media Marketing Strategy as a Social Curator<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fquuu.co%2Fblog%2Fsocial-curator%2F&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=bwTnpvJDE03gpC6%2BwdDJO3eHmFQ%2FwL0e9A3LkW9mLIY%3D&reserved=0>," or “How to curate your personal style through Instagram<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbeingboss.club%2Farticles%2Fcurate-personal-style-instagram&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=HzpXF9%2B%2FfxgfQd07czbQZK0XlyDtDQ8Sq%2BU%2BjI1a70Q%3D&reserved=0>.” “Electrician” is an old example of title creep. In the late 19th century as the first power grids were being built it was roughly equivalent to “Electrical Engineer” today, and apparently felt as mysterious and futuristic as “AI Curator<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gallereo.com%2Fblog-the-ai-curator-post-2109-55.html&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=fXD2sF%2FHnVOmgIcHPl1W2OKPo3uxtdYzK4aQEx7Cjow%3D&reserved=0>” might now. W. Bernard Carlson’s biography of Tesla gives a number of contemporary examples of usage. Best, Marc Marc Weber<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.computerhistory.org%2Fstaff%2FMarc%2CWeber%2F&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=eJs3sEraC4P5g7xdu5AfnSOWob25ocmqAuCDrLH9UrE%3D&reserved=0> | marc@webhistory.org<mailto:marc@webhistory.org> | +1 415 282 6868 Curatorial Director, Internet History Program Computer History Museum, 1401 N Shoreline Blvd., Mountain View CA 94043 computerhistory.org/nethistory<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcomputerhistory.org%2Fnethistory&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=6gizC7muLDTqGUPDI8m8eGg8VPSFCqNcNyVxvTz5%2Btc%3D&reserved=0> | Co-founder, Web History Center and Project On May 6, 2020, at 10:21, Janet Abbate <abbate@vt.edu<mailto:abbate@vt.edu>> wrote: Hi Win, Your mention of the “Learn to code” movement brings to mind the 2013 video by Code.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcode.org%2F&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=yDMdYFqtFRHTjCivzqcQ9irWB%2BfTood3GYz0eYS%2FHlI%3D&reserved=0> (link below), which ushered in a lot of that coding discourse. They imply that superstars like Bill Gates and Mark Zuckerberg identify as “coders.” Maybe that helped raise the status of the term. https://www.youtube.com/watch?v=nKIu9yen5nc<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DnKIu9yen5nc&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=PPKOl0pNpE%2FcaW%2FlFmHXx0V4mXs5H%2BVI4%2BfiS%2B4oXOI%3D&reserved=0> best, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fliberalarts.vt.edu%2Fsts&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=CgVi3KYSWcN3xBw9r%2BQGgRN36yQYQSSz4PwymXsQ400%3D&reserved=0> www.facebook.com/VirginiaTechSTS https://sites.google.com/vt.edu/stsconnect/ On May 5, 2020, at 10:20 PM, Win Treese <treese@acm.org> wrote: Hi, all. I’ve been enjoying the discussion so far. I'm not a historian, but I've worked in the software world since the mid-1980s. This is personal recollection and thoughts from that experience; perhaps it is helpful. From the mid-80s to the mid-90s, pretty much the only job title for people developing software that I encountered was "software engineer" in various forms. The term "developer", near as I can recall, would typically be used in the context of specific kinds of software: "Windows developer", "application developer", "UNIX developer", etc. In other words, "developer" wasn't a job title, but was just a way of categorizing by the kind of software you worked on. I was in the UNIX/workstation/systems/research parts of the world, and areas like mainframes, business applications, and PC/Windows may have had different terminology. What changed things was the web, in the late 90s. The changes came in a couple of ways. First, creating web applications meant a lot of work in HTML, which doesn't seem much like writing program in C, C++, or Java. Even the server code at the time was written in "scripting languages", most commonly Perl and PHP at that time. Second, the demand for people to write those applications exploded, and it brought a lot of people into the work who didn't have a computer science background. In the job market, this was kind of complicated. There was a time when someone who could work with Perl and HTML wasn't really considered to be a "software engineer". Indeed, the work practices usually didn't resemble what we normally think of as software engineering. So terms like "application developer" and "web developer" came to be used even as job titles. To some extent it was status, yet it was also trying to draw a distinction in the level of training and professional methods that different kinds of people "writing code" would use. (This was also the day of the "code monkey", doing the web work, although that has fortunately faded.) This gets us into the early 2000s. Large numbers of people are now "developers" of various kinds. It's the hot area, so the terms are more in the public media, and it's a lot easier to say than "software engineer". So the term largely takes over. This accelerates as smart phones appear, and Steve Jobs gives us the term "app", which, of course, requires "app developers". Again, it's the hot thing. I think this is also the time that gave us new meanings for "coding" and "coders". Writing HTML clearly wasn't "programming" in a traditional sense. But it was also important work to be done, and working with HTML is a kind of coding activity if you are willing to loosen your notion of what its. But it's also not "HTML programming". Beyond that, I suspect that for many people at the time, "programming" had negative connotations: it was hard, the people (by far mostly male, at that point) who did it were serious nerds, and so on. "Coding" was more approachable. "Coding a web application" seemed like something many people could do; "programming in C" sounded hard and mysterious. As with "developer", "coding" starts to dominate. It's also easier to say than "programming" or "developing software". "Learn to code" spreads, first as a way to retrain to get a job, then as an activity for everyone. It's short and sweet, and seems like it might be accessible. All of this is muddled up with status, salaries, job classification and tracks within companies, and the continued battles over which kinds of people who write software are better than others. Of course, "software engineer" struggles in terms of methodology and principles when lined up against older engineering disciplines, both in terms of professional definition and the rigor of practice, but that's another story. I'm sure that investigating this further would turn up a lot that I have no idea about. If this is out of line/out of scope for the list, I apologize. Best, Win Win Treese treese@acm.org On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote: Thanks to those who sent suggestions for background info on this topic! My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as: - Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)? - Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense? To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies. The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist? Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past. OK, end of rant! Thanks, Bill ________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hello, SIGCIS folks. The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing. What do we call people who design and implement computer programs? Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms. Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code). The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems. Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems. The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis. Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose. At the same time, we call developers coders, which to me sounds like it deflates prestige. What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian. Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations. Thanks. Bill _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org Marc Weber<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.computerhistory.org%2Fstaff%2FMarc%2CWeber%2F&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=eJs3sEraC4P5g7xdu5AfnSOWob25ocmqAuCDrLH9UrE%3D&reserved=0> | marc@webhistory.org<mailto:marc@webhistory.org> | +1 415 282 6868 Internet History Program Curatorial Director, Computer History Museum 1401 N Shoreline Blvd., Mountain View CA 94043 computerhistory.org/nethistory<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcomputerhistory.org%2Fnethistory&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=6gizC7muLDTqGUPDI8m8eGg8VPSFCqNcNyVxvTz5%2Btc%3D&reserved=0> Co-founder, Web History Center and Project, webhistory.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwebhistory.org%2F&data=01%7C01%7Cbbwalker%40unr.edu%7C3a07dda424124f809c0e08d7f1ef0f71%7C523b4bfc0ebd4c03b2b96f6a17fd31d8%7C1&sdata=drDTLDvLqBAjRMOb1gVusLCV8Wl7xRSwW%2B91puPrhcU%3D&reserved=0>
And anyone can call themselves a historian! (-: Debbie Douglas On May 6, 2020, at 2:55 PM, Marc Weber <marc@webhistory.org<mailto:marc@webhistory.org>> wrote: Speaking of title creep, at the Computer History Museum we’ve found it amusing to see how the uses of “curator” and “to curate” have expanded in the last few years. For instance, "How to Upgrade Your Social Media Marketing Strategy as a Social Curator<https://quuu.co/blog/social-curator/>," or “How to curate your personal style through Instagram<https://beingboss.club/articles/curate-personal-style-instagram>.” “Electrician” is an old example of title creep. In the late 19th century as the first power grids were being built it was roughly equivalent to “Electrical Engineer” today, and apparently felt as mysterious and futuristic as “AI Curator<https://www.gallereo.com/blog-the-ai-curator-post-2109-55.html>” might now. W. Bernard Carlson’s biography of Tesla gives a number of contemporary examples of usage. Best, Marc Marc Weber<http://www.computerhistory.org/staff/Marc,Weber/> | marc@webhistory.org<mailto:marc@webhistory.org> | +1 415 282 6868 Curatorial Director, Internet History Program Computer History Museum, 1401 N Shoreline Blvd., Mountain View CA 94043 computerhistory.org/nethistory<http://computerhistory.org/nethistory> | Co-founder, Web History Center and Project On May 6, 2020, at 10:21, Janet Abbate <abbate@vt.edu<mailto:abbate@vt.edu>> wrote: Hi Win, Your mention of the “Learn to code” movement brings to mind the 2013 video by Code.org<http://code.org/> (link below), which ushered in a lot of that coding discourse. They imply that superstars like Bill Gates and Mark Zuckerberg identify as “coders.” Maybe that helped raise the status of the term. https://www.youtube.com/watch?v=nKIu9yen5nc best, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts<http://liberalarts.vt.edu/sts> www.facebook.com/VirginiaTechSTS<http://www.facebook.com/VirginiaTechSTS> https://sites.google.com/vt.edu/stsconnect/ On May 5, 2020, at 10:20 PM, Win Treese <treese@acm.org> wrote: Hi, all. I’ve been enjoying the discussion so far. I'm not a historian, but I've worked in the software world since the mid-1980s. This is personal recollection and thoughts from that experience; perhaps it is helpful. From the mid-80s to the mid-90s, pretty much the only job title for people developing software that I encountered was "software engineer" in various forms. The term "developer", near as I can recall, would typically be used in the context of specific kinds of software: "Windows developer", "application developer", "UNIX developer", etc. In other words, "developer" wasn't a job title, but was just a way of categorizing by the kind of software you worked on. I was in the UNIX/workstation/systems/research parts of the world, and areas like mainframes, business applications, and PC/Windows may have had different terminology. What changed things was the web, in the late 90s. The changes came in a couple of ways. First, creating web applications meant a lot of work in HTML, which doesn't seem much like writing program in C, C++, or Java. Even the server code at the time was written in "scripting languages", most commonly Perl and PHP at that time. Second, the demand for people to write those applications exploded, and it brought a lot of people into the work who didn't have a computer science background. In the job market, this was kind of complicated. There was a time when someone who could work with Perl and HTML wasn't really considered to be a "software engineer". Indeed, the work practices usually didn't resemble what we normally think of as software engineering. So terms like "application developer" and "web developer" came to be used even as job titles. To some extent it was status, yet it was also trying to draw a distinction in the level of training and professional methods that different kinds of people "writing code" would use. (This was also the day of the "code monkey", doing the web work, although that has fortunately faded.) This gets us into the early 2000s. Large numbers of people are now "developers" of various kinds. It's the hot area, so the terms are more in the public media, and it's a lot easier to say than "software engineer". So the term largely takes over. This accelerates as smart phones appear, and Steve Jobs gives us the term "app", which, of course, requires "app developers". Again, it's the hot thing. I think this is also the time that gave us new meanings for "coding" and "coders". Writing HTML clearly wasn't "programming" in a traditional sense. But it was also important work to be done, and working with HTML is a kind of coding activity if you are willing to loosen your notion of what its. But it's also not "HTML programming". Beyond that, I suspect that for many people at the time, "programming" had negative connotations: it was hard, the people (by far mostly male, at that point) who did it were serious nerds, and so on. "Coding" was more approachable. "Coding a web application" seemed like something many people could do; "programming in C" sounded hard and mysterious. As with "developer", "coding" starts to dominate. It's also easier to say than "programming" or "developing software". "Learn to code" spreads, first as a way to retrain to get a job, then as an activity for everyone. It's short and sweet, and seems like it might be accessible. All of this is muddled up with status, salaries, job classification and tracks within companies, and the continued battles over which kinds of people who write software are better than others. Of course, "software engineer" struggles in terms of methodology and principles when lined up against older engineering disciplines, both in terms of professional definition and the rigor of practice, but that's another story. I'm sure that investigating this further would turn up a lot that I have no idea about. If this is out of line/out of scope for the list, I apologize. Best, Win Win Treese treese@acm.org On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu> wrote: Thanks to those who sent suggestions for background info on this topic! My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as: - Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)? - Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense? To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies. The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist? Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past. OK, end of rant! Thanks, Bill ________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hello, SIGCIS folks. The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing. What do we call people who design and implement computer programs? Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms. Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code). The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems. Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems. The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis. Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose. At the same time, we call developers coders, which to me sounds like it deflates prestige. What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian. Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations. Thanks. Bill _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org Marc Weber<http://www.computerhistory.org/staff/Marc,Weber/> | marc@webhistory.org<mailto:marc@webhistory.org> | +1 415 282 6868 Internet History Program Curatorial Director, Computer History Museum 1401 N Shoreline Blvd., Mountain View CA 94043 computerhistory.org/nethistory<http://computerhistory.org/nethistory> Co-founder, Web History Center and Project, webhistory.org<http://webhistory.org/> _______________________________________________ This email is relayed from members at sigcis.org<http://sigcis.org>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org Deborah G. Douglas, PhD • Director of Collections and Curator of Science and Technology, MIT Museum; Research Associate, Program in Science, Technology, and Society • Room N51-209 • 265 Massachusetts Avenue • Cambridge, MA 02139-4307 • ddouglas@mit.edu<mailto:ddouglas@mit.edu> • 617-253-1766 telephone • 617-253-8994 facsimile • http://mitmuseum.mit.edu • she/her/hers
…not to mention, “businessman." -- Erik P. Rau, PhD Director, Library Services Hagley Museum & Library P.O. Box 3630, 298 Buck Road Wilmington, DE 19807 302.658.2400, ext. 344 erau@hagley.org<mailto:erau@hagley.org> www.hagley.org www.hagleyheritage.com<http://www.hagleyheritage.com> Sign up for Hagley Library’s monthly newsletter<https://www.hagley.org/research/news/subscribe> to receive the latest research news, collection updates, upcoming events, and more. You can unsubscribe at any time. On 6 May 2020, at 17:11, Deborah Douglas <ddouglas@MIT.EDU<mailto:ddouglas@MIT.EDU>> wrote: And anyone can call themselves a historian! (-: Debbie Douglas On May 6, 2020, at 2:55 PM, Marc Weber <marc@webhistory.org<mailto:marc@webhistory.org>> wrote: Speaking of title creep, at the Computer History Museum we’ve found it amusing to see how the uses of “curator” and “to curate” have expanded in the last few years. For instance, "How to Upgrade Your Social Media Marketing Strategy as a Social Curator<https://quuu.co/blog/social-curator/>," or “How to curate your personal style through Instagram<https://beingboss.club/articles/curate-personal-style-instagram>.” “Electrician” is an old example of title creep. In the late 19th century as the first power grids were being built it was roughly equivalent to “Electrical Engineer” today, and apparently felt as mysterious and futuristic as “AI Curator<https://www.gallereo.com/blog-the-ai-curator-post-2109-55.html>” might now. W. Bernard Carlson’s biography of Tesla gives a number of contemporary examples of usage. Best, Marc Marc Weber<http://www.computerhistory.org/staff/Marc,Weber/> | marc@webhistory.org<mailto:marc@webhistory.org> | +1 415 282 6868 Curatorial Director, Internet History Program Computer History Museum, 1401 N Shoreline Blvd., Mountain View CA 94043 computerhistory.org/nethistory<http://computerhistory.org/nethistory> | Co-founder, Web History Center and Project On May 6, 2020, at 10:21, Janet Abbate <abbate@vt.edu<mailto:abbate@vt.edu>> wrote: Hi Win, Your mention of the “Learn to code” movement brings to mind the 2013 video by Code.org<http://code.org/> (link below), which ushered in a lot of that coding discourse. They imply that superstars like Bill Gates and Mark Zuckerberg identify as “coders.” Maybe that helped raise the status of the term. https://www.youtube.com/watch?v=nKIu9yen5nc best, Janet Dr. Janet Abbate Professor, Science, Technology and Society Virginia Tech Co-director, VT National Capital Region STS program liberalarts.vt.edu/sts<http://liberalarts.vt.edu/sts> www.facebook.com/VirginiaTechSTS<http://www.facebook.com/VirginiaTechSTS> https://sites.google.com/vt.edu/stsconnect/ On May 5, 2020, at 10:20 PM, Win Treese <treese@acm.org<mailto:treese@acm.org>> wrote: Hi, all. I’ve been enjoying the discussion so far. I'm not a historian, but I've worked in the software world since the mid-1980s. This is personal recollection and thoughts from that experience; perhaps it is helpful. From the mid-80s to the mid-90s, pretty much the only job title for people developing software that I encountered was "software engineer" in various forms. The term "developer", near as I can recall, would typically be used in the context of specific kinds of software: "Windows developer", "application developer", "UNIX developer", etc. In other words, "developer" wasn't a job title, but was just a way of categorizing by the kind of software you worked on. I was in the UNIX/workstation/systems/research parts of the world, and areas like mainframes, business applications, and PC/Windows may have had different terminology. What changed things was the web, in the late 90s. The changes came in a couple of ways. First, creating web applications meant a lot of work in HTML, which doesn't seem much like writing program in C, C++, or Java. Even the server code at the time was written in "scripting languages", most commonly Perl and PHP at that time. Second, the demand for people to write those applications exploded, and it brought a lot of people into the work who didn't have a computer science background. In the job market, this was kind of complicated. There was a time when someone who could work with Perl and HTML wasn't really considered to be a "software engineer". Indeed, the work practices usually didn't resemble what we normally think of as software engineering. So terms like "application developer" and "web developer" came to be used even as job titles. To some extent it was status, yet it was also trying to draw a distinction in the level of training and professional methods that different kinds of people "writing code" would use. (This was also the day of the "code monkey", doing the web work, although that has fortunately faded.) This gets us into the early 2000s. Large numbers of people are now "developers" of various kinds. It's the hot area, so the terms are more in the public media, and it's a lot easier to say than "software engineer". So the term largely takes over. This accelerates as smart phones appear, and Steve Jobs gives us the term "app", which, of course, requires "app developers". Again, it's the hot thing. I think this is also the time that gave us new meanings for "coding" and "coders". Writing HTML clearly wasn't "programming" in a traditional sense. But it was also important work to be done, and working with HTML is a kind of coding activity if you are willing to loosen your notion of what its. But it's also not "HTML programming". Beyond that, I suspect that for many people at the time, "programming" had negative connotations: it was hard, the people (by far mostly male, at that point) who did it were serious nerds, and so on. "Coding" was more approachable. "Coding a web application" seemed like something many people could do; "programming in C" sounded hard and mysterious. As with "developer", "coding" starts to dominate. It's also easier to say than "programming" or "developing software". "Learn to code" spreads, first as a way to retrain to get a job, then as an activity for everyone. It's short and sweet, and seems like it might be accessible. All of this is muddled up with status, salaries, job classification and tracks within companies, and the continued battles over which kinds of people who write software are better than others. Of course, "software engineer" struggles in terms of methodology and principles when lined up against older engineering disciplines, both in terms of professional definition and the rigor of practice, but that's another story. I'm sure that investigating this further would turn up a lot that I have no idea about. If this is out of line/out of scope for the list, I apologize. Best, Win Win Treese treese@acm.org<mailto:treese@acm.org> On May 5, 2020, at 3:50 PM, McMillan, William W <william.mcmillan@cuaa.edu<mailto:william.mcmillan@cuaa.edu>> wrote: Thanks to those who sent suggestions for background info on this topic! My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as: - Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)? - Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense? To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies. The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist? Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past. OK, end of rant! Thanks, Bill ________________________________________ From: Members [members-bounces@lists.sigcis.org<mailto:members-bounces@lists.sigcis.org>] on behalf of McMillan, William W [william.mcmillan@cuaa.edu<mailto:william.mcmillan@cuaa.edu>] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org<mailto:members@sigcis.org> Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hello, SIGCIS folks. The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing. What do we call people who design and implement computer programs? Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms. Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code). The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems. Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems. The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis. Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose. At the same time, we call developers coders, which to me sounds like it deflates prestige. What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian. Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations. Thanks. Bill _______________________________________________ This email is relayed from members at sigcis.org<http://sigcis.org>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org<http://sigcis.org>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org<http://sigcis.org>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org<http://sigcis.org>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org Marc Weber<http://www.computerhistory.org/staff/Marc,Weber/> | marc@webhistory.org<mailto:marc@webhistory.org> | +1 415 282 6868 Internet History Program Curatorial Director, Computer History Museum 1401 N Shoreline Blvd., Mountain View CA 94043 computerhistory.org/nethistory<http://computerhistory.org/nethistory> Co-founder, Web History Center and Project, webhistory.org<http://webhistory.org/> _______________________________________________ This email is relayed from members at sigcis.org<http://sigcis.org/>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org Deborah G. Douglas, PhD • Director of Collections and Curator of Science and Technology, MIT Museum; Research Associate, Program in Science, Technology, and Society • Room N51-209 • 265 Massachusetts Avenue • Cambridge, MA 02139-4307 • ddouglas@mit.edu<mailto:ddouglas@mit.edu> • 617-253-1766 telephone • 617-253-8994 facsimile • http://mitmuseum.mit.edu<http://mitmuseum.mit.edu/> • she/her/hers _______________________________________________ This email is relayed from members at sigcis.org<http://sigcis.org>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
Re job titles, one data-centric angle of study would be to collect the official titles recorded in government statistics for software workers, across countries. The U.S. Census Bureau started to track such categories in the 1970 Census: Computer programmers, Computer systems analysts, Computer specialists, n.e.c. Source: https://usa.ipums.org/usa/volii/occ1970.shtml Before that, there is the longstanding category of electrical engineer, and various flavors of mathematicians and technicians. And after 1970 the categories fracture further as they grow and differentiate. This shows a current list used for employment projections and career advice. https://www.bls.gov/oes/current/oes_stru.htm#15-0000 Occupations appear in such lists as a function of how big and well-defined they are, and some advocacy and political processes too. It can be shown that earnings inequality within an occupation category helps predict when it will be broken up in a later round. I haven't worked with lists from other countries but a lot is available online. It would be good to know how the government lists overlap with the titles used by employers and trade associations. Possibly the government lists lag the others. I will be happy to work with you or others from SIGCIS to gather that sort of evidence and write it up. If left to myself I'll get to it eventually. -- Peter B. Meyer, Research economist, 202-691-5678 U.S. Bureau of Labor Statistics, Office of Productivity and Technology -----Original Message----- From: Members [mailto:members-bounces@lists.sigcis.org] On Behalf Of McMillan, William W Sent: Tuesday, May 5, 2020 3:51 PM To: members@sigcis.org Subject: Re: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Thanks to those who sent suggestions for background info on this topic! My own interest in the history of computing is really more about understanding the present, and my concern about the use and misuse of professional titles, though informed by history, leads to questions such as: - Why do we call programmers and software developers coders nowadays, when that term has long been used to label those with quite limited intellectual involvement in software development, and even considered to be carrying out a clerical task (as explained well in Nathan's book)? - Why do we apply the term software engineer to those who can program, but who really know very little about software engineering in the broader sense? To me this suggests that our society, and the enterprises that create the software we use, have extremely limited understanding of software development and what it entails. This is a failure of those of us who teach computing and software engineering and maybe of professional societies. The risks to society are immense. Imagine if a machinist or even a self-taught tinkerer could adopt the title mechanical engineer at will and be tasked with designing the critical devices of our civilization. Or if anyone with some knowledge of biochemistry could serve as a pharmacist? Maybe SIGCIS members don't believe that this topic belongs on this list, but I feel that historians might be better positioned to address it than many in the technical and commercial communities who are consumed by immediate demands, and who have very limited understanding of their profession's past. OK, end of rant! Thanks, Bill ________________________________________ From: Members [members-bounces@lists.sigcis.org] on behalf of McMillan, William W [william.mcmillan@cuaa.edu] Sent: Monday, May 04, 2020 11:28 AM To: members@sigcis.org Subject: [SIGCIS-Members] Programmer vs. coder vs. sofware developer vs. software engineer Hello, SIGCIS folks. The ruminations below might have little scholarly importance, but I think the subject is interesting at least in regard to the culture of computing. What do we call people who design and implement computer programs? Nowadays, the term coder is used, maybe most often. My understanding is that this used to refer to the job of translating a detailed flow chart, which was created by a programmer, into an implementation language. I.e., the coder was sort of like a human compiler who translated a detailed algorithm into a computer language like Fortran, Cobol, or assembly language. The coder didn't design algorithms. Later, the coder dropped out of the loop and a programmer implemented algorithms directly in a computer language (possibly after creating a flow chart or pseudo-code). The term software developer has been used, possibly implying that the job is broader than just programming, including gathering requirements, testing, and integration with existing systems. Starting in the late 1960s, the title software engineer became common. At least initially, this implied a very broad scope, as well as specialized training in requirements analysis, system design, programming style, verification and validation, risk assessment, maintenance techniques, UI design, and other aspects of software development. I believe that Texas even licenses professional engineers in software engineering, and a detailed curriculum has been defined: https://www.acm.org/binaries/content/assets/education/se2014.pdf The title software engineer implied that the person at least had a solid university course specifically in software engineering, as well as a good foundation in computer science or information systems. The term systems analyst sometimes implies a similar role, though it might mean something more akin to requirements analysis. Currently, anyone who writes computer programs might identify as a software engineer, even if he or she has no background beyond computer programming. Companies use the title willy-nilly. This inflates the prestige of the job, I suppose. At the same time, we call developers coders, which to me sounds like it deflates prestige. What professionals call themselves does matter. If a medical assistant calls himself a physician, the risks are obvious. If a physician (true software engineer) calls herself a technician (coder), then at least confusion results. Of course governments regulate the use of job titles in medical professions, while software development as it exists today is very libertarian. Has there been much consideration of the common use of job titles in the history of computing? Certainly there's been a lot of work in the history of software engineering, programming, systems analysis, etc., but I'm asking about the use and misuse of job titles by individuals and organizations. Thanks. Bill _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org _______________________________________________ This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
participants (17)
-
Barbara B Walker -
Brian L. Stuart -
christina dunbar-hester -
David Grier -
Deborah Douglas -
Erik Rau -
James Cortada -
Janet Abbate -
Luke Fernandez -
Mar Hicks -
Marc Weber -
McMillan, William W -
Meyer, Peter - BLS -
Michael Halvorson -
Nathan Ensmenger -
thomas.haigh@gmail.com -
Win Treese