Archive for the ‘Uncategorized’ Category

h1

Things you don’t pay me to do

July 19, 2012

As a consultant, I tend to bill 30 hours a week when I’m working full-time. Billing 35 hours in a week is an indication that I’m pushing it and feeling time pressure. More that that isn’t sustainable. But a client recently asked why I wasn’t working more when a project was falling behind.

The behind-ness wasn’t something more hours from me could fix, it was the dependencies that were failing. But there is something sincerely broken about the question.

Well, I get dumb when I’m tired. The more exhausted I am, the worse my code is. That isn’t true for the first week of too many hours, sometimes there is the lovely zone of intense concentration. But after that, well, I can write code but it won’t be good code. I much prefer to write good code. I just makes me happier.

I tried to explain to the client that they get things they don’t bill for, that they don’t see, that would be part of my “full time” if I worked for them. But it was on the phone and spur of the moment; I didn’t do a great job of it so, in good blog tradition, these are the things I should have said.

  • The 97 times a day I check my email when I’m not billing (e.g., shooting off a quick response at 7pm so the folks in Asia aren’t halted by a minor issue).
  • Conferences I attend and the reading I do to keep myself current in my field.
  • The gadgetry I buy (or, ahem, acquire) to evaluate new technology. These give me better understanding of users, new user interface design options, processor options, and sensor technology.
  • Chatting with coworkers around the water cooler (my watercooler is walking around the block with dogs and husband, clients only get charged for that if we spend the walk talking about problems that we need to work out, which is to say, occasionally).
  • Life chores such as those I often hear when in the office (e.g., two weeks behind deadline and now is when you conduct an intensive Craigslist search for a car?).
  • Not to work: 10 holidays, 2 weeks of vacation, 1 week of sick time = 25 paid days off. So if there are 52 weeks per year and 5 work days/week, that is almost one work day in ten that the company pays a full time worker not to work.
  • Surf the internet because I’m tired, bored, or sick.
  • Maintain my computer. If I drop or lose it, it is my problem to rebuild it. This includes my phone, assorted tools, email service and domain, and, of course, my laptop.
  • Eat cake because it is someone’s birthday. This is kind of sad for me. I miss the days that I got paid to eat cake, even crummy grocery story birthday cake.

So, there are a lot of things that are part of a job that aren’t part of my billing. I’m sure I missed some. 30hours really is a full week. Actually, I’d rather work 25, feel like a bit of a slacker, and have enough mental energy to work on my own projects.

Sadly, I don’t think these particular clients are savvy enough to understand that a well-rested and engaged engineer is more effective than an exhausted, burnt-out one.

h1

Do I really have to wear pants?

July 2, 2012

I haven’t worn pants since mid-May. I work from home so most days I’m in in a skirt and sweater or shorts and a t-shirt.

What? You thought I was going to admit to telecons in my jammies (or less)? Umm… no… This isn’t that sort of blog. Actually, I’m not sure the rest of this post is going to fit in with this sort of blog. But I’m not sure, so let’s try it out.

Anyway, I haven’t worn pants in awhile. But tomorrow I have to go to a client’s office. While at least two of the skirts I wear regularly are reasonably appropriate for corporate life, I won’t be wearing either of them. I never wear a skirt to work.

I don’t like to remind my coworkers that I am female. I mean, I can’t hide it. I sometimes read in books about young women dressing as boys to go on adventures. That wouldn’t have worked for me any time after I turned twelve, it won’t work for me now.

There is being an engineer who is also incidentally woman and then there is being a feminine engineer. The latter will get me a lot more hassling. I’m not willing to deal with it.

Maybe I’m not being fair to the client… They are a San Francisco based, somewhat trendy software firm (OMG, open floor plans, who can live like that?). The engineers will be in jeans, the managers in khakis, the VP in slacks, and the interns will wear shorts (unless it is too cold). If I go in with a knee length linen skirt with lace on hem and a presentable shirt, well, if they are like anyone else, people will open doors for me and smile at me more. But if I wear slacks and the same presentable shirt, they will listen to what I say even if they opt not to take my advice. Guess which is find more gratifying?

So tomorrow, I’ll dig out pants and put them on, one leg at a time, only slightly bemoaning my failed pantless streak.

In the meantime, here, have a picture from this weekend, taken at Fitzgerald Marine Reserve just north of Half Moon Bay. It has tide pools, baby seals, and a natural cathedral of Cypress, all purely amazing. This picture kind of represents what I’m trying to convey. I want to show this whole picture but the work part of me is a trees only image, no flowers allowed.

 

h1

What is it like to program?

July 1, 2012

I compared algorithms to recipes not too long ago. But I wanted to write a post about test driven development (TDD) and how every time I rediscover it, I think that it is great. So I was thinking about how to explain TDD to someone who doesn’t work with computers. And that was when I realized that just explaining how to program is not that easy.

I think of programming as writing: writing a story that is supposed to evoke a particular response from a given audience. Let’s say you had a young girl and you wanted her to smile, giggle, gasp, cry and then smile (with eye crinkles!). Other than those five actions, you don’t care what she does, but you need all five in, say, 15 minutes.

