Home > Articles > Open Source > Python

The Value of Learning Programming from a Community of Women

Thursday Bram recounts her own experiences as a programmer, which have shown her that there's a difference in a woman's ability to learn a technical topic when she is learning it from a group of other women, especially when she's used to being one of the only women in the room.
Like this article? We recommend

Programming isn't a question of gender. There isn't a way that a man writes code versus a way a woman writes code. But there are differences in how we learn to program, to the point that, for women programmers, it's crucial to have a community of other women to learn from. The same, by the way, can hold true for anyone, but I can only adequately speak to my own experience — I don't have the right to speak for anyone else.

In this article, I will recount my own experiences as a programmer, which have shown me that there's a difference in a woman's ability to learn a technical topic when she is learning it from a group of other women, especially when she's used to being one of the only women in the room. There's a clear improvement, both in our comfort in discussing a topic and in using our new knowledge.

Creating a Comfort Level

My first programming class was in college; I took Intro to Java with thirty male classmates. The professor and TA were also both guys. I didn't think much of the situation; my hobbies and interests meant that I was already used to being the only woman in the room. But, looking back, I didn't go to the professor or the teaching assistant or even my classmates for help with the class. I went to a female friend of mine who was a few classes ahead of me.

Of course, one-on-one tutoring is bound to help with any class. But I also felt more comfortable asking questions of my friend or talking through the underlying concepts. I'm not prepared to analyze exactly why; in the years since, I've formed some new opinions that color how I remember that class. I do know, however, that being comfortable with the person teaching you is critical to actually learning the material in front of you.

For many women, a room full of guys isn't comfortable. Even when the number of men and women are close to equal, not everyone will be comfortable raising their hands. Having someone that you can go to with questions is critical to success in most fields — not just in computer science. Finding a mentor who you are comfortable with is often a subconscious process of looking for an advisor who you share characteristics with or who you feel similar to. I went to another student because I did not feel as comfortable asking questions in class or going to the professor privately.

Programming isn't an easy skill to learn. For every coder who is proficient in a matter of days, there are ten more who take at least a month to move past "Hello world!" Finding a way to help students feel comfortable asking questions isn't going to automatically make it easier for everyone to learn how to code, but it does remove a major stumbling block. It's the low-hanging fruit that clears the way to tackle harder pedagogical questions.

Understanding the Larger Community

I've found that workshops are incredibly helpful when learning a new programming language. I'm not one of those people who can work through a few tutorials and magically connect all the dots on her own. But all workshops are not created equal, in part because of who is available to run those learning experiences.

Even among workshops run specifically for women, there's significant variation. The most successful workshops depend on having mentors scattered throughout the room to help learners try out the material being taught, as well as workshop leaders who are responsible for guiding the group as a whole through the tutorial.

I had the less-than-ideal experience of attending a workshop where the leaders and learners were all women, but the mentors were local experts who happened to be men. There were several incidents of the mentors countermanding the leaders or the workshop materials (which had been written by another set of women and had been thoroughly tested), without even realizing that they were doing so. The changes these members suggested were generally too advanced for the workshop attendees and — at least once — seemed to serve no purpose beyond one mentor wanting to prove that he knew more about the topic of the workshop than the leader.

There are some arguments about whether the community around one language or another is more welcoming in terms of diversity, but I've attended similar workshops on the same language where those kinds of problems were not present. The factors involved in both local communities and the larger communities that evolve around a particular programming language or technology are too complicated to say for sure that a given group is more welcoming to women.

But there is clearly a value in a learning environment where it's possible to staff an entire workshop — mentors and all — with women. In my own experiences, such workshops have been more effective. At the very least, I come away feeling that I've had a chance to work through new material without having to deal with conflicting explanations from the workshop leader and a mentor. Of course, conflicts can occur independent of gender, but they do seem to happen more often with female leaders and male mentors.

I'm an active member of PyLadies, which is a Python community specifically for women. The overall organization is international, but each local group can choose how to operate. The local group in Portland (where I live) regularly holds our own workshops, relying on our own community to provide experts and only occasionally bringing in help from the larger Python community in Portland. I've been present for some discussions on who can and should be involved with PyLadies — such as at which meetings or workshops anyone who does not identify as female should be welcome. It's not a simple decision, but I think that the commitment to a women-only policy can be beneficial.

Using the Right Language and Examples

In addition to learning directly from other women, the actual materials we depend on to teach programming and related topics is an important factor as well. In order to be able to understand concepts, explanations must use language and examples that we're already familiar with — no matter our gender. But there are some differences in the explanations you'll hear for key concepts in programming, depending on the background of the person teaching the concept.

One of the benefits of having access to a community of women programmers, at least for me, has been that I'm more likely to talk to someone with a somewhat similar background to my own, who can explain a concept in a way that I find more accessible. Something as simple as changing the metaphor with which you explain an idea can have a major impact.

If you're familiar with the reversion control tool git, for instance, you may have used rebase, which allows you to roll back changes made to your code, add in a different layer of edits and then roll those changes out again, combining updates to make a new version of your code. When I was first learning git, I kept running into descriptions of rebase that compared it to a knife or a cleaver, in that it allowed you to cut things apart and put them back together again. That explanation just didn't make a lot of sense for me. It wasn't until a discussion with a few other PyLadies members about how rebase is more of a seam ripper — you can pull out the stitches holding changes together and sew the pieces back together again in a different pattern — that the concept made sense to me. That's not a comparison that you would get from anyone without some familiarity with sewing, of course, making it far less likely to come up in a group of men.

There are plenty of ways to find other programmers who you may have common ground with and who you can learn from, without using gender as a filter. But it’s hard to argue against turning to other women for this part of your technical education — especially since some programming communities are unwelcoming to anyone who seems different and doesn’t already know how to code.

Planning for the Future

In an ideal world, I wouldn't be writing this post. There'd be no need for organizations like PyLadies or separate learning opportunities for women. Everyone would get along, without any assumptions about who can learn, share and use technical skills. But we live in the real world, where gender plays a role in our interactions — even when dealing with organizations and individuals with a stated goal of bringing more diversity to programming.

Having access to communities that we are comfortable in is crucial to learning how to program, as well as for keeping those skills active. Whether you're contributing to open source, building your own product or otherwise working in a technical field, having support makes the difference in whether you can keep moving forward.

There are already established communities of women around many programming languages. Consider becoming a member, whether you're new to programming or you're at the top of your game. After all, these communities require top-notch programmers to provide mentorship and training if they're to provide newer coders with useful help.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020