After my talk:
Guy: so who coded your demos?
Me: I did
G: so you used a GUI?
M: no I coded it
G: you code?
M: yes
G: no, like actual code
— Sarah Drasner (@sarah_edo) April 8, 2017
I realized this morning that, out of a team of eight people, there are only two dudes: me, and the guy who does the documentation. The project manager is a woman (who also writes code), the three other coders are women, the two QA personnel are women, and our UX designer and quality control is a woman.
The only thing that separates any of us from another is experience. I'm the oldest programmer, with a crazy amount of experience, and I tend to surge straight ahead for the most obvious solution, the one I have stored away in my archive of experience. "Always with the elegant code," one said. "You use chain and lift way more than anyone else I've ever met. I'm not complaining, but sometimes I think you make us look bad."
I hope not, because every one of them is a great developer. And I admit, I am sometimes lazy. I have a checklist that I sometimes fail to go through to make sure that even if I have met the acceptance criteria, I haven't gone above and beyond and looked for non-obvious problems with the code. I'm not a "10x programmer;" I don't believe they exist, and the ones who are sometimes claimed to be such leave behind a mess it takes 9 other "1x" programmers to clean up. I don't want to be that guy. That's part of the reason I wrote git-lint, to make sure I literally could not check in anything that doesn't meet a certain minimum quality standard.
There isn't a developer on this team who isn't completely competent to do the job. Every single one of them produces fantastic software that meets or exceeds our quality expectations and does the task. Our work isn't the most glamorous— we're currently building an automated inventory management system. But it has to work, because people pay us lots of money for it.
Every workplace has had people who can't do the work. In my thirty years as a software developer, I've seen it all: the one with the bad drug habit that got worse, the not-so-subtle drunks, the just plain lazy flakes. The sad fact is even those people were highly skilled, but they had emotional problems that held them back. Not a single one of those people was distinguished by their sex, though. Ninety-nine percent of the people I've worked with have been able to do the job competently and diligently. Almost everyone who has a knack for programming can do the work if they feel safe and justly compensated. It really doesn't matter what color, sex, gender, or religion they are.
One day, some of my teammates will have had thirty years of great experiences, and be able to teach the next generation about elegance and diligence, the technical and the people skills. I know I could still use work on my "people skills!" (The ones with great people skills will probably be moved into management; I can't say that's good or bad, but I'll be sorry to see them go.) Someday they'll be able to just roll out the answer, because thirty years of experience will give them libraries of "known good" solutions and the habits of insight needed to apply them. Sexism, especially in software development, just confuses me. Brains are brains. The women are as good as the men. I would even describe several of either sex as damnably brilliant, and worth learning from. I'm just... what is it about some dudes that they can't accept that?