Thursday, October 14, 2010

The Social Network

I went to see The Social Network this week. Wiki says that no Facebook staff were involved, which is believable. Eduardo Saverin, Zuckerberg's "friend" who initially got into FB on the business side, was a consultant for the book , which explains why he is portrayed in the kindest way. The rest of the crew (aside from innocent bystanders) are skewered. BTW I put "friend" in quotes because the movie makes it doubtful that Zuckerberg ever had any real friends.

I'll repeat what others have said: the movie is thin, apparently largely based on transcripts from lawsuits. Zuckerberg is a one-dimensional character, portrayed as having zero self-esteem, craving approval, and emotionally stunted. His lack of an inner censor makes him seem a bit like an overanxious nine year old.

Aaron Sorkin wrote the screenplay. I have really loved his past work. I felt he didn't have the opportunity to really shine here, because of the nature of the plot (Ken Levine disagrees).

The movie depicts an environment that is steeped in sexism. Aaron Sorkin says the screenplay depicts the reality of the story. Here's a snippet from Sorkin:
I was writing about a very angry and deeply misogynistic group of people. These aren't the cuddly nerds we made movies about in the 80's. They're very angry that the cheerleader still wants to go out with the quarterback instead of the men (boys) who are running the universe right now.
This is recent history. Another reminder that sexism is alive and well.

It's unusual when a movie comes out where computer programming is a main feature. I wonder if the nasty culture depicted will turn off more young people considering programming as a career - men and women both. After watching the movie, you have to wonder about anyone who would consider that field an endeavor worth pursuing.

Tuesday, September 21, 2010

women in graduate degree programs

Given that the title of this blog is "Female Software Engineer," I feel that I am slacking in my commentary regarding women in the software development profession.

So here's a poke at that. (Via ComputerWorld) according to the Council of Graduate Schools,
Of the first-time graduate or doctoral students in computer and information sciences, 9,021 were men and 3,249 were women (in 2008-2009).
We should all pause here to consider whether this should be disturbing to us.

Here's another factoid to give us pause:
Of the 12,288 students counted as first-time graduate or doctoral students, or new enrollees, in computer information sciences, 5,266 were U.S. citizens and permanent residents, and 5,996 were temporary residents or students on visas.
That's a whole other can of worms.

Truth is, I can't really address these questions. I seemed to have a natural affinity towards computers as a kid. I learned about them from my dad. When he bought a kit to build a computer, I had fun helping him with it. I wrote little toy programs in Basic. I can't begin to tell you why, except that I think I had a vague ambition to write an adventure game.

But I never thought about going into computer science as a career. My first love was science, and I got a degree and had a short career in that area. During my studies I had to write thousands of lines of code; it was just a tool to get my job done. It was only when I decided to leave science that I considered software development as an alternative.

So here I am, a female software developer. I can't tell you why there aren't a ton of female software developers out there. I find it hard to believe that it's nothing more than culture. I happen to be someone who is not easily repelled by a culture that wants to send me packing (and CS does not present a happy smiley face to the world). I'm also someone who doesn't seem to be as sensitive to peer pressure as your average person (I'm guessing here, but I think it's true). That means I don't care how my job is perceived by others; what matters is how I feel about it, and since I feel good about being a software developer, that means I'm comfy in my role. Also important: I place a high value on intellectual activities (where did that come from, nurture or nature?). So I look for career options that exercise my mind.

I think most people (men and women both) are more easily daunted. Whenever the question "why are there so few women in computer science?" comes up, I think that another, very relevant question hovers in the background. Why are there so few people in computer science altogether? Talk to all the people who did not choose CS as a career, and you'll find the answer to why so many women do not choose it.

And why are 50% of our computer science graduate students from foreign countries? What's discouraging Americans from entering an ostensibly lucrative career? Do you suppose it has something to do with the way that American culture devalues intellectualism?

Thursday, September 2, 2010

old code: comparing string length with 0

