My Experience as a Female CS Major
jeanhsu.com
jeanhsu.com
http://www.census.gov/compendia/statab/2011/tables/11s0300.p...
See the logical fallacy?
Oh... you meant in the OP?
Biological essentialist arguments were previously used to explain the disparity of men and women in law and medicine. Now that we know that those arguments were critically flawed and did not reflect reality, we should be very hesitant to support similar arguments being used to explain the lack of women in STEM disciplines.
I don't think this is at all unique to CS, or even to technical fields: it's the Dunning-Kruger Effect all over again.
Regarding women in CS, it would go a long way in helping to simply treat them as people. As an IRC op, I find it sickening how often, particularly in online programming communities, people hear the word "female" and start acting like utter idiots. This results in both unwanted negative and positive attention: but furthermore, continually reinforces the idea that a female is some sort of odd, unusual creature deserving of special study. This doesn't merely bother the victims -- it also helps convince them that they're the odd one out, and that they don't belong.
This doesn't have to be blatant sexism -- it can simply be comments like "oh, you're a girl?!" when someone uses a female pronoun. I've seen this happen dozens times in a single channel in response to a single person over the course of a few months.
Some of you may be thinking that this is just a problem for 4chan and Reddit. But the interesting thing that I've noticed is that the incidence of this problem doesn't seem to be reduced much with more professional communities, or in more mature environments.
Rather, the only statistic that seems to be consistently correlated with these kinds of problems is the perceived male/female ratio in a community. The instance the perception gets created that "this community is almost entirely male", problems begin to occur. This seems to be a constant everywhere from programming communities to writing communities to roleplaying communities to fandoms.
If you're male, you've probably been responsible for some of this at some point. Maybe it was just one comment. I mean, what harm could one comment do, right? But a hundred people making "just one comment" stops being a joke quickly -- and instead makes half of the smart aspiring programmers out there feel unwelcome. This is of course self-reinforcing: by making women feel unwelcome, the "almost entirely male" perception is perpetuated.
(An interesting question might be why the reverse problem rarely exists in communities perceived to be almost entirely female.)
The Dunning-Kruger effect doesn't necessarily imply a narcissistic personality (or any other personality traits); overconfidence in ability is something we are all vulnerable to.
I think if you "master a language", you don't get lumped in with those who know "a little bit". I think you're just talking about arrogant people in general who think that because they know X, they can berate those who don't know X.
Consider a person who plays, for example, a multiplayer game against the same three real life friends on a LAN, and concludes from his performance -- domination of his friends -- that he is an astounding player. Given his knowledge about the game and the skill of other players, it makes sense for him to make this conclusion. However, were he to play online, he would realize that his skills are paltry compared to the those of the best online gamers.
Here, Dunning-Kruger is manifested in this gamer's overconfidence based on lack of knowledge, and lack of meta-knowledge (he doesn't know the importance of what he doesn't know). It's based on a genuine mistake in his assessment of his skills, not necessarily arrogance.
But it has nothing to do with the gender issue. These "jerks" will be jerks to anyone who isn't at their level, male or female - I even caught myself sounding a little condescending today during a group study session.
Nevertheless, we have very very few female majors.
Women, I think (someone tell me if I’m full of it here) are brought up differently—they are trained to see guys who act this way as threats, and to avoid them, or at least keep their guard up around them. (There are obviously women who act rudely to other women, but it tends to be a different kind of rudeness.)
When guys don't respect social boundaries it can be frightening. Don't be so quick to assume this fear is trained- I didn't start to react with fear until a handful of upsetting experiences. It can be justified fear.
A man who treats women as if their main purpose in life is to be his potential girlfriends has a different problem, and I think most men who act like this are not so much socially awkward as socially mistrained.
The opposite of this is the windows effect (aka the php effect), where you get disrepected for using a particular technology regardless of how talented or productive you actually are with it.
Just wanted to add my related $0.02 rant: Everybody bashes PHP for its associative arrays, but when Python finally implemented the same data-structure (ordered dicts I think they are called) a long, long time after PHP first got them, then everybody started congratulated themselves and saying "what a nice idea the Python guys implemented!".
A hashmap with mixed keys is hardly the most practical choice for an all purpose primitive data structure.
Python already has proper arrays where you might have some chance of fast sequential access. The ordered dict or whatever is just another tool in the box.
Basically, PHP makes you do shit like this: http://www.php.net/manual/en/function.is-array.php#102652
This kind of thing is trickier in places like HN though, because a statement is only showing off to people who already have the knowledge. There are millions(?) of people reading here, so statistically most of them probably wont know some obscure piece of knowledge about the problems of the key hashing function under random access in numerical PHP arrays. It may be showing off to the couple of people actively engaged in the debate, but to everyone else its educational.
That's most of the reason I come here, to be honest. Crumbs of insight casually discarded during the debates of much cleverer people.
Also, I imaginge "lording it over others" may not be the response of a female with skills. Its a male thing. Isn't that her point?
Also, most of the people who are jerks about it, don't know just how much they don't know (because that one obscure Linux command is all they need to master to be CS gods, right) and they turn into that guy you fire because his code has no sense of industry best practices (seriously, why unit test like a mere mortal if you're a CS god who knows obscure Linux commands.... FIRED).
So take heart. You're probably a better programmer than you give yourself credit for (whether you're a guy or a girl), because everybody else is a worse programmer than they tell others they are.
Unless they tell others they are a poor programmer rather than a good one. Then they are probably better than they tell you they are.
Of course, it is generally good advice in most workplaces to speak up and ask questions to be sure what the colleagues are talking about. But, yes, male or female, many new employees lose out on learning opportunities by not asking questions when they know they don't understand, and perhaps even more from not asking questions when they suppose they do understand. What I've learned by becoming a lot older than the author of the interesting submitted blog post is that I still have plenty to learn, and sometimes I can make a good impression by being willing to ask a possibly dumb question[1] to be sure I know what my colleagues have in mind.
[1] The best teacher I ever had was a teacher who said, of course, "The only dumb question is the question you don't ask," and he really meant it. He tried his utmost to make sure any student who asked him a question got a thoughtful response that implicitly acknowledged that it's important for learners to check and recheck their understanding.
The result was surprising: I appeared smarter. When you say, "Excuse me, I don't understand this," and everyone else is thinking that, too, and especially if it turns out to be a bad presentation or a fundamentally incoherent concept . . . well, you look perceptive.
And if you make sure you understand things? You look pretty darn smart later on.
On the other hand, I have often noticed that once one person in a group starts asking questions, it opens the flood gates and everyone else starts to get involved. I have a theory that once one person asks a question, it signals everyone else in the group about the skill level of at least one other person in the group, and if they can understand the question and the answer, they now feel that they are at the same level as everyone else - they no longer feel like an imposter.
This is massively massively important point. It goes beyond looking perceptive, it actually makes you look supremely self confident and powerful within a group.
Whether the point is incoherent or not doesn't really matter, when you ask the question, suddenly you're the only one in the room thats not afraid of the conversation, and everyone instantly knows it.
I'm currently working at a pretty small company with women coworkers, and most of them are at least as smart as some of the men i've worked with and one is way smarter than most people i've met. Having said that, in my experience both in college and at work (been working about 6 years now), on average the girls were less capable and smart at CS and programming. From my experience it seemed A LOT like they just didn't commit at nearly the same level as the guys. For most men who are programmers it's almost a way of life - I have never met a woman for whom the same could be said. The one woman I know who is vastly better at her job than anyone I've met, even she is simply a extremely dedicated professional for whom it is just a job, not truly a passion.
I'm not saying this means guys get the right to be assholes, I'm just saying I don't think this is entirely because there are so few girls or because of stereotypes, i think there is more to it than that, there is a statistically discernible difference in skill - from my limited personal experience. Please proceed with the downvote into oblivion :).
There's no doubt that computers serve as a solitary outlet for many lonely, ostracized, and anxious people. The fact that computers become the only good thing in their life is not a positive and it's usually not a choice. It's something thrust on them by their psychological circumstance.
The real tragedy is that there is an entire cohort of people doing computer programming because they suffer from anxiety disorders and programming is capable of affording them a solitary way of making money as well as giving them something to escape into.
Anyway these people are not really helping themselves or the industry. They do sub-standard work, they suffer from depression and anxiety, they find collaboration difficult and uncomfortable and they accept being underpaid due to low self-esteem. The low self-esteem causes them to lash out against others when they have a chance, like insulting people who don't know something.
It would be better for everyone if these people got therapy and came to enjoy the other things that life can provide. Warm and fulfilling relationships being the big one.
Life is about a lot more than just working. If this applies to surgeons and Presidents and astronauts, it should apply to computer scientists as well. Never judge someone negatively for having a life.
I think that in general, women tend to thrive in different circumstances than men. A big part of the way that CS is presented to students is that it is a "lone wolf" endeavor, and students are expected to just figure stuff out. That appeals to the hardcore, anti-social nerds and feeds the male ego. It's not appealing to women or most men.
The IT team that I run now is probably 60% female. They rock, and only one of them has a degree in CS. It's a real shame that in a field where top companies claim to be short on talent, keyword filtering is virtually eliminating half of the potential workforce.
This has been hugely successful; on the order of half of undergrads take the first class, and gender balance is pretty good in them.
I'm not trying to belittle people who need help, but those who don't like to figure stuff out might be in the wrong field...
These students need some time to learn how to think. That doesn't mean they can't, just that they don't know how yet.
Figuring stuff out should be the number one priority of education. I think it should be a policy. Even if that wouldn't change much by itself, beauracracies being what they are, a few more people would take it to heart.
When thinking about the geek or IT fields, I expect that people should like figuring stuff out, the typical nerd/engineer mindset. That's not everybody in CS programs I know, but my inner geek wants it to be.
The OP's post is mostly about schools, social issues, etc...
Since I have seen a computer as a 12 year old guy, I did not give a shit about other people's opinion on my programming skills, I did not learn programming in school, etc... I just needed to program. My mind did not rest until I did not give it a programming poblem to solve. When I created a little game, I felt that I created a new world from scratch.
The real question is why this kind of enthusiasm and this kind of social-proof ignorance is more rare (although existing) amongst women.
It was a thought provoking blog. When I submitted to HN, I expected it would end up like most of my submissions and simply add a point of karma to someone who had already posted the same thing ages ago.
However, it appears that the blog author re-arranged how she recorded her blog entries, giving this one a different address.
Interesting that the conversation this time feels quite a bit different than the last time.
Women tend to be more attracted to stable jobs with a well defined path to success such as medicine or teaching.
I never talked to anyone in my CS classes. Never.
It's weird to me to hear about CS classes where questions were asked in class or where you interacted with your peers for anything.
Firstly - there aren't that many courses at college that start with students who are well versed in their chosen area of study. The school of medicine for example doesn't take in practicing doctors - architecture doesn't take practicing architects and so on.
But often a large portion of a computer science class are already proficient programmers, and a sizable number have probably already made money programming in one form or another. In other words they choose this major not because they want to learn, but because they're confident they can _already_ do the work.[ Aside: there is another group exactly like this - the sportsmen - which makes the jocks and the nerds pretty much the same thing - but that's a post for another day.]
So I hypothesize there's a direct correlation between the numbers of those doing programming at school (formally or informally), and those doing it at college level. During school years male and female behaviour is vastly different (programming is very often an outlet for "loners" with poor social skills - which let's be honest are mostly guys.)
Here's the thing though. I grew up in a non-US school where the labeling of people was not encouraged. Also it was easier to foster your own self-identity without belittling the identity of others. Sure we had beefy physical types, and scrawny nerdy types, but at the same time the school went out of its way to validate each person at whatever they did well. Excellence, of any sort, was recognized. We had sporty girls, and nerdy girls and super-bright girls, and (to be fair) some dumb girls - but "the computer club" wasn't some sort of social dead-end.
So to college - where the class was split about half-half of those that had programmed before and those that hadn't. And as I say, about 30% female. So the ones-that-could would spend a lot of time teaching and helping the ones that couldn't. If some of those I helped happened to be female, well that wasn't my fault was it? And if some of the ones doing the helping were bright diligent girls, who helped me apply my somewhat erratic studying habits to actually passing exams - well, it's a win-win.
Of course we had some jerks - and sad to say the raw "jerk quotient" seems to be climbing. But they're jerks to everyone really, and frankly you'll encounter lots of jerks, from both sexes, all the way through life.
My advice to ladies doing CS - find the nice, smart, guys in the class. They're there. Sure they may need some social help - but you can do that. And I bet if you make a little effort you'll find they're _really_ keen for your friendship.
To the guys (and I'm assuming that's most of you reading this post) apply just a small amount of that alleged brain-power you have to consider how you would feel in a class that's 90% female. Now take just a few moments to go be nice to someone. Invite them into your study group. Offer some assistance when they're struggling. Just be _friendly_. They may not yet know the difference between a++ and ++a, but they will. In the meantime you'd be amazed at what they can do for you.
It's a smart man who thinks just a few years ahead of everyone else.
Perhaps Computer Science should be treated differently because of this issue. If every student took a 1-credit skills evaluation and placement course, they could be assessed and properly placed so the students that already have some knowledge can move ahead and start learning right away, while the remaining students can take the introductory courses at an appropriate pace.
And enrollment would drop because half the class skips years 1 and 2. Not to mention costs would rise, because instead of paying for a 250 student lecture on "=" vs "==", you'd be paying for a 50 student lecture on compilers. Good for the students, but bad for the college. Probably will never happen, except at a few very good schools.
What was the placement exam like? I think to really be fair an exam like that shouldn't be so much a C++ exam, as it should be a programming exam. In other words, C++ syntax isn't as important as understanding what polymorphism is. It should be acceptable to answer programming questions on an exam like that in pseudo code.
To combat this we assigned ourselves numerous programming challenges - mostly code for code's sake, but effectively sponging techniques off each other. We effectively competed with each other to see who could do what better.
We also went overboard with the assignments a bit - we'd take the basic assignment and "add features" to out-do each other. Often we'd have to hand in a "normal" solution though for marking - the marker didn't appreciate a 20 page printout for a problem that should be half a page of code.
And of course there was also some time taken to help others - to effectively give them "extra assignments" to get their code up to scratch.
We had access to equipment which we certainly couldn't afford ourselves (although it's laughingly primitive by today's standards) so there was never any shortage of creative ideas.
To make things a little more interesting we also signed up for other classes in the science faculty outside of "only" computer science. I did classes in Oceanography and Astronomy, Physics, Applied Maths and so on. The courses were a lot of fun, but the exams were a pain.
Even with a decent school environment it's nice to have some female profs around as role models. I have male role models too, of course, but it's so awesome to get to see hard proof that hey, that awesome woman I want to grow up to be is not only attainable but standing RIGHT THERE in front of the classroom. Two in particular seem so fulfilled, well-rounded, and passionate about their fields that it makes me know that I made the right choice. I think if all my lecturers were male, or if the few female profs I had were the grudgingly-teach-from-the-textbook variety (of which I've had in both genders), I would feel a lot less secure. I could honestly see my alternate-universe self switching over to math or econ if the comp sci department at alternate-universe uni was as bad as the school you're talking about. Comp sci is great but it's not worth crushing your soul for, especially when there are so many other fields these days where good programming skills can give you an edge.
I think that this is actually one of the reasons that so few girls are in Computer Science. My girlfriend is a CS major and she very often feels inadequate compared to all of the other super exceptional girls in the program. It isn't because she's inadequate either. Her grades are fine. The issue comes when every one of the other girls is at the top of the class. She's not being judged against the whole class like the guys are, but she's being judged against just the super exceptional girls.
I can only imagine that lots of girls feel this way in their first intro class and give up.
Is it a female thing, to drop a course if it gets hard? That may be the largest factor in the statistics by far.
Guys brag about their projects a lot, and what they say sounds really good, so I often assume their projects are better than mine and that they're better programmers. (Even though I probably got a better grade, and when I actually get a chance to dip down and see their source code it's usually not so hot either, at least by the standards I measure myself by.) End result, even though I might be 'exceptional' grades-wise, I have this mentality that I'm just good at school, not good at programming (compared to peers). Extremely stupid, but if you really really don't want to believe in yourself you can always rationalize it somehow. Your GF is above-average just for being there, since most female students (or potential female students) get scared off, and she's still getting it done.
"Victory belongs to the most persevering." - Napoleon Bonaparte
But then again, this community recruits based on business skills and computer programming skills. I don't know that sexism and arrogance would come off well in an interview.