In This Story
For Brittany Johnson-Matthews, software engineering is not just about building systems that work. It is about building equitable systems that last.
An assistant professor in the Computer Science Department at George Mason University, Johnson-Matthews spent the past five years teaching in the university’s software engineering master’s program. In that span, she helped shape a program she describes in one word: “practical.”
In her software testing and maintenance course, Johnson-Matthews centers on what she calls “the theoretical and practical aspects of software quality and maintenance.” She reminds her students that software is evolutionary. It changes, expands, and accumulates complexity. “How do we consider the evolutionary nature of software such that we can maintain quality long-term and build sustainable systems?” She asks them.
The class is intentionally hands-on. Students are not just “talking about testing and what that means,” she said. “You’re actually doing it. You’re actually learning how to write a test suite, how to automate tests in a development environment and learning what those concepts mean and how they scale in practice.” The goal is clear: graduates should emerge ready to perform, equipped with both theoretical foundations and applied experience, including areas like maintenance that most curriculum don’t explicitly cover.
But Johnson-Matthews’s work reaches beyond code correctness. In her Ethics and Equity in Software Engineering course, she challenges students to grapple with the broader consequences of the systems they build, or as she put it, “How do we consider equity both in the formation of teams and products, but also in the impact that our products might be having in society?”
Students read research, analyze current events, and strengthen their communication skills. “That builds up your ability to communicate about problems and solutions,” she said. “That is becoming a really important trait for software engineers.”
One signature assignment is a “Black Mirror Writer’s Room” exercise inspired by the dystopian television series. Students imagine a near-future technology that goes wrong and then explore its feasibility and risks. “Every year that I run that exercise, I see students engaged. I see students excited,” she said. But what impresses her most is that students think through practicality and impact. “They’re actually thinking about, ‘Could I build this? Could I actually avoid this particular harm and how?’”
As AI reshapes the tech landscape, Johnson-Matthews emphasizes that core software engineering principles remain essential. She argues that software engineering students are differentiating themselves. “At the end of the day, if it’s AI, if it’s traditional software, it’s still engineering. And with engineering validation and verification are central.” Those fundamentals are things software engineering promotes heavily.
In her view, the program’s strength lies not only in its curriculum but in its community. She describes the faculty as “open, welcoming and collegiate,” and deeply committed to student success. “We are here to help students learn. We’re here to help students succeed,” she said.
For Johnson-Matthews, that mission is urgent. In her classroom, students learn that excellence is not just about innovation. It is about responsibility, sustainability, and building systems worthy of the world they shape.