Tuesday, November 6, 2007

They're not "short adults"

Great post on introducing kids to programming that reminds us to not treat kids like "short adults" and gives a great set of suggestions of ways to introduce a kid, from html to scratch to RUR-PLE. I love that Ned starts by talking about finding out what the kid is interested in. Too many folks forget this part when trying to introduce a new person to programming - wiift (what's in it for them).

Saturday, November 3, 2007


So I'm working on this project for my HCI class.
Every time I turn around I'm more convinced that the best HCI choice we can make is to throw this free fone we got into the wall, repeatedly.

No - I won't mention the specific phone brand or model. I'll just say it makes me really glad to have an iPhone (as if I wasn't already...)

I do want to add that I'm *really* glad to have a brilliant husband for support when the API sucks mouldy rocks...

Sunday, October 21, 2007

taking the reins

While I was gone, I got assigned to a "team" to do projects for the class. I'm always a little nervous about "teams". I've had some good but also some rather unpleasant dealings in corporate culture over that word.

I'm also a little unsettled because I got assigned to a project app that I wasn't involved with discovery or research or storyboarding about it. And apparently no one else on my team was either. They're not worried though. Well, actually, I've only heard from one teammember. The other is not responding to email. (Apparently gone for the weekend.)

When I asked "If there were no users involved at any point in the process, how can it be "user-centered" design?" I mean, I thought that was the point of what we're supposed to be learning. So - his response: "we're all users ourselves."

We're NOT the users in this project. We're the designers - which automatically makes us too close to the product. The users will be the ones who use the app when we're not around. The ones who have to try to figure out how to get the right settings to get the right info without going crazy, who have to figure out an interface they didn't create. It *matters*. HCI isn't just about technical solutions or about following some w3c guidelines. HCI is about *humans* being able to use the technology without getting headaches over it, it's about apps not being designed by geeks for geeks, it's about thinking about the person who will use this app and about what matters to them.

So - being me, I decided to create a googledoc and invited them to it so we can all write down questions (and answers) about what we'll be prototyping. Even if we haven't been able to do the contextual inquiry, we can have a specific "user" to prototype around.

Anyways - we'll see how they respond. I am just not going to walk in on Tuesday and sit down to make something up. If the class was just about generic "innovation" and "making stuff up" - I can do that. But that's *not* what we're supposed to be doing in this class.

So - we'll see how this "team" works out.

Saturday, October 20, 2007

Too tired to post

Just got back from lunch with some of the women from the conference. The last morning was really good and lunch was great. I'm definitely going next year to GHC in Colorado.

So - I'm gonna gnap now and I'll update more later. And do homework. (Gotta do my takehome test that's due Monday.)

You may comment on this blog by visiting *Grace Hopper forum*.

Why doesn't everyone do this?

I have a great laptop. It's dualboot, XP and linux (ubuntu).

I just found out something *awesome* that ubuntu does.

You know how sometimes you go to enter your password, and you happen to have your Caps Lock Key on? Ubuntu has a comment show up right below the password textfield that says, "You have the Caps Lock key on."

Until the capslock gets ripped out and removed from every computer, this should be the *standard* procedure for *any* log-in. Yay for ubuntu!

Friday, October 19, 2007

Just to show GHC rocks!

(and to point out that I'm not going to post *only* about angst), Kori from SIG-CHI (who I met at the HCI panel today) sent me a link to papers by students that had been accepted at the CHI conference. I was inspired enough that I just sent a study proposal to my advisor. GHC rocks!

And now I am going to bed. For real this time. And staying there. ;-)

You may comment on this blog by visiting *Grace Hopper forum*.

Rollercoaster day

I had some trouble focusing this afternoon - just feeling down. Worried about school, about networking, about whether I'm "doing it right", worried that my, ahem, forthright manner will alienate the very people who might be deciding internships, jobs, information interviews, providing contacts. It's hard sometimes, feeling like I've got the worst of both worlds - I'm not social like most women, but I'm not as technically focused as most men. I worry that I'll graduate with no prospects, or that I'll "settle" for another dead-end job, or worse, that my past spotty career (mother, housewife, office work, temp work) will be held against me in jobseeking and I'll end up with no job. I worry that I won't realize early enough when I need to apply for internships or that there are other expectations that I'm supposed to figure out for myself.

I know - you're not supposed to talk about this sort of anxiety out loud. I figure, someone out there might be going through this sort of thing too, and knowing they're not alone might help.

In spite of the worries, I managed to meet some really kewl women today. I got to have a really nice chat on the bus with a grad student from my program at school. It was nice to make that connection. We'd not had much chance to get to know each other before. She gave me some helpful advice about getting to know the grad students in the program and not relying solely on my advisor.

The morning presentations on HCI were interesting. There was an interesting diversity of approaches to HCI. My favorites were a woman who is designing a lighting configuration voice response system who talked about using Wizard of Oz discovery for how users actually talked about their lighting needs; a woman who was switching over capture and assessment processes for therapists from handwritten notes and forms to a digital paper and pen for taking notes, and a system that provided the notes and data points, along with video connected with the data points; and another woman who chose to, rather than using online software collaboration tools, had her users use an analog process for discovery, to see how they interacted, and discovered that much of the temporal "flow" of the visual information decision systems probably has more to do with the software constraints than with how they would naturally approach the project. Oh - and one woman had the *kewlest* slide - this 3d data visualizer that turned so you could see it from multiple sides.

Lunch with Systers was great. I met a really kewl woman who lives near me and I think we'll keep in touch. It was also great to discuss rss feeds vs email listservs with women of varying backgrounds.

Oh yeah - and today there was a great presentation on HCI as a gateway to computing for women. I loved it. I think the fundamental user-centered, pragmatic approach of HCI allows people to look at what's really going on, rather than just the theories, and accept that the current paths into tech aren't working for far too many women. HCI isn't a stopping point for many women - a lot go on to CS or other tech pursuits, or come away with increasing awareness of how computers can be useful in whatever they want to do. In any case, it's an entry point that a lot of women *and* other diverse people appreciate. It was great to hear the responses to a question about "isn't HCI just a way of getting away with doing 'easy' stuff"? Humans are the ones with real problems that need solving. Doing the tech is the *easy* part - figuring out these "pesky" humans is the real hard part.

After that, the afternoon was kindof a bust for me - and I went back to my room eventually to nap before dinner. Dinner turned out to be at Universal, outside. Eep. There I was in a silk skirt (boiling) carrying my jacket, expecting more airconditioning. Turned out I wasn't the only one confused about that. (I was glad to hear that.) Toward the end of the evening, I ended up at the piano bar, which was really fun!

It's far too late, but I've needed time to wind down. (I got to do video iChat with my husband when I got to my hotel room - which was great. It's nice having a supportive husband - he loves having a smart geek wife.)

I am looking forward to tomorrow. There's some workshops coming up that look quite intriguing, and I am expecting to learn a lot. Good night all!

You may comment on this blog by visiting *Grace Hopper forum*.

Trying to keep positive

I checked my course website for a class, and found out I'd gotten 42/50 on the 3rd assignment. The mean was 45. I felt really bad about that. Like I'm not really very good at this, what am I doing here, stuff like that. It probably doesn't help that I'm tired. The mean was 45.9 on the assignment. The standard deviation was 4.42, so I'm at least within one SD.

I've been talking to myself - reminding myself that I got perfect scores on the first two assignments, and that the 2nd assignment was worth more points. So no, I don't suck.

I did a shoddy job. I was pissed off that the assignment wasn't clear enough (I didn't realize that in time) and I'd done a lot of research on something that I couldn't use, and didn't find out until the day before. So I had to do something "in a hurry". And I didn't really care about the topic. I know - bad attitude. And that was reflected in my work and in the grade. I am hopeful about the 4th assignment though - I think I did a good job on it. We'll see.

The next (5th) assignment should be interesting... I've been assigned to a group - with people I don't know, working on something together that I haven't even found out what. Uffda. I'm a little nervous about it, particularly since I'll be gone until late Sunday. It's a group project and I'm not there. I just hope I can catch up okay (I hate playing "catchup") when I get back.

So I ran the numbers:
I'm right *at* the mean overall for the assignments and just below the median:
Me: .946, Mean: .945 Median: .96

Okay - so, that's not so bad, I guess...

Thursday, October 18, 2007

First day at GHC

Some really good talks. (There weren't any that were bad.) Some highlights:

The Keynote Speaker, Donna Dubinsky, talked about Numenta: a startup with Jeff Hawkins who wrote On Intelligence, which is using biological brain-based concepts (spatio-temporal persistence, heirarchical structures, nodes) to create a new platform. They're looking for interns. Later, their principal architect gave a great tech talk on the platform. It was wonderful to hear that this is possible! That there are people doing this sort of work, commercially. I had had the impression that such things were only available in academia, pure resarch programs.

Later, a panel on interdisciplinary research (ID) was great. I was worried at the start, because I thought it was going to be all academic. There was one woman there from Intel, named Susan, whose ID is anthropology and user experience research - ethnographic discovery - to determine real users needs and convey that to the developers. That sounds awesome!

There was a great talk about re-inventing CS1. Three speakers talked about how they're turning CS1 into a kewl class (or rather, set of class options) that are based around 3D animations, or personal robots, etc. Kewl, fun stuff. And most of it is in Python! Woot!

The talk on "landing your dream job" - I asked a question about women in transition - changing careers. The average person changes careers 3 to 5 times! according to some studies. I wanted to know how do companies (recruiters and hiring committees, interviewers) view career changes. The best piece of advise was that: most recent grads have no life experience and that I can bring my life experience and perspective to the table - present those as strengths.

It was nice to see several women at the conference who are mothers (even grandmothers) and are managing to find ways to maintain.

I actually was a bit worried about what to wear. The diversity of clothing was amazing. Women in jeans and tshirts, suits, slacks, dresses, headscarfs, capris, ... I was pleased to see it. Tomorrow, jeans and tshirt for me. (Today was capris and a sports tanktop.)

After the last talk, I skipped the BOF sessions and went back to my hotel room (I'm staying across the street from the conference hotel) and dropped off all my stuff, and took time to change. I'm *so* glad I did. Not everyone, but *most* people had dressed up for the banquet.

I got to dance with Frances Allen! (The first woman to win the Turing Prize.) She was a lovely older woman, who climbs mountains (she was telling about a recent "hike" at 14000 feet!) and dances rather energetically. She led us in a snake dance - holding hands and winding in and out... That was fun.

I had a good day, but it's way late. I'm going to try to sleep. Tomorrow is another day, as the saying goes...

You may comment on this blog
by visiting *GHC bulletin board*.

cool, hot, cold, loud, dry, too much, too little

Sensory update

Cool: lots of really interesting talks. And dinner was nice.
hot: 90 degrees outside, room full of women dancing
cold: airconditioning in the hotels so i had to carry (and often wear) my jacket a lot
loud: the music was so loud I couldn't stay for long, and eventually left the room with some other women to chat
dry: I didn't drink nearly enough water today.

Too much: sensory overload, people, people I don't know, noise
Too little: bandwidth, clocks, handy maps, bathrooms, sleep, downtime, quiet

You may comment on this blog
by visiting *GHC bulletin board*.

Learning by computer

Okay - this is clear as mud, but I was typing while listening and then the wifi went down (again)

Internal representations:
better to let object with both A and B characteristics be represented by both A and B active rather than learning something as AB. Better for generalization.

What goals:
current focusing on image recognition
want to recognize variations of a picture of an object

starting with an end result, suppose I don't know the structure of the data
can try to build a heirarcy
N^2 algorithm

You may comment on this blog
by visiting *GHC bulletin board*.


I'm seeing Python in so many places today.

The Numenta guy's application is built in python. (It says so on the side.)

and a lot of the "fix CS1" programs are starting to use Python to introduce CS to people from diverse backgrounds, providing fun, accessible learning of concepts. Using Python to make "gateway" classes instead of "gatekeeper" courses is useful to increase the diversity of students taking and staying in these intro classes. "but wait" says the CS hardcore geek - "What about the lower levels and pointers and recursion and all the hard stuff people need to learn". PYthon isn't "dumbing it down" and these classes that are being produced are providing learning without having to do it dryly. For example, people in class decide they need to have a function call itself and ask how to do that - this way they learn recursion because they have a use-case.

You may comment on this blog
by visiting *GHC bulletin board*.

Brain and Computer

Great talk. I wanna work at Numenta. Applying model of brain to building computers. Propagating information up in heirarchy. Can use Bayesian techniques to disambiguate.

I am so torn (still) between work like this, applying neuroscience directly to computer architecture vs HCI which applies a variety of human sciences to computer interface.

You may comment on this blog
by visiting *GHC bulletin board*.

GHC update

So the network was down earlier. I'll update about morning sessions later, but right now I'm in a great panel on Interdisciplinary (ID) Research. It's nice to see that there's industry jobs rather than just academia. Common that ID people feel like they're not able to keep up as much in each. Also was nice to see a person who got into CS/IT sideways like me.

You may comment on this blog
by visiting *GHC bulletin board*.

Conference morning

I got my storyboarding assignment in last night. I actually was pleasantly surprised at how it turned out. I think I came up with some creative ideas. The upload wasn't working, so I finally gave up and just emailed a zip file to the TAs.

On the shuttle to the hotel last night, I met 2 women also going to GHC. One had been before and she was really excited to be coming back. That was nice to hear about.

Of course, I cannot remember my assigned blogging sessions - I have a meeting at 8am, and I hope that'll give me the information.

I've been a little apprehensive about this conference. Looking forward to it, but also nervous. I don't think I've ever been in a group of women this large. I'm accustomed to computer conferences - being just one of the guys. I actually had a couple moments of "fashion panic" - worrying about what I'll wear! Ugh. Anyways - I've gotta shower and grab some breakfast now, and then head across the street to the conference.

Tuesday, October 16, 2007

My typical response

So, I had to code a program using bigrams to generate sentences based on two very different corpora (wsj and shakespeare). I coded it up yesterday afternoon and evening. It took about 2 hours (aside from discussing data structures with Alex - I got to use the collections.defaultdict for the first time.) I sent it, and then suddenly panicked. What if I misunderstood the assignment? I do that sort of thing pretty often (particularly in this class, for some reason). What worried me was, it was so easy to code. I must be doing something wrong. I had actually done it okay. I just had trouble *believing* that I'd done it right.

I run into this regularly - if it's hard, I worry I won't be able to do it at all, or that I'll need too much help from Alex; if it's easy, I worry I did it wrong. It couldn't possibly be that I'm finally getting enough practice and experience coding to be able to do easy things reasonably easily... could it? Nah. That would require me to admit that maybe I do know some programming after all. And, as I've repeatedly stated, "I'm not a programmer; I just use python to get things done."

I'm beginning to think I may have to change that motto. I am not a professional programmer. But, I do program. So, does that make me "a programmer"? I'll have to let that one percolate for a while...

Creative living

There's a class being offered on campus thru the transfers program I guess. It's called "The Art of Living Creatively" or something like that. It's about paying attention to your own creativity and learning to foster your creativity.

This is, I think, great timing. I recently declared my major concentration: HCI, and one of my biggest fears is whether I'll be up to the challenge. I'm dealing with "imposter syndrome" - I am starting to maybe believe I can program a little bit. At least sufficiently to do the homework we've had so far. But, beyond that, I'm worried that I'm just not creative enough for a job in HCI. After all, one can learn all the rules, but still not be an artist. I believe I have enough background and am able to learn how to recognize "when it's bad", but that doesn't mean I'll be able to do it right myself. I'm afraid that it may be as much visual art as it is science, and I'm not sure I'm able to do that.

So yes, learning that I *do* have creativity, and knowing I can tap into it, will be quite useful as I proceed upon this path.

Saturday, October 13, 2007

Grace Hopper Celebration

Wednesday, I will be flying to Orlando Fl, for the Grace Hopper Celebration of Women in Computing. I've never attended, but I'm really looking forward to it. I've volunteered to be a blogger for the conference, so you'll be reading a lot about the sessions.

Friday, October 12, 2007

Slowly but surely...

First it was my computational linguistics class.
Now, my HCI prof was recommending Python as a great prototyping language.
Of course, I just *happened* to be wearing a Python t-shirt at the time...

Even if it's not being taught as a course, Python's recognized by many as a useful, general-purpose, easy-to-learn and use language.

Wednesday, October 10, 2007



So apparently, Descartes and Spinoza had a disagreement about whether, faced with a new proposition we:

D: Comprehend
Accept or Reject

S: Comprehend and Accept
Consider and possibly reject

This reminds me, actually, of a recent CDC study I heard about, from the same source, about how people misremember so-called "myths" that are being refuted, as being true AND that the source of the "truth" was the mythbuster.
In other words, Spinoza could have predicted the CDC's quandary.

Popperian assumptions

I hadn't realized how much my views of science are based on Popper. I had no idea that that's where they came from.

"willing to overthrow pet theories based on data"

Those apparently all come from Popper!

Sunday, September 30, 2007

Python Rocks

I did my program for my compling class. Hope it works for my "partner". His job is to run it and find the "glaring errors" in my regular expressions and such. Then he'll send those back to me and I fix them. I do the same for him.

I don't know what OS he uses, so I just sent him the raw sourcefiles and told him to run them by typing python analiza.py It's probably the easiest way. I did have the fun of actually setting it up as modules - there's the main program which calls out to the handler module, which uses a data module full of lists and dicts and sets oh my!

I got to really put sets and the re module to the test. I've not used re much - actually, I've avoided it like the plague. So - yes, it works. But I don't like it much. I remember the comment by Jamie Zawicki (often attributed to the effbot who used it as a sig):
Some people, when confronted with a problem, think “I know,
I'll use regular expressions.” Now they have two problems.

I'm just really really glad I got to use Python for this class.

The workshop went well. I should have asked people how far along they were - turns out some of them had taken the advice, and pointers to tutorials, and really run with it. But, I think some others were pretty novice, and got something out of the early part of the session. We divided it up: I covered syntax, loops, if/elif/else, strings, and did some hands-on work, then turned it over to Alex who covered regular expressions with re, and lists and dicts.

It'll be interesting to see how the class is on Tuesday. Unfortunately, I'm really behind on my reading for my philosophy of science class so I get to do that tomorrow morning. Then, back to programming, and then, my assignment for my HCI class and then more reading.

Wow. I feel good - but swamped.

Friday, September 28, 2007

Feeling better now

Went through some slides with Alex and focused on the things I want them to learn. I feel better about it now - I've got a good idea of how we'll go about things and what we'll be teaching. Should be interesting though. These are classmates, and I feel like this session will make a difference.

What was I thinking?

OMG - so I'm running a workshop on Python tomorrow, for classmates. With, like, no preparation. Booger.

Okay - deep breath. Alex has a bunch of slides on python 101, that I can steal from. I just have to figure out, like, what I'm going to cover and how I'm going to do that. Eep.

I'm thinking:
primitives: strings, numbers, lists
if/elif/else statements
for/while loops
user input
and just running a simple script.
And they'll have to be introduced to python's re module, because we have to do regular expression matching for the project.

So, yeah, it's not complicated but - uffda. I'm feeing really nervous now. I'll be okay, I just need to express that "OMGWTFBBQ" feeling.

Well that was interesting

My French class dropped me. The department doesn't want students having conflicts. So, that reduces my load.

My Computational Linguistics class instructor yesterday recommended Python for coding the class projects! (Several folks asked, and said they didn't know programming.) I volunteered to run a workshop on Satyrday (Alex offered to help) on Python for those folks. So we'll see if there's any interest - if so, I may be teaching Python! (Just the basics. We don't need any fancy programming for the class projects.)

Tuesday, September 25, 2007

So much for easy

So my plan was to take a light load this quarter: French, Phil and HCI. Then I found out about a nifty neuroscience course. Okay - maybe I can fit that in, it's only 2 credits and only one day a week. Then last night, I get an email saying that the computational linguistics course I was planning on taking next year won't be taught next year because he's going on leave. Sigh. So - drop the neuroscience course, and add the CompLing course, because I need that for my major and was looking forward to it. So now I have 18 units and 2 of the courses will be definitely putting me through my programming paces.

One of the things they'll be "teaching" in the HCI course is the "prototyping culture". I've already got that from Python. It's easy to prototype things when you know it's easy to refactor. It was interesting to see how many women were in the HCI class - one of the women asked if it was an okay class since she's not a "hardcore coder". The instructor was reassuring - we'll be working in teams, and as long as someone on the team can handle the programming, we'll be fine. I'm looking forward to this course.

I'm not looking forward to having more work than I'd expected. Ah well.

Sunday, September 23, 2007

Plus est en vous

Today was the Junior Convocation at Stanford. We were addressed by Scott Forstall, the VP at Apple who created the iPhone. He also happens to be a Stanford alumnus, in Symbolic Systems (my major). He was alternately funny and inspiring.

One of his themes was "plus est en vous": there is more in you (than you know). He spoke about how people often will have either fixed minds or growth minds - how fixed minded people will prefer to do things that show they're smart, but growth minded people will accept looking stupid as long as they get to learn something.

I felt, many times, like he was speaking directly to my own fears and insecurities - that I won't be good enough to do what I'd like to do with HCI. And I realized that, yeah, I may not end up being the best and the brightest in the field - but I could be good at it, and I could offer perspective that isn't there for those kids who go into it directly from highschool to college to working in the field. So yeah - it's okay to not be perfect, to take classes or positions that stretch me. Here's this VP who's done awesome things saying that he *hired* for that. That he *looked* for people who wanted to stretch, to take risks, to be willing to not "look smart" in order to *learn*.

He finished by challenging us to look for the "more" in ourselves, to be willing to take opportunities to explore things we had no idea we could do. It is nice to know that there are, at least a few, people out there hiring who candidates for more than just the safe bets. I, for one, find that reassuring.

EDIT: And as I turn to my Gmail, the quote of the day at the top of my inbox:
Babe Ruth - "Don't let the fear of striking out hold you back."

Thursday, September 20, 2007

She's Geeky

I want to encourage every woman in the bay area to attend:

She's Geeky (http://www.shesgeeky.org)
A Women's Tech (un)conference
October 22-23 in Mountain View, CA.

This event is designed to bring together women from a range of technology-focused disciplines who self identify as geeky. Our goal is to support skill exchange and learning between women working in diverse fields and to create a space for networking and to talk about issues faced by women in technology.

Wednesday, September 19, 2007

I heart Python

For the past year, I've been taking classes that required me to code in Java and C++, and in GUI IDEs, no less. So it's been a while since I've done any Python coding for myself. I finally was able recently to do a bit of Python and re-encounter the joy of using Python. I wrote in vim, and ran my scripts from the command line.

It delighted me how quickly I was done writing the simple scripts I needed - and it reminded me of how much I appreciate that quality. It's so much easier for me to get into the habit of thinking, "I could just program something to do this" when writing the code is so easy. And I was amazed at how fast it was to code the simple scripts I needed. With Python, I'm less likely to talk myself out of it ("oh, it'll take too long" or "it'll be too hard" followed by "find some bloatware that already does it for me...")

I look at my code, and it looks so spare, so bare, almost naked. No curly braces, no semi-colons, few parentheses. The for loop is so clean and simple. No wasted pixels or keystrokes. Only the bare minimum needed to get the job done. I kept thinking "there must be something missing" - but there wasn't.

My scripts do just what I need - and no more. Clean, simple, perfect. Thank you Guido. Python rocks!

Sunday, September 16, 2007

Between apps

I've been using the Shelfari app with Facebook. It's kinda fun. I heard there's a new Google Books "My Library" app. Great! I looked at it. The only way to import books is by ISBN. Eep. Okay, so I go to Shelfari, find out how to download my library. Write a little python script to extract the ISBNs, find out that some books don't have ISBNs - only ASINs (Amazon Standard ID Number), for no apparent reason. Fine, I'll only upload those majority that do have ISBNs. Copied the list of numbers and pasted it into Google's import ISBN textfield (Yes - you have to enter it into a textfield!) and hit Submit. Oh joy - it's imported about half of them, with no explanation as to why it didn't import the rest.

1) no way to import directly from another app (like Shelfari or Goodreads or ...)
2) no way to browse my computer for a file of ISBNs
3) no information on what problem might have caused the others to not import

There's no good reason in this day and age why any app like this shouldn't allow *some* easy and obvious way to import data that I've already gone through the trouble of inputting elsewhere.

Friday, September 14, 2007

Co-ed patents

Interesting article at Forbes:

Turns out that "inventions developed by mixed-gender teams received 42 percent more citations than single-gender patents."

Values and career

I was taking an assessment of "values" related to careers at the Career Development Center (CDC) on campus. The assessment consists of a bunch of cards with one word or phrase on each card (like "family", "money", "personal growth") and you put the cards into piles of "Very Important" "Important" "Sometimes important" "Not important". After that, you take the Very Important pile and pick out your top ten and put them in rank order.

I commented to my husband that my top ten did not include "money". He was surprised. Mine, instead, included things like "passion", "integrity", "challenge", "competence". Money, to me, is a given in a job. Of course, I expect to be paid. I'm not Richard Stallman, nor am I independently wealthy, so yeah, I work to be paid. It's a survival thing.

My husband responded, "but money isn't just for survival; you like iPhones and jewelry and travel and the things money can buy. Money as a value is about being able to have it to spend." I had to think about that - and on my walk home, I realized there are two aspects to money for me: survival and fun. I will compromise on certain values (like passion and personal growth) for survival. If it's a choice between letting my babies starve and putting up with an awful work environment, of course I will work - just as most parents would. But once I've gotten past the level of survival, then money for fun just isn't as important to me as work environment. I don't want to work at a place I hate just to make enough to buy stuff or do stuff.

I just find it interesting to consider how different my husband's answers might be from mine. OTOH - he's always had sufficient money for survival, so he's never had to make that choice. I think that makes a difference. I've had to make the choice - and live the choice. I spent too many years putting in my time, just getting through the day, putting up with less than ideal jobs or workplaces because I had to make a living. At this point, I suspect that any job I take upon graduation is likely to fulfill the "make a survivable wage" and so it falls into the "fun" category, for me. If I had to choose between enjoying my job and making enough money to spend on toys and travel, I'd cut out the toys and travel. I expect to spend 40+ hours a week at a job - that's a *huge* chunk of my life. Doing that anywhere that I hate (and if the place violates my top ten values, I would hate it) just isn't worth it to me for anything other than survival. And that's the point of an assessment tool like that - it helps define what's important to me, and what I need to consider in jobseeking, and careerseeking. I also have to accept that my values are going to be different from his and take that into consideration. But that's a whole 'nother topic.

So what are my values? "passion", "integrity", "personal growth", "challenge", "honesty", "open communication", "competence", "trust", "learning" and "knowledge" were the top ten.

passion: I want a career/company that values passion, that wants people who are passionate about what they do, that isn't going to stomp on people for being "too intense".
integrity: I've been at places where CYA was the norm and people got set up as scapegoats. It's hard to say "I screwed up" when it's going to be used against you. I want a place where I can acknowledge mistakes, where people accept responsibility for their actions, and where everyone is more focused on finding solutions and working to achieve a goal than on blaming others. Intellectual integrity is another aspect of this: being able to say "I don't know" and "I was wrong" and with people who will do that is important to me.
honesty and open communication go hand in hand for me. A place where answering a question by, say upper management, isn't going to get me in trouble for A) answering honestly and B) "violating chain of command". (Again, BTDT.) I don't do well with office politics - I need a place where I can be honest (not tactless, but honest) and open with people. I also tend to find my way around silos, and make connections with people in a wide variety of positions and departments wherever I've worked. That's important to me. Work places that encourage and support that are great. Places that discourage it are unpleasant at best.
All of these lead to a huge value for me, which is trust: I need to be able to trust the people above me and around me. And I need to be treated with trust. If I feel that I can't trust my boss and coworkers, it affects my health, my stress levels, my performance.
personal growth is important to me in a job, and is tied in to learning. I start to feel like I'm in a rut, getting stale, if I'm not getting to stretch myself and learn new things.

A conflicting set of goals for me is competence (which ties in with knowledge) and challenge: I need people around me (bosses and coworkers and any reports) who are competent at their job. I find it hard to respect people who are incompetent at their own jobs, and I find it hard to mask that. I don't expect them to be competent at the same things I am, just at the things *they're* supposed to be doing. I do, however, like being surrounded by people who are knowledgable, and having knowledge myself. To me, those are two sides of a coin: knowledge is knowing stuff, competence is being able to apply knowledge effectively. I value being challenged: I love problem-solving, and tend to be a bit of a bulldog about problems. I like having to stretch and put in effort to figure out things.
The conflict I'm having about competence is that I value my own competence highly (and need to be treated as competent). This leads me to question whether or not I should be pursuing jobs that are a stretch, because I worry I might not be sufficiently competent. This provides for a conflict between challenge and competence for me. Of course, that conflict is part of what fuels personal growth, so a company that supports personal growth is necessary for me to be able to properly balance competence and challenge.

My biggest challenge in picking my concentration in my major is, I think, that conflict in values. I think I would be quite competent as a researcher in CogSci or Neuroscience, but more challenged working in HCI out in the field. I'm equally passionate about all three, in different ways. I think my trouble picking has been the conflict between challenge and competence presented by the choice. Am I going to actually be good enough at it to pursue it? Or is it going to be wasted effort and embarrassment? If I pick something where I don't doubt my competence, am I going to get bored after a time? Will I feel sufficiently challenged or have enough opporunities to apply my knowledge? These are the kind of questions I'm wrestling with.

Next week, I'm going to take another assessment, this one on skills. It'll be interesting to see what comes up with that.

Thursday, September 13, 2007

Age and IT

Sometimes I feel old. I have trouble keeping up with all the latest tech. I wonder what I'm missing that would really make my life better. I've tried to keep up - really! I was into web forums far earlier than my usenet-oriented sweetie. I used linux back when it was RedHat 1.5. I started using IM (mostly on gaim, then later added jabber clients, iChat, YahooMessenger, and googletalk to my repertoire) almost as soon as it came out and even introduced my current husband to IM. I started on LiveJournal in 2003. I've joined multiply, orkut, myspace, LinkedIn, Facebook, etc. I've used feedreaders for a couple years, and subscribe to multiple podcasts. I've got a Second Life avatar, and I recently started using Twitter.

Some of these things, I've figured out quickly what they're good for. For example, IM rocks. I hate telephones - they're too intrusive - but IM can leave a message that I can see and attend to when it won't interrupt my thoughts (with the right settings anyways). LiveJournal is a great place, for me, to do my journaling online where my family and friends can keep up with my private life. I love podcasts - it's so nice to hear news and broadcasts while getting other stuff done.

But, too many of the "trends" are unclear to me (and to many of the geeks I know) as what they're good for. And I know they're good for something because they're so popular - they are trying to fill a need - I just don't always grok what need they're trying to fill.

Take Facebook, for example. It took me almost an entire year to figure out what it was good for, for me. Mind you, much of this is a generational thing, I believe. I'm not a teen or twentysomething who needs an instant update on where all my friends are at all times. If that's what need it fulfills, then it's not all that useful to me. But I have found uses, things like setting up study partners, and get to know people I've met at campus far better than I otherwise would have. I know, however, that if I hadn't gone back to school at 40-something for my undergrad degree, I would still be wondering what Facebook was for. And I can easily imagine someone using it to keep in contact with their social network, if that was something they'd started using together in school.

Tonight, I figured out what Twitter is good for, for me. I had attended an open house at a company and was feeling out of place - I didn't know anyone, and everyone had either come with someone or had cliqued up before I got there. Finally, I ran into an acquaintance from the Python community. About that time, it was time to go sit down for the presentations. I told him I'd save him a seat. A while later, I got an email from him telling me where he was sitting and asking where I was. He didn't have my cellphone number to SMS me - but if he'd had Twitter, I could have twittered(?) him my location, and he could have joined me. Hey - if we'd been following each other's Twitter feeds(?), we could have met up earlier at the open house. We'd have known we were both there. This could be very useful for conferences! My friend had heard of Twitter but never used it and wasn't sure what it was for. So, I have, once again, realized that, while my uses for a particular technology may differ from those of a younger generation, I often can find uses. And I once again got to introduce someone else to a new technology. Kewl! Maybe I'm not so old or out of touch after all.

Widening the gates

As a geek and a female, I had to have the lack of women in IT brought to my attention by others, specifically, by male geeks. I have spent so much of my life pursuing interests where I was the only female that I stopped noticing a long time ago. I was the only girl in my electronics and small engines class. I was the only girl in the miniatures gaming group (Napoleonics). I was the only girl in most of my RPG groups (Traveller, Car Wars, ITL, etc) at the local gaming shop. I was the only girl in the computer lab at school. I was the only girl I knew who, not only owned a Commodore 64, but had done some programming on it (a program in BASIC for calculating sidereal time.)

I've spent my life being the go-to person in the office for computer-related questions (from "why doesn't my password work": check your capslock, to "someone needs to move and administer our NT network": I guess I'm someone, to "we need a website for the office fitness group":I can do that). Yet, I never thought of myself as being "in IT" until I got involved in the Python community. I jumped in with both feet, starting to present to conferences, and advocating for everyone I knew to learn Python, the typical response of a new convert. I was thrilled to have found a language that seemed simple enough to use without having to know a lot first, but that was also really powerful, that kept growing with me as my tasks and requirements and skills grew more complex. Yet, it wasn't until I'd been to several conferences, and been asked by guys why there weren't more women at the conferences, that I even noticed that the lines *were* pretty short to the bathrooms at tech conferences.

So I started researching the question. Because, I couldn't imagine why there weren't lots of other women here - after all, I'm here. At first, I blamed the women. They're too self-involved, too shallow, too interested in shopping etc. But, I knew that wasn't really the case - I've met a lot of incredibly hard-working, intelligent, deep women in SF and other areas of life. They're just not interested in computers, just like they're not interested in cars. Well, most women I know drive. Most of them use telephones, fax machines, copy machines, and major appliances every day. Most women I know use computers every day nowadays, so it's not unfamiliarity. With a lot of new web apps, women are increasingly using social software, creating websites, etc etc. I realized I had prejudices about "normal women" (meaning non-geeks) and that I had to confront those prejudices. And one of the things I came to realize in investigating this lack of other women was how similar I am to other women in IT.

It's not been easy to admit to myself that I suffer, like many women in and out of IT, from low self-efficacy (perceived self-efficacy is defined as people's beliefs about their capabilities to produce designated levels of performance), from imposter syndrome (inability to internalize successes, fear of being caught out as a fraud). I tend to view computers more as means than ends. I entered the IT field via a non-traditional pathway (I didn't go into CS in college, I kinda came into IT sideways). I value the community aspects of programming as much as the language itself (a less welcoming community might easily have turned me off to programming), and I considered programming to be incredibly difficult (most non-CS-major women undergrads rated CS as more difficult than becoming a surgeon! I wasn't quite that bad, but I did consider it more difficult than, say, a psych or biology major.) I tend to define IT as "stuff I don't do" (even though I'd created databases, administered an NT network, created a website, etc, I hadn't considered myself to be "in IT".)

Realizing these things about myself has been difficult, but enlightening. I am more willing to accept the barriers that other women face in getting into IT, now that I've acknowledged those barriers and obstacles in myself. I am more motivated to find ways to overcome those barriers, through scaffolding (starting with a simple language like Python to learn basic concepts before diving into the complex language issues of C); emphasis on pair programming and sprints and other social aspects of programming; acknowledgment of non-programming aspects of IT; etc. I have heard these described as "sexist" or "dumbing down". Having lived through the obstacles and experienced the positive effects of these methods in my own life, I don't accept that. Presenting IT as something that only the most motivated, self-confident, autonomous individualists can really be into and everything else is "dumbing down for the ladies" is precisely why we don't have more diversity in IT. It's this attitude (from both women and men) that keeps many of us out, and keeps us feeling we don't belong here. Providing pathways to entry for those who are less self-confident, for those who value usefulness or social interaction, is not "dumbing it down". It's widening the gates, and opening up IT to a more diverse group of women and men. If that's sexist, then I guess I can live with that.