Once upon a time, there was a princess. She looked a lot like you! Her name… sotto, what is your name? Violet? Oh, that is beautiful! And you know what, her name was Violet too: Princess Violet Purple Lavender!

Ok, so I bet I’ve knocked off the first two responses there. But I’d have to try it out. I’d have to find a girl (named Violet) and tell her my story-let. And then, if it didn’t work, I’d have to erase her memory and try again.  And let’s pretend I could keep erasing and keep trying out stories until I got my five small emotional outbursts, all in order, all in my allotted time.

I may have to learn more about her to accomplish my task? What makes her scared? Is that the best way to elicit a gasp?  This information may be useful in crafting other stories for other children (or it may not, Violet may be oddly singular). And how I choose to go about this is very personal to me. I’d rather she gasped in surprise than terror. Given the current specification, I have that option.

There are lots of other stories out there, I might crib information from some of them and I might admire the elegant solutions or particularly fine writing. If a story ending isn’t copyrighted and is good for eliciting big smiles, well, I may use it myself, either wholesale or adapting it to the rest of my tale.

When I write programs, I’m telling the computer a story to get it to do what I want. There are lots and lots of ways to do it. Some ways are easier, some ways are considered better (if your Violet is young enough, you might get a gasp by dropping the F-bomb randomly but how are you going to get back to a smile from there?).

Sometimes I do have to figure out how to trick the computer into the action I want, very much like a puzzle. And sometimes I have each action as a preformed Lego block from some other story and I just need to find a good way to hook them together. That can be a puzzle too, especially if they don’t quite fit together (this one has a dragon, that one has a sea monster).

Finally, when I write my story, I’m not only writing for my audience but also for other writers. That story drivel above is clear and understandable but it isn’t great literature. I don’t know that I want to write great literature. But something with a little more craft would please me and any fellow writers who have to read my stories (err… fellow software engineers who have to read my code). It is kind of like the Anamaniacs cartoon where there were jokes for the kiddies and then there was another level of humor for the adults watching. The programs are for the computers and for the other programmers. A lot of programmers forget that.

I could ride this poor metaphor pretty far, but does it make sense to you? I don’t think I’ve represented the square-hole-in-a-round-peg problem-solving and puzzle aspect of it well enough so maybe I need an entirely different metaphor or I need to work in the poetry aspect to it. But then getting a kid to do what you want is often a pretty big puzzle. Anyway, if you program, how would you describe it to someone who didn’t?

 

 

h1

Coloring in the lines

June 28, 2012

I don’t color in the lines very well. I often want to. I look at other people and think that what they’ve done is pretty and neat, so much tidier than I could manage.

And by coloring in the lines I mean all the idiomatic meanings… I run my own business. People can hire me, pay for my time, and tell me what to do. But I can always say no. They aren’t the boss of me; I am the boss of me. And, by the way, I don’t want to be the boss of you either.

Let’s take a trivial example… I’ve already mentioned that I use a haphazard ratiometric approach to baking cookies, never able to reproduce a particular baked good unless it it yummy enough to write down the recipe. And then I never consider following the recipe that I wrote down, always tweaking it here and there.

So it was a little odd that last week, having agreed to bring dessert to a potluck, I baked two kinds of cookies, following the recipes as best as I was able. And they both worked out really, really well.

The first was a chocolate chip cookie. Now, it is hard to have a bad chocolate chip cookie. I think the only disastrous ones were when I used old fashion oatmeal that was a little too old fashioned. The oat husks stuck out at odd angles from the top of the cookie and bit back when I tried to eat them. But the cookies from Cooks Illustrated were fantastic.

Loads and loads of butter but they were crunchy and chewy at the same time. Really yummy.

The other cookies were odd: 2 egg whites whipped to stiff peaks, 2 cups brown sugar (chunks broken up) and 2 cups pecans folded gently in then baked at 350F for 20 min. Given the recipe, I expected them to taste like pecan candy. Instead, they were like chunky macaron outer cookies.

In fact, mixed one a plate with the chocolate chip cookies, both brown and chunky, my husband thought the pecan cookies were the chocolate chip cookies and said there were good but only subtly chocolatey. The pecan meringues were very cookie like and the texture was right for the chips. They were odd but really good; nice to remember when you need gluten-free, lactose-free cookies.

Both cookies went over well at the potluck. I felt like an integrated member of society. Having colored in the lines actually turned out well. On the other hand, the potluck was a cross section of software engineers, ballet dancers and motorcycle riders; possibly conforming to regular societal norms was the most nonconformist thing I could have done at that particular party. Sheesh, I didn’t think of that but I also wore a pretty linen skirt…

I tweeted recently about having left the keys to social interaction on the table at home. I’d had an incident at work where I misread the cues, thought it was time to work when it was time to chat and I felt hideously awkward. Hence the tweet. The response was amusing, clearly I am not the only one who feels like everyone else has a key and I’m trying to pick the lock.

