Tuesday, July 28, 2015

On Being A Nice Hacker Princess

Spring break. I was sitting in the airport, lamenting that three of my professors had assigned work due the week after break, but delighted that there was enough WiFi to squeeze in a half hour of work. I was focused, writing something in C++ for my Computer Vision class when I noticed a girl peering over my shoulder, maybe 7 or 8 years old & with a ponytail.

Me: "Hi"
Girl: "Um, are you a hacker?"

I was outwardly very amused and inwardly very pleased at the question.

Me: "No, not exactly. I'm in college & I study Computer Science. I write code to ask my computer to make things like websites or Candy Crush. So it's kind of like being a nice hacker."

The girl was thoughtful for a second, ignoring her mom's call that it was time to board. Then she said "OK" & ran off to her mom, who smiled apologetically to me as her daughter jumped up and down in front of her & informed her of important news.

Girl: "Mom, when I grow up I want to be a hacker"
Mom: "A hacker? This morning you wanted to be a princess!"
Girl: "Yeah! Both! I mean, I want- I want to be a ummmmm nice hacker princess"

A Nice. Hacker. Princess.
As I watched them leave, my heart swelled full of hope. There was something so pure, so quietly radical about her statement. She could be a hacker even though she was a princess, dammit. The two did not involve an XOR* in her book.

I used to want to be a software engineer or a researcher or a data scientist, but my aspirations changed in that moment: I, too, wanna be a nice hacker princess. I want to revel in my CS femmeness, I want to break things & fix them & get elbow-deep in code in a hella cute dress. I want to taste the satisfaction of functional code, admire it's resemblance to magic. I want to hack my IDE's into having glitter font. (jk, mostly) I want to do all of this while being nice- contributing my hacker-princess talents to something meaningful, something kind & impactful & clever.

I found a role model in a 7yr old, a small blonde creature who saw no limit in her potential, no paradox in her newfound dream. I refuse to use XOR's in my vernacular, to limit my princessliness with real or self-imposed expectations and inhibitions. I will forever find power in what femmetech means to me. And whether you are woman, man, fluid, trans, all of the above, or none of the above, I invite you to find power in whatever that means to you.

XOR XOXO 
Yrs truly,
a nice hacker princesses





*XOR = "exclusive or". Either this or that, but not both. 

Saturday, March 28, 2015

The Problem with #BoycottIndiana

After 63 House Reps, 40 Senators, and Mike Pence gave the go-ahead on the Religious Freedom Restoration Act, the nation exploded. Concerned about the bill’s potential to be a thinly-veiled rationalization of discrimination against LGBTAQ+ folks, hundreds of groups have responded with outrage.

Local and national celebrities, businesses, religious groups, politicians, and conventions have gone to great lengths to express their opposition to the measure. I mean, when Reggie Miller, Miley Cyrus, and Tim Cook all tweet about the same issue in the same day, you know something’s up.

Big names like Salesforce, Angie’s List, the entire city government of San Francisco, the NCAA, Gen Con, and Yelp have all responded with threats or actions to reduce or eliminate their business dealings in Indiana. To these noble efforts to #BoycottIndiana, I have one word:
Don’t.

I am a proud Hoosier. I am queer. And I’m one of the thousands of LGBTAQ+ kids and adults across the state that are fighting for a place in this beautiful state. We’re here and we’re queer and when you boycott Indiana, you boycott us.

So stay. Stay and fight with us. Stay and offer a young lesbian a summer job in a safe space. Stay and donate to our queer candidates, lobbyists, and organizations. Stay and invest in housing that’s safe for transfolks. Stay and support our arts, our writings, our families, and our local communities.

Stay because too many people have told us again and again that we’re not wanted here.  Stay because I’m not ready to give up on the place I call home.


Don’t boycott Indiana. Invest.

Tuesday, December 9, 2014

Testing & Pooping at Google

"Testers are paid to break stuff."

I've heard this line a dozen times from a dozen different people, most recently during a presentation by IU alum and current Googler Mark Meiss. Breaking things is fun, so I decided to look into Testing more, specifically Test at Google.

Google has a great blog on testing there and has an especially nice overview series of Google testing, but I'd like to share a few interesting or quirky things I've learned in the past week about Test at Google.




Learn & Poop

Don't you just love sitting down on that porcelain throne and taking a good...look at the testing tips on the walls? Google has a program called Testing on the Toilet (TotT). Bathroom stalls are plastered with best practices and tricks. Sure, it's old news (the program started back in 2007), but it's still interesting and effective.* I'm also struck that the program is a good reflection of testing in general- like a bathroom, Test isn't exactly sexy, but without it things at scale would get real shitty real fast.

The topics range from simple things like effectively naming tests to more technical specifics for Web Toolkit, but nearly all are very accessible concepts if you know basic coding. So next time you're "backing the bus outta the garage" (ew/lol), I recommend scrolling through the TotT tag on your phone to pick up a few tips. 


SET vs TE

(Software Engineer in Test vs Test Engineer)

A nuance I wasn't previously aware of was the fact that Software Engineer in Test and Test Engineer are not synonyms. From what I understand, the two roles can be very similar, but do have different focuses. Pulled from this 2012 interview with a Google TE;
As a Test Engineer, you’re more focused on the overall quality of the product and speed of releases, while a Software Engineer in Test might focus more on test frameworks, automation, and refactoring code for testability. I think of the difference as more of a shift in focus and not capabilities, since both roles at Google need to be able to write production quality code. Example test engineering tasks I worked on are introducing an automated release process, identifying areas for the team to improve code coverage, and reducing the manual steps needed to validate data correctness.
If it matters to you, looking at the oh-so-scientific Glassdoor pages gives salary estimates for each. SET's and TE's make roughly the same $111,000 and $108,700 respectively at the time of this writing. And according to this Google Testing post, the opportunities for career advancement were similar.


Orbs

In the early 2000s, different Google teams tried out different ways of monitoring their test builds to make sure everything was running smoothly. Each team has a centralized, web dashboard for their builds. The centralization is nice but is not a particularly vigorous. As Mike Bland pointed out in a really interesting post on the development of builds at Google,
"...a build system’s value is proportional to the rapidity with which a team can identify breakages and fix them, and having every engineer keep a web page open and refresh it all the time doesn’t scale."
A green and brown Statue of Liberty figurine has its torch replaced with a small orb that glows green.
"Statue of LORBerty" taken from
the Google Testing Blog
So a few teams turned to casual, at-a-glance methods of identifying build fail moments of "Oh shoot, we done messed up." Bland talks about teams using a literal traffic light, browser plugins, and (his project) Ambient orbs. 

Ambient builds devices that center around relaying information in an effortless way. Bland threw together some scripts that used one of their products, Orb, to change color based on the status of a build. Hence the birth of the Statue of LORBerty, providing liberty and justice and peace of mind to testers everywhere.















*[Funnily enough, we use the same technique for event advertising or  awareness campaigns pretty frequently in the residence halls at IU. Communal bathrooms are places that receive high traffic with pretty captive audiences. Other places I like are inside elevators or next to clocks in lecture halls. Flyering bulletin boards just doesn't cut it.]