top of page

Your Engineers Do Need Communication Skills. So Teach Them about Rhetorical Situations (Part 2)

In the first part of this series, I made an argument that software engineers (SEs) need to be skilled communicators, and that the best way to help engineers improve their communication skills is to appeal to their analytic, compositional mindsets through teaching them how to analyze the composition of communicative artifacts.

Basically, I believe that we should teach SEs about rhetorical situations, and about the elements of rhetorical situations that interact to create communicative artifacts: author, intended audience, text, purpose, and context. And so, in this second part of this three-part series, I’ll describe the rhetorical situation using a framework used in college composition classrooms.

In the third part (upcoming), we’ll take that framework and use it to analyze communication artifacts for their rhetorical effectiveness, with the goal of helping folks understand how rhetorical choices contribute to both communicative success and failure.

The Rhetorical Situation

Defining Rhetoric

To start, we may want to take a moment to define rhetoric.  Rhetoric is one of those polysemous words that takes on different meanings depending on the context in which it’s discussed. It’s a word that’s neutral for some, but that for others, carries a negative connotation. Many have likely heard the phrase “empty rhetoric,” for example, which we typically use to describe writing or speech that makes a promise that the writer or speaker has no real intention of following through with.

But rhetoric can also refer to:

language that is designed to have a persuasive or impressive effect on an audience


the art of effective or persuasive speaking or writing

Notice that both of these definitions include the idea of effectiveness. We’ll come back to this in more detail later, but for now, I think it’s good practice to start thinking now about all communicative acts as existing on a spectrum between effective and ineffective.

Defining The Rhetorical Situation

So, just what is the rhetorical situation? The concept was popularized in 1968 by renowned American rhetorician and professor Lloyd Bitzer. In his essay “The Rhetorical Situation” and later work, he wrote that a rhetorical situation arises when a problem emerges that can be addressed or resolved through mutually engaging discourse. In Bitzer’s view, discourse – or, communication – is used to address or resolve problems, and if we examine this attempt at resolution – the communicative act – there surrounds it a rhetorical situation that we can describe.

An example: I recently had a problem with my neighbor’s dog barking, so I created a communicative artifact – a text message – to attempt to solve the problem. Shortly thereafter, the dog stopped barking, so it must have been rhetorically effective enough 😆

Another example: I was unsure and unconfident of something I wrote for work today – and this insecurity was a problem for you – so I sent a Slack message – this was my communicative artifact – eliciting feedback from a colleague. My colleague gave me the feedback I was looking for, and so my Slack request must have been, again, rhetorically effective enough.

In composition classrooms, Bitzer’s idea has been adapted into a framework that very easily allows us to create, analyze and evaluate communicative artifacts, which we refer to generally as texts.

More on that in the section below. First, let’s discuss: What are the components that make up the rhetorical situation? There are different definitions and visual representations floating around, but the framework I was taught (and continue to love) when I trained to teach Rhetoric & Composition at Colorado State University comprises five core elements:

  • text

  • author

  • intended audience

  • purpose

  • context

Let’s define and examine each individually, and then look at how they work together in a single communicative artifact.


Text refers to any communicative artifact. A text message you send on your phone is a text, and so is a book, or an article, or a conference presentation, or a poem, or a song, or a painting.

Texts can be described and categorized according to their forms (the shape they take, e.g., haiku versus five-paragraph essay) and functions (what they are intended to do, e.g., inform versus persuade). We call a text’s general category its genre, and something important here is that many genres have a set of socially-agreed-upon conventions that dictate and restrict their forms and functions.

Fantasy novels, for example, have forms and functions that make them like other fantasy novels and that make them unlike the sorts of novels that Nicholas Sparks writes (and which I wouldn’t recommend reading. Ever. Sorry, Sparks 😆).

Country songs have forms and functions that make them distinct from rap songs, although something we commonly see from artists is cross-genre experimentation and – sometimes – the creation of entirely new genres.

Software engineers deal in a multitude of genres on a regular basis. The standup report is a (typically) spoken genre, for example; it commonly takes the form of a concise report organized by answers to the implicit questions What did you do yesterday? What will you do today? and What blockers are you experiencing? It functions to keep your teammates and leaders apprised of progress, victories, collaboration needs, blockers, and potential delays.

In a workshop on the rhetorical situation I led with a group of engineering colleagues, we made an attempt to list out the genres we commonly deal in as part of our work. These included:

  • Ticket descriptions

  • Ticket comments

  • Pull request descriptions

  • Pull request comments

  • Code

  • Code comments

  • README/repository documentation

  • Team meeting openings

  • Meeting notes

  • Project updates

  • Sprint demos

  • Technical documentation

  • Written requests for technical help via messaging system

  • Spoken requests for technical help

  • Release notes

  • Changelog entry

  • Technical project proposal

  • Request for Comments (RFC)

I believe it’s immensely useful for software engineers to begin thinking about their communication in terms of whether it falls into a genre category. This encourages them to begin thinking about form and function, including those socially-agreed-upon conventions typical to that genre.


  • What types of texts do you or your SEs often create? What genres do you most often see in your domain?

  • How often do you think about genre and the socially-agreed-upon conventions of that genre when you’re creating a text?

  • Are there certain genres that you or your SEs particularly struggle with? How might focused “study” of that genre’s form and functions help?