Coloring in the lines is my response to that feeling. Except… well, except I can only keep it up for a limited time before I burn out. Yes, now I can make two really good cookies from recipe. So? Anyone can make these cookies. It wasn’t even hard let alone creative. No one but me can wander around my kitchen, picking herbs from the garden, fruit about to go bad, and ingredients on hand and say, “You know what we need? Lavender-blueberry muffins!” (My husband squawked and then later admitted the sweet/spice of lavender went really well with the blueberries.)

I feel like I should start singing “I gotta be meeeeeee!” but I waver. A lot. The confidence is usually an act. I want to be confident in who and what I am, hideous disasters and all (I swear the goal was not mint extract in the strawberry crepes, it was supposed to be vanilla!). But I’m not. I used to think that this feeling would go away when I grew up. But I think that already happened when I wasn’t watching.

Today at work, I’ll be refusing to color in the lines. I had a minor meltdown yesterday after trying too hard to do what they want, even though it is wrong (and stupid and untestable and a poor user experience). I shouldn’t have tried so hard but I want them to like me; every time I ventured outside the lines, the manager hit my knuckles with a ruler (metaphorically, of course). Getting frustrated doesn’t help. And I am the boss of me! So if this is a product I think is going to hell because of poor vision, well, I can take my ball of talent and go elsewhere (eek!). Or they can watch the picture I create, if they simply tell me what they want and let the lines fall naturally.

 

h1

What does a second grader know anyway?

June 25, 2012

I have a friend with two elementary school boys. They are both extraordinarily bright. The older one is quiet about it, the younger is noisier with less self control (though he’s younger so I don’t think the comparison is reasonable except that it is only possible for me to compare them in the now).

Anyway, the younger one just finished second grade. However, on the standardized tests, he scored at twelfth grade reading level. 12. Seriously, the boys have excellent vocabularies and they enjoy reading. I love that sometimes they don’t want to obey because they are too busy reading or want to bring their books to the table. This is awesome.

But what do you give a second grader to read when he’s reading at high school level? What has interesting, complicated vocabulary and structure but doesn’t have sex, drugs, death and violence?

I immediately said Encyclopedia Brown. I have fond memories of no longer being the nerdiest nerd ever while reading those book. My husband immediately suggested The Hobbit.

I think the boys have both read Harry Potter but I’m not sure the younger read all of them. So let’s set the bar at Harry Potter 3 and consider what else might be good.

Many of the books I can think of I read as an adult… Lemony Snicket was fun, up to about book five where it started to go off the rails. Very nice vocab, engaging but convoluted plots. The Chronicles of Narnia were pretty spiffy though I’m not sure how far I got.

I suppose anything published before 1950 has a good chance of mild themes. Hardy Boys, Nancy Drew. Oh, and Mark Twain, Sherlock Holmes are free in ebooks. But those feel a little like school books. How to get them to stay fun?

There are some new books that are supposed to be good (at least according to my Goodreads recommendations)- Percy Jackson and the Lightning Thief, How to Train Your Dragon. This is such an interesting problem. And I love books so much. But I kind of have a lousy memory for details about them. I thought The Hitchhiker’s Guide to the Galaxy would be good but my husband says no, really no. And yet I cannot recall what about it would be in appropriate to an eight year old. Sure the whole Earth buys it but that is incidental to the story. (And Lemony Snicket is way more macabre.)

Speaking of macabre, Neil Gaiman’s Graveyard Book was fantastic. Not too scary, really a great book. It won an award… The Newbery Medal. I bet all those are fantastic. Everything on that list that I’ve read has been pretty amazing.

I also mentioned to my friend that nonfiction wouldn’t have theme issues. And if they can get addicted to reading facts, well, they will start acing everything else real soon. I don’t remember when I read Flatworld but I recall thinking it must be a secret book that would change the way everyone thought of mathematics once it was discovered. Stephen and Lucy Hawking just put out some children’s books about physics, modern physics. I bet those are neat. I kinda want to read them myself.

Back to fiction, though. I read Among Others last year. It is up for a Hugo award now and will be my choice for winner. I joined the Hugo voting partially so I could vote for that, partially because the number of excellent books I got for $75 was so very worth it.

Anyway, Among Others is a book about a girl adjusting to the loss of her twin sister, dealing with a dysfunctional family, and finding solace in sci-fi books. Trust me when I say the Hugo folks like the last bit the best. The book was written by someone who clearly loves books. That was my favorite part. I kept wanting to ask the heroine whether she’d considered this book or that one.

I like to talk about books, compare notes. But I’m not part of a book club as I don’t like having to read something, it just sucks the fun from it. And I’m only an intermittent GoodReads user because I don’t like how it totals up the book, making me look addicted to the written word. There is no truth in that, I very seldom go through more than a book a day.

Maybe I should volunteer to read the books for my friend’s kids. I wouldn’t mind a summer spent reading children’s books. At least I can save them from Where the Red Fern Grows (bait and switch!) and Bridge to Terabithia (ditto) and Little Women (just ugh).

I bet Emma wishes she’d never mentioned it. She was probably (rightfully) bragging about her brilliant children and never intended that I “help”. Snicker. I wonder if they’d like… hmm… so many options…

PS. There are some nice places to look for books: blogs about children’s books, with reviews and sites that order by age and reviews.