Teach, people, teach

Teach.
Lately, I have been really thinking about something that I have a really hard time imagining - but am working really hard to find ways to make it happen in my lifetime: writing code with people from a wide range of backgrounds and perspectives. Solving our community issues with code. Cause I seriously heart computers, and I heart programming, logic, design patterns & software architecture. I am a huge fan and it is taking a really long time to get anywhere with it, but I am sticking it out.
It makes me sad to think that right now, August 25th, 2010, my technical forecast does not show many opportunities for technical collaboration with other programmers from "non-traditional backgrounds"...unless we work together to create these opportunities (Which we are! Yay!)
For me, volunteering & teaching have started to change this outlook. I know it will be worth it - but also, this issue matters a lot to me. It is non-negotiable.
I've made a personal decision that I want to do software engineering with people who are nice & treat each other well. So I am sure I will get to do more programming, which I totally love, but the personal relationships and work environment are hundreds of times more important than the code. (And I do like code.)
This is what is important to me:

That the projects solve problems in communities, and allow many voices to participate.
That everyone gets to learn.
That everyone becomes friends & supports each other.

A rosy, idealistic outlook, sure. But I'm sticking to it. I believe in the power of love.
I'm really not into cut-throat code competition or world domination. If people want to compete - whatever... it's just not my thing.
I love teaching programming
I love teaching because I really like people, and I really like helping people. I like it when other people get to see that they now have some of the "hardcore" skills that makes them not need to depend so heavily on the technical knowledge of others. This doesn't eliminate dependency, it actually increases it in an awesome way, as collaborators in a network. It also means that new ideas and perspectives can come into the process of designing the code.
That is going to make better code, right? Harder to do, but more awesome, sustainable & empowering.
Ya heard me? Teach!
Some people probably won't be into what I'm hoping for. That's fine, there are plenty opportunities for us to part ways.
The rest of you: we need to teach something fierce. There are so many people who want to learn programming but are just plain stuck.
Meanwhile, there are a tons of engineers who have jobs that aren't actually very awesome (though they pay the bills & let them use the 'system building' part of their brain.) Opportunities to make the world a better place are rather limited. I haven't met any programmers who don't want to be 'helpful.'
Meanwhile, we have massive climate crisis, food problems, energy issues, pollution, economic disempowerment, an ocean full of trash... The generation below me (I am 35*) wants to put their heart into making a better world. Their (North American) computer science education, by the way, was almost non-existent, or it really, really sucked.
We open source folks know a ton of 'stuff' - while some of it is documented - our process for teaching/building/explaining needs some work. And we keep making more of it...(!) We know 'stuff' because we are really stubborn and kept trying and kept trying to figure it out.
I've spent all summer starting to teach open source development. In my own little way. I am quite certain if I could do it, so can you.
In coming weeks I will write more reflections on this -- but I can tell you right now, it is going to take hours and hours of individualized hand-holding to build up our peers & young people to become full collaborators & contributors in our code-based projects. I really think it is possible. We are lucky because we already have a great amount of technical knowledge to share.
I'll be teaching - you can talk to me about it.
Background: Why this matters today
For the fourth or fifth time this year, there's been another episode of spiteful & hurtful exchanges around gender & queerness in the Drupal-land. It makes me really sick every time.
So I just want to try to put 10 times more positive energy out there.
It reminds me of a really horrible exercise I did when I was a teenager & in a multicultural leadership training program. They had separated out the girls from the boys, and then incited the boys to tell the girls what they really think about us.
That experience, to me, was really horrible. The boys had used words I had never heard before (growing up in a family with all girls), they had really disgusting ideas that were really dehumanizing (I was like 16, and this was before the Internet). I cried so much that I sort of left my body and things went a bit black.
It was an awful incident in teaching these boys that if they were going to be community leaders, that seeing women as humans with real value was necessary - because these women had, up to that point been their brand new awesome friends. I wish it on no one, and I don't have the capacity to deal with these attitudes, or to manage this kind of education, in whatever form it takes.
I am really glad that there are men in the Drupal community who can speak up. There are only like 10 of you - out of thousands. You are heroes to me.
These discussions in Drupal feel awful, like that weird educational exercise. As an adult, I avoid crude, dehumanizing situations as well as I am able. I favor hanging out with positive, proactive people who act with love & open hearts.
*yes agaric ben, it's true :P