Debugging Diversity

Short Form


Despite the media attention given to the diversity in tech problem, many technology practitioners don't see how a lack of diversity affects their daily life. So, it is not surprising that they neither understand the magnitude of the problem nor how they can fix it.

However, the principles and language of debugging, something technology practitioners understand well, can be used to help them understand diversity and their role in solving the problem. So, technologists already have a set of terms that they can use to tackle diversity. They just need to know how to apply those terms in order to effect positive change. These terms are expected behavior, tracing, refactoring, and sample code.


Expected Behavior

The first step in understanding a bug in knowing the expected behavior of the system. Similarly, understanding diversity is impossible without knowing the expected behavior of technology environments. Whether it’s a workplace, conference, or happy hour, the dominant demographic in technology understands and benefits from the behavior patterns they expect from others. However, they often fail to see how underrepresented groups are often denied those benefits. The ability to see these lapses in expected behavior is vital to helping the dominant demographic understand that the key problem behind diversity is a lack of inclusiveness.


Since software programs are often very complicated, debugging them is often made easier by seeing the output of the underlying code. This is done by tracing which is the practice of displaying lines of code as the program runs. If technologists turn their diversity tracers on, they can see the ways that underrepresented groups are often excluded from information and often exposed to micro-aggressions by the dominant demographic.


While the allure of adding new features can be powerful, legacy code is made easier to maintain and less costly to develop by refactoring. This is the practice of restructuring and improving the internal design of code without disrupting the functionality of the system. Diversity refactoring is a good way for technologists to begin making the technology industry a more inclusive one. This is the process of improving the internal structure and design of how underrepresented groups are viewed in tech.

Sample Code

One way to debug code is to see a sample of similar code that runs well. Essentially, another programmer “lends” you code that helps your code work better. Just as a person can “lend” code to another person, a person can “lend” privilege to another person. This can be done by helping underrepresented groups get access to information and events that naturally flow to the dominant demographic in most technology companies.

Attendees of this session will leave with an understanding of the diversity in technology problem that is illuminated by terms that they already know. They will gain techniques that they can immediately put into action for making technology the inclusive environment in which we all deserve to build our careers.


diversity, inclusion

Speaking experience

Link to Speaker CV:

Video of me Giving this talk at GitHub’s CodeConf:


  • Lightfoot 0134 anjuan

    Anjuan Simmons

    Assemble Systems


    Anjuan Simmons is a technologist with a successful track record of delivering technology solutions from the user interface to the database. He is currently a software project manager and Certified Scrum Master at a leading construction software manufacturer, and he has previously worked as an executive for Accenture, Deloitte, and Infosys. He has spoken as South by Southwest Interactive multiple times as well as local and regional technology conferences around the United States on topics such as design, Agile software development, diversity, and leadership. Anjuan has an undergraduate degree in electrical engineering from the University of Texas at Austin and an MBA from Texas A&M University.

Leave a private comment to organizers about this proposal