Every text has an author or set of authors. This is the person or people creating the text. The background, qualities, motivations, etc. of the author have an effect on the text.

For an example, let’s take a look at this Slack message that I created to advertise a Cloud Certification study group while I was a Technical Lead in Pluralsight’s Technology Center of Excellence. Three things about me, the author:

  • I’m inveterately enthusiastic,

  • I’m perpetually worried that folks aren’t going to read through an entire announcement message,

  • I love a good emoji.

These qualities and concerns of mine absolutely show up in my Slack messages via my tone, my emoji use, and my frequent inclusion of bulleted lists and exclamation points:

Some questions we should ask when reading or analyzing a text are: 

  • Is the author qualified to create this text?

  • What should we consider about the author in relation to the text?

  • Does the author have any bias or agenda they may be trying to achieve through the text?

In the first part of this series, I attempted to answer the question “Who the heck am I to talk about rhetoric?” through sharing some details about my teaching background. That’s because I imagined that you – the reader – would likely question my background and credibility as the author of this text.

And you would be absolutely right to do so! With every text we encounter, we want to question the background, the biases, the intentions, and the credibility of the author.


  • How often do you think about and evaluate the credibility of a speaker or author whose work you encounter?

  • When you communicate to others, how often do you think about establishing your own credibility?

  • How do your personal qualities manifest in some of the texts you create?

Intended Audience

Some folks talk just to talk, write just to write, paint just to paint, etc. But skilled communicators craft texts for intended audiences. Just as every text has an author, every text also has an intended audience. At least, it should.

And I want to emphasize intended, here.

When an author constructs a text, they should have a specific audience in mind, and the qualities or attributes of that audience will influence the qualities of the text. For example, when I’m composing a message to high-level leadership – people I know are wildly busy and constantly fielding Slack messages – I try to make my messages as concise and to-the-point as possible, because I know they don’t have time to parse for important details or implied meanings. I tailor the form of my text for my intended audience.

An important thing to consider here is that not everyone who ends up encountering a text is part of its intended audience. Mitch Hedberg – though funny as all hell – had it flat wrong when he said, “Every book is a children’s book if the kid can read.”

A children’s book is a children’s book because its author intended it to be read by children, and crafted it in a form using textual features that are typical of the children’s book genre.

Anybody who has suffered through a company Town Hall can likely relate to how challenging it is to create a communicative artifact that is relevant and interesting to an audience of everyone. It’s a futile endeavor, in my opinion.

Similarly, SEs sometimes make the mistake of not considering their intended audience when providing project updates, or bug reports, or feature demos, to an audience of non-technical stakeholders. As I’ve written elsewhere, sometimes these SEs intentionally obscure their message for various reasons – stress, insecurity, sociopathy – but I think oftentimes they simply don’t consider who the intended audience of their messages are, and then how to craft the text to best suit the needs and understanding of that intended audience.

To summarize: Every text is created for a specific subset of “everyone”, and just who exactly comprises that subset of “everyone” should inform the form and function of the text.


  • How often do you consider your intended audience when crafting your communication?

  • Can you think of any recent texts you encountered for which you clearly weren’t a part of the intended audience?


A text’s purpose is the thing the author is trying to achieve with the intended audience through creating the text. Stated another way, authors create texts for intended audiences in order to achieve some specific purpose.

For example, a campaign website is typically created with the purpose of convincing on-the-fence voters of casting a ballot for the candidate.

A research whitepaper is often created with the purpose of summarizing research findings for a non-scientific audience (the research is typically reported on in more depth via a peer-reviewed article).

An in-code comment is a text that might have the purpose of documenting a section of code in order to make working with and around the code easier.

Hardly any text should be created without a clear purpose. As authors, we often hold a purpose in mind before we’ve made any decisions about the form of the text. And really, we should let that purpose guide us in choosing an appropriate form for the text. For example, if I want to teach a group of software engineers about the rhetorical situation, there are many types of texts I could use to do this – an article, a video tutorial, a 50-minute virtual workshop, a three-hour live workshop, etc – but what I need to ask myself is Which will be most effective in helping me achieve my purpose with my intended audience?

As consumers of a text, we aren’t always able to ascertain what the purpose is. This can happen when authors don’t make their purpose very clear for their audience, either intentionally or unintentionally. When this is unintentional, it may be because an author doesn’t have a strong enough awareness or command of rhetorical tools and genre/textual features to make that purpose clear. (Obscuring purpose can also be done intentionally as a stylistic choice, of course!)

Some genres include explicit purpose statements by convention. For example, many scientific research papers include a statement like, “In this paper, we report on the results of a study that…”. This makes the purpose of reporting on the present study very clear. 


Finally, authors create texts to achieve specific purposes with their intended audiences within a particular context. Here, we’re talking about the exigencies and the environmental factors surrounding the text; that is, anything that has some impact on its construction, whether that impact is on the author, the intended audience, the purpose, or the text itself.

