When Mary Jean Harrold graduated from high school in West Virginia, she was the top math student in her class. The other high performers in math—all young men—were encouraged to go into engineering. School officials advised Harrold to become a teacher. So she did.
“It was the era. People simply had different expectations for women than they did for men,” says Harrold, now ADVANCE Professor in the School of Computer Science at Georgia Tech. “Even in my own family and in my husband’s family, when I talked about going to graduate school, the reaction was, ‘Why?’”
That experience is part of what motivates her today to help students realize their potential.
“People have all these expectations all around them: of society, of their peers, of their parents,” she says. “The thing that’s most satisfying to me is to help students expand their expectations of what they can achieve. I want students to understand that they can invent or discover the types of techniques and products that they admire others for inventing or discovering. They need to come to believe that they can do it, too.”
Harrold eventually realized that she could do it. She discovered in herself the discipline, intelligence, talent and drive to go from middle school math teacher to one of the top-ranked software engineering scholars in the world.
In 2007, Jie Ren, a software engineer at Google, and Richard N. Taylor, director of the Institute for Software Research at the University of California, Irvine, published the results of a new assessment system they had developed to rank the top 50 U.S. graduate programs in computing and the top 50 software engineering institutions and scholars. They reported the results of using their assessment system in an article in Communications of the ACM, which named Harrold the No. 1 software engineer in the world.
In her work, Harrold helps developers create better software. She creates quality tests for new programs, directs the debugging process, tests software in the field, determines what changes need to be made, and re-tests the software after changes are made. Her goal is to develop efficient techniques and tools that will at least partially automate this process to make it more productive and less expensive.
That can make life a lot better for a lot of people.
“Software is everywhere— in the banking, automotive and insurance industries, in medicine and education,” Harrold says. “Developing superior methods for creating high-quality software affects people in their daily lives. You expect your cell phone to work. You expect your car to work.”
The path that brought Harrold to where she stands today was not direct, quick, or easy. She taught middle school for several years after earning a bachelor’s degree in math at Marshall University in her home town of Huntington. It was as an undergraduate at Marshall that she encountered her first computer.
“We went to see one of those early computers, with the punch cards and the teletype. We would punch in some commands, and then stand around and wait,” she says. “I thought: ‘This is just a waste of time. I never want to have anything to do with computers!’”
Eventually Harrold changed her mind. She went back to study at the University of Pittsburgh, earning her master’s and doctoral degrees in computer science.
While still a graduate student, Harrold taught at the University of Pittsburgh as a full-time instructor. After earning her doctorate, she joined the Clemson University faculty in 1990. Six years later Harrold left Clemson to take a position at The Ohio State University. She arrived at Georgia Tech in January 2000 and began teaching courses in software engineering. She’s worked with numerous companies, including most recently Boeing Aerospace and Tata Consultancy Services.
The best thing about working at the College of Computing, Harrold says, is being able to interact with so many other scientists—both from computing and from other fields—doing vibrant, dynamic research. And that includes the future scientists who are paying tuition in order to work with and learn from her.
“The School, the College and the Institute encourage interdisciplinary work,” she says. “It’s so easy to find people doing good, strong research. I’ve been blessed with extraordinarily talented colleagues and students.”
Harrold is active in too many computing organizations and conferences to name them all. She is a member of the Computing Research Association (CRA) Board of Directors; a fellow of the Association for Computing Machinery (ACM); has served on the editorial board for ACM Transactions on Programming Languages and Systems and ACM Transactions on Software Engineering and Methodology; and served as general chair for ACM Special Interest Group on Software 2008/FSE 16.
Motivated by experiences in her own life and by situations where women may be placed at a real disadvantage, for instance paid less and treated differently, Harrold is especially passionate about supporting women scientists and academics. She is past co-chair of the Computing Research Association’s Committee on the Status of Women in Computing Research (CRA-W), and sits on the leadership team of the National Center for Women and Information Technology (NCWIT).
Until recently Harrold served as director of the NCWIT hub at Georgia Tech, and she continues working with the NCWIT Pacesetters Group in the College of Computing and nationally.
Harrold supports diversity in computing not only to help women and other underrepresented groups succeed in the field but, perhaps more importantly, to make technology better—for everyone.
“Women are good for computing; we need everyone we can get,” she says. “The technology industry and its impact are everywhere. Those products need to be developed by a diverse work force, because they could potentially be used by a diverse consumer base. Diversity in software engineering ultimately makes for more usable products.”