Today, for the 100th time (I've been counting!), I encountered this snippet of code:

 String blah...;
 if (blah.length() <= 0) {
 ...


I've been wondering why blah.length() is being checked instead isEmpty(). (Why the string length is being checked for less than zero is a deeper mystery to me).

I dug into it a little, and it turns out that isEmpty was only introduced in Java 6, way back in 2006. Our code is really that old mature!

Wednesday, August 18, 2010

get rich quick!


graffiti moneybags / CC BY-NC 2.0
Originally uploaded by boozysmurf

I just discovered Hacker Monthly, "the print magazine version of Hacker News". Today I spent some time reading and enjoying some of the lead articles. Although, they tend towards the sensational. Here's a summary:
  • Lessons Learned From 13 Failed Software Products: Sweet! This is the kind of solid, real-world information that's so hard to come by. You can find tons of information about the guys who made millions, but what about those who did not? The latter are far more interesting, if you'd prefer to learn from the mistakes of others. At first I thought the article was about 13 failures of one particular person (woah!) but they're 13 separate ventures.
  • How to Become a Millionaire in Three Years: This article is about what you'd expect. I wonder if there actually are any rich people out there who got that way via get-rich-quick schemes? The article is not a scheme, mind you, rather a jumble of stuff that may be worth doing, but probably won't get you rich. (Probably nothing you do will get you rich, let's face it.)
  • Why I Quit a Six Figure Job: Is it sweeps week at Hacker Monthly? First you can "get rich quick," and next you're reading about the guy who "quit his unfulfilling job" - and you can do it too. I can seriously see why this stuff sells the magazine, but what good does it really do? It gives you the same little thrill you get from scratching a lottery ticket. A moment of hope and wish-fulfillment, followed by a minor feeling of disappointment. I agree with everything the guy says, except there's this:
    I currently have enough assets to sustain me for about two years, and there’s nothing that I want to buy, so I don’t need any more money.
    Well, I guess if you think you'll live longer than the next two years, you might want to put a little more thought into that. Ah, youth! Seriously, who doesn't want to do this? But is there anyone out there doing it who isn't at least partly nuts?

Beyond the lead articles, there were a couple more good items about startups. There was a kind of strange article about legal issues that seemed designed to scare entrepreneurs into hiring a lawyer first thing. And then I ran out of time.

It's a mixed bag. Maybe a little too fluffy, a little too much stardust in there. But I think it's worth the time spent reading it. I'll be back, at least for a while.

Saturday, June 26, 2010

momentum, sluggish, but there

In the good news, I managed to work on my own little side project for two evenings this week. I spent a pathetic two hours in total, but it's better than nothing.

I also decided to try out JIRA to track my progress. Not that you really need a bug tracker on a one-man project. But at work we use bugzilla, and I've heard some interesting things about JIRA and wanted to try it. And maybe keeping track of things this way will help to keep me motivated.

is there a ball and chain around my ankle? i didn't think so.

I've got a coworker who feels it's his responsibility to notify me when I haven't been at my desk; as if he wants me to know that he "caught" me being absent.

Note to coworker: I don't report to you, and it's not your business if I'm not there when you come over. And by the way: I also notice it when I come over to your desk and you're not there. But I don't inform you of it. I also notice it when I come over to your desk and you're playing video games, surfing the web, or chatting with your online friends. You may get a vibe of disapproval from me, but you don't report to me either, so I keep my mouth shut about it.

In fact, it's not a rare occurrence for employees to be absent at odd hours during the day. The company does not keep tabs on the comings and goings of the worker bees, at least not so far as I can tell. Perhaps they make the reasonable assumption that if you need to be out for a few hours during the day, you'll make up for the time. This is something that I like about the company.

Sunday, June 20, 2010

test development as mindless game


Today I sat in the office, working on a suite of TestNG tests, trying to get them to pass. The procedure was iterative. Run the suite and see a load of red bars. Explore each red bar to see why the test failed. Fix the problem. Run the suite again, being rewarded with more green bars and less red bars. Wash, rinse, repeat, until only green bars appear.

As I was doing this, I noticed that I get the same enjoyment from fixing tests as I do when scoring points in a simple, mindless video game. A really boring video game, but it's got that somewhat addictive quality. It's actually mildly entertaining if you read blogs between test runs.

Tuesday, June 15, 2010

to open source or not to open source

I took another look around sourceforge, and I did see some pretty cool looking projects.

But I've been thinking about a couple of projects that I put to one side months ago. I think I'd feel more motivated to work on those again. The difficulty will be in maintaining a strict schedule. I'll have to think about how to deal with that. My problem is that I pick something up and work on it for a week, and then real life distracts me, and that's the end of it. I need a progress-tracker/reminder/calendar thingy.

Monday, June 14, 2010

why not contribute to open source?

In my last post, I mentioned that I'm missing a sense of camaraderie at work, and wondered how hard that is to come by.

Maybe I could get that feeling by contributing to an open source project.

I tried exactly once before to begin working on an open source project. I went to SourceForge and took a look around to see if anything just grabbed me. I had a couple of criteria: it had to be reasonably active, with recent contributions. And it had to be interesting to me personally, the kind of thing where I though "cool!" when I first saw it. I didn't find anything like that; but I only gave it a cursory look.

I think I'll go back to SourceForge for another look. There's got to be some project out there that can use a little help.

I wonder who contributes to the bulk of open source projects? I've always assumed they're mostly written by college students, people with the most time. Or maybe the temporarily unemployed. I guess some people actually come home from coding all day and then code half the night away, too. It would be interesting to find out the number of students vs moonlighting developers.

Sunday, June 13, 2010

i want to care, but i don't

I'm back to "why bother" mode at work. I'm finding it difficult to get into work by 9, and to convince myself to stay beyond 5. And it's not like I have anything compelling to distract me. Before heading to work, I'll be surfing the internet, maybe reading blogs or discussion boards. When I get home, I'll do some exercise, surf the internet, catch some Netflix.

A few months ago, there were a few precious days when I was working on an issue which had strongly grabbed my attention. I was so obsessed that I came back to work after leaving for the day, and stayed till after midnight to work on it. I hadn't felt so good since I was in grad school. At that time, every minute of every day felt like effort I was expending on myself, on something that was important to me, personally.

This meshes up with an RSA Animate video that I viewed recently. The animation was made to accompany a talk by Dan Pink about how (according to some study) money is an insufficient motivator, except for workers doing very mechanical, non-creative tasks (I'm glossing over the details, but that's the gist of it).

Yeah, I get that. I still need to work for a living, and in a job hunt, I'm going to pick the highest paid job I can find, so money motivates to a certain extent. But will I do the best I possibly can at that job, giving it my heart and soul, like I did when I was a grad student? Most of the time, the answer is no. Because I fundamentally don't care about what I'm doing. I know that companies buy the software that I'm working on, so it's obviously valuable to them. But I see no value in the product (in fact I kind of hate it).

In addition to that, I've lost the feeling of "tribe" that I felt I had in grad school. At that time, I felt like I was part of a cohort with similar lofty goals: contributing to science, discovering new things. I'm a cohort of one where I work now. There isn't a sense of trust. People look at you sideways if you say the wrong thing, and you never know exactly what will sound wrong, so you don't say much at all. Ask for help? If you do that, you're "bothering" people, acting like some junior newbie.

And despite all that, my current job is really not so bad. My coworkers are fine people. There's just something missing. I should probably leave, to look for that sense of team elsewhere. But I kind of wonder if it exists. If it does, it's probably so rare that it would be very difficult to find. Maybe my best bet is to just keep saving till I can be done with working for a living.

Friday, May 7, 2010

java is verbose

a mountain of code is the worst thing that can befall a person, a team, a company - Steve Yegge
So, is Java verbose? I hadn't considered it before reading Steve Yegge's post. And I didn't really get it, initially. But I've been looking at my code differently since then. Recently I ran across another example.

I wanted to write a switch-case statement for about 10 different String possibilities. Last time I checked, you couldn't do this, but I hunted around to be sure. It turns out that you will be able to do this in Java 7. But I couldn't do it now.

One alternative is to use numerous if-then-else lines to sort through the possibilities. I much prefer switch-case; I find it cleaner and easier to read.

If I wanted to stick with switch-case for this example, I could go with one of several workarounds, all of which produce excessive code which ideally should be hidden from view. Probably the most "proper" way of doing this would be to create an enum listing all the constants. Talk about extra code just to make a decision based on a String value!

In the end I went with if-then-else. Ho-hum.

Thursday, April 29, 2010

do women get paid less because they're nicer?

That's what Nancy Folbre wonders in a recent NY Times blog post about supersized executive compensation. She says:
Some personality traits — like conscientiousness — are likely to increase productivity. But other traits, including Machiavellianism and aggressiveness, can increase earnings via a more direct route. They can increase both efforts to demand higher pay and propensity to lie, cheat and steal.

Men score significantly higher than women on Machiavellianism and aggressiveness, which may help explain why 15 times as many men as women were in prison in 2008.
I've wondered if women tend to get paid less because, on average, they're less self-centered, egotistical, and more realistic, than men. If you look at your salary and always think you're underpaid, you'll constantly engage in behaviors that seek to raise your pay, and some of those will be successful, whether or not you "deserve" it. I think men tend to do that more than women. I emphasize that I'm talking about averages. If only a small fraction of men behave this way more than women do, it could skew salaries in favor of men quite a lot. To be fair, I've known men who, to my knowledge, took no active steps to increase their salary, since they felt like they were paid plenty as is.

I suspect a lot of this has to do with the way that men in our society are still expected to be the main breadwinners in a family. A man with a family to support is probably more driven to get higher pay than a women who brings in secondary income. Also, I suspect that bosses are more likely to give male heads of households higher salaries because, in the back of their minds, they think that he "needs" it more. I wish I had some statistics to compare the salaries of single men with married men.

Friday, March 26, 2010

anonymous blogging is difficult

I started this blog because I had a bunch of things to talk about, and also things that I wanted to read about, which I couldn't find out there.

However, I'm finding it hard to blog. I keep getting the feeling that if I mention some specific incident, somehow, someone at work will read the post and recognize me. I know it's unlikely, but it's still an uneasy feeling.