I’ve heard many people proclaim that they love reading classic literature. I  myself do not enjoy reading literature written more than a century ago unless I read with some kind of contextual guide, whether that be a reference I’ve found on the Web, someone guiding the reading in a literature class, etc. As with any text, novels are heavily influenced by the contexts in which they were created, and understanding that context can unlock one's understanding, appreciation, and analysis of the novel.

Sometimes the context that calls for a text exists in the past. For example, as software practitioners, we would never create a post-mortem report if an issue or problem had not occurred. Sometimes the motivating context exists currently on a sort of continuum. For example, the tech standup readout typically endures as a typical software ceremony because of the continuous and enduring need to keep our leaders and teammates apprised of our progress, plans, and blockers.

And sometimes that context is future-oriented. I might create a three-hour workshop on rhetorical situations, for example, if I think at some point in the future, folks might want to pay me to run it with their teams.

(See what I did there???? 😜)

Tying it All Together

Okay. So we’ve covered the five elements of the rhetorical situation. Let me ask you: In the model below, why do you think text is placed in the center?

Well, each of these other components – the author, the purpose, the intended audience, and the context – combine and interact with each other to influence and determine the text’s form, including: language, style, dialect, organization, punctuation, specificity, example choice, cohesive devices, intertextuality, etc., etc., etc. The text emerges from these other factors, sometimes in intentional ways, and sometimes implicitly.

And here’s the crux of it: An author makes decisions about the construction of her text in order to best achieve her purpose with her intended audience. 

Today, she might:

  • write a Mastodon toot (text - genre choice)

  • to publicize her latest blog post (purpose)

  • to her followers (intended audience)

  • instead of a Twitter tweet (text - genre choice)

  • because her negative feelings about Elon Musk (author - beliefs, bias)

  • caused her to delete her Twitter account (context).

Describing the Rhetorical Situation

What we did above was describe a theoretical text – a Mastodon post – within the framework of the Rhetorical Situation. Again, this is not the only way, or “the right way”, or “the best way” that we can describe a text. It’s simply one way, and it’s the way I personally prefer.

Let’s see this description in action with a text type that we commonly encounter in the software development space. This will help us practice and prepare ourselves for part 3 of this series, where we’ll analyze texts for rhetorical effectiveness. (Which is the really fun part! 😀)


  1. Follow this link to our example text.

  2. Examine the text, and answer the following questions:

  3. What is the genre?

  4. Who is the author?

  5. Who is the intended audience?

  6. What is the purpose?

  7. What is the context?

Here’s my own analysis - this might differ slightly from your own, and that’s okay - each reader brings with them different knowledge (and, let’s face it, biases) that inform their analysis.


Pull request review comment


Sofie Van Landeghem, who by looking at her GitHub profile, is “a software engineer with a passion for data and NLP” and “a core maintainer of spaCy and Typer”. She also freelances through her company OxyKodit.

Intended audience

Primary audience is Ines Montani (author of the pull request), described in her GitHub profile as a “Digital native and software developer working on AI, Machine Learning & NLP. Founder @explosion, developing spaCy & Prodigy.”


If we were to succinctly summarize the purpose here, we might say “to provide feedback on a pull request.” And this is absolutely correct - the “pull request comment” is a genre that sort of inherently carries this purpose.

But that purpose statement is in some cases too much of a simplification. When I read this code review comment, which contains several distinct parts, I see multiple purposes emerge. Let’s look at a couple of these parts and analyze them individually:

“This is great!”

I would analyze this exclamation as serving an interpersonal purpose. Sofie may be “softening” whatever evaluative feedback that follows with this generic praise. She may also really believe that Ines’s work in this pull request is great, and wishes to tell her so.

“I think it makes sense to have this under extra so it all stays together in one place.”

This statement serves the purpose of addressing and affirming an organizational decision Ines made in this pull request, and that Ines explicitly and preemptively explains in the pull request description.

“Code conventions: it's really nice to have this detailed overview. I learned most of this by inspecting the current code base and by getting reviewer comments on my PRs, but it makes so much sense to make a lot of this explicit. I think this will be very useful for new people to jump in :-)”

Here, Sofie explicitly affirms a choice Ines made through opening this pull request, and I’d like to point out that she supports her affirmation by providing explanation and an example. A great rhetorical choice, in my opinion!


We can look for clues to the context here in the pull request and the repository it was opened in. A quick perusal tells us that this is an open-source project, and that the time had come to “Add development docs for Language and code conventions”, to reference the PR title 😀 This context is shared between the PR itself, and Sofie’s comment that we’re analyzing here.

Wrapping Up

Alright - that’s the rhetorical situation, for ya! Remember: Every communicative act is embedded in a rhetorical situation. As a consumer of texts, this situation can be dissected and analyzed, and we may not be part of the intended audience of every text we encounter As a creator of texts, elements of the rhetorical situation can (and should!) be harnessed when crafting the text.

Next up, we’ll talk about creating effective texts through this lens of the rhetorical situation!


bottom of page