It isn't really true that programming is "de-skilled." Entry-level programming may require nothing more than cleverness and knowledge of a language, but most programming jobs have an element of engineering to them. Not only that, programmers in many jobs have surprising latitude to design user interfaces, information architectures, and other elements that really "should" be left to experts, but which are left to programmers by the same mechanism -- underestimation of the task and underestimation of the influence of individual performance -- that created opportunities for women to program in the first place. Especially at a small startup, "mere" programmers are left to decide for themselves things that aren't considered vital enough for the "leaders" to pay attention to. And you know some of those things will end up being more vital than anyone expected.

I think it would be more accurate to say that programming has been "de-institutionalized." By and large, programmers learn their craft outside of formal schools and training programs. In fact, it's very hard to get into programming through formal education (see my comment here: http://news.ycombinator.com/item?id=971157) without also following the now-traditional way of hobby programming as well. So the selection process for becoming a programmer is not one that confers prestige. Being a Stanford graduate confers prestige. Being a better and more desired programmer than a Stanford CS graduate confers no prestige whatsoever except in the eyes of other programmers.

People in fields where degrees are important, and where colleges are the gatekeepers, are seen as more well-rounded and more generally intelligent than people in fields where long private pursuit is more important than a degree. The fact that programming is within the grasp of any kid whose parents buy him a computer diminishes it in society's eyes.

I think it also diminishes the career in women's eyes. The university-controlled career path in, say, chemistry, provides a built-in work-life balance and a shared experience with people in other fields. In programming, the coding virtuosity acquired by hours and hours of practice is overvalued and is often confused, especially by other programmers, with a programmer's overall ability. Yet this time is not officially recognized by educators and professionals. It is not discussed or accommodated. Musicians and athletes are expected to spend long hours practicing, but CS programs have no concept of programming "practice" in the sense of hours spent repetitively honing a skill. Programmers must sacrifice other parts of their lives in order to acquire this practice, and most who enter the field are happy to do so. Women feel like they can't compete unless they make the same sacrifices, and naturally, they don't like a field with a built-in bias against people who aren't obsessive.

(In programming, that bias is obvious from the start. In academic research science, the bias emerges in graduate school and in the slog for tenure. Elizabeth Blackburn, who just won a Nobel Prize in medicine, said, "But many women, at the stage when they have done their training really want to think about family . . . and they just are very daunted by the career structure. Not by the science, in which they are doing really well." Blackburn's point is as valid in programming as it is in science: obsessiveness and exclusive dedication may be helpful and may be a common element in mythologies about great scientists, but it is far from a requirement for making outstanding contributions, and we lose a lot of talent by filtering out (intentionally or unintentionally) people who don't want to dedicate the whole of their being to their career.)

In the time since I made the post linked above, I've been thinking about how to ameliorate this bias towards obsessiveness and the resulting distortion and loss of talent. I'm encouraged by the hours of repetitive practice that are taken for granted in music and athletics. I think programming could be made much more friendly to women by simply recognizing the importance of "practicing" programming in the same way that musicians practice. It is understood that a significant amount of a musician's time and effort must be dedicated to practice, and that this practice time must be balanced against instruction and theoretical study. Music buildings are full of practice rooms. The hours that a budding programmer spends coding should be recognized and labeled as practice. The time dedicated to it should be acknowledged. Computer science professors -- who certainly know better -- should stop pretending that their classroom curriculum is sufficient to produce skilled graduates.

If the time spent practicing programming is acknowledged and accommodated the same way musical practice is, I think women (and, not insignificantly, men as well) will see software as profession where one can excel and also have a reasonable, balanced life.