buzzed, B&W

Sufficiently Advanced Monitoring is Indistinguishable from Testing

Listening to a Test Talks podcast this morning about Terrible Testing. The guest, Todd Gardner, talks about bad test practices.

There's a slightly interesting bit where he talks about how the test pyramind isn't always a good model, but he bases that statement on the fact that the number of tests is what the test pyramid shows. Gardner goes on to talk about how risk should guide test and how test coverage can actually become more of a burden than a benefit (since writing new code might require updating a lot of tests). I don't think the test pyramid is necessarily reflective of number of tests nor effort, but just a mental model - make sure you've considered the risk and write appropriate unit tests, then move on to service level, etc.

The more interesting bit was when he said:
I can’t remember where I heard this quote, and I’d love to attribute it to somebody, but I’m just going to repeat it anyway and say that it wasn’t me but it’s really clever. “If you have a sufficiently, any sufficiently advanced, automated testing system is indistinguishable from monitoring.”
A little bit of digging, and it looks like the original presentation is from Ed Keye's 2007 Google Test Automation Conference presentation Sufficiently Advanced Monitoring is Indistinguishable from Testing (super short, quick presentation).

Overlaps a bit with some discussion we recently had at work about QuickCheck and property based testing, especially when Keyes starts talking about how generalized monitoring tests have to be.

There's clearly a lot of challenges for most web applications - e.g. how to trace a single user session/transaction from start to end, what to check for besides HTTP status codes, etc

We've definitely got some new monitoring stuff going in at work, so it'd be interesting to use writing checks against that output would be a good way to learn that. Not likely that I'll have the time to go down that route any time soon, but definitely could be fun.
buzzed, B&W

Context matters (communication is still hard!)

Do you understand what's going on or do you just like watching people beat the crap out of each other?

So that's the embarrassing question I asked a co-worker on Friday when they mentioned they were watching a lot of boxing lately. Their response was an offended look and "That's an interesting question - would you ask a guy that question?" At that point, I was confused, as I hadn't even considered that this could be taken as a sexist remark, and I didn't even realize that that's what they were saying to me.

Part of it is that I ask these off-putting questions frequently, with these false dichotomies. They're generally meant to be teasing, a bit of a verbal riposte. To me it's the same idea as when someone asks me "do you really like your vest (car, shirt, glasses, etc), or do you only wear it because it's orange?" Another example might be when I tease one of our vegan coworkers about how I think his choice to be vegan really isn't socially responsible, e.g. " . . . but think about the cattlemen and their families."

I think I asked the question because through my lens, boxing is a gigantic mystery and a bit absurd. I don't understand it as a sport. I get watching it as a social activity or appreciating it technically - the conditioning to go all out for 3 minutes a round, the displays of speed and strength, etc, but it's very different from when I watch soccer, tennis, or golf. But I just don't get the appeal of watching two people try and hit each other repeatedly, with the goal of disabling/outlasting the opponent.

On the other hand, it's quite possible that I did ask the question because she was female, that maybe I've got an unconscious association/bias, and my asking this question highlighted that women can't be boxing (sports?) fans. I don't think that's the case, and there wasn't any intentional malice (besides some playful ribbing).

In a more general sense, the question "Do you like football or are you just watching the Super Bowl for the commercials?" has become pretty common, and I've never considered the implications behind it, e.g. "I don't think you're a sports fan . . . " Coming from a non-sports fan to another, there's probably no cross wires. A face-painted/jersey wearing fan asking a woman this question could definitely be seen as judgmental and biased. In my non-"sportsball" social circles though, this question is just a question.

Even flipping the question around, e.g. "Do you just like the commercials or are you hoping to watch the game?" changes the tenor of the dialogue . . .

It's amazing how much subtle shifts and changes in context can change the whole conversation.
buzzed, B&W

I'm a terrible listener

I know I'm bad at this - when I think I know where someone's going to end their thoughts/sentence, I'm prone to interrupt, lacking the patience to let them spell it out in their way.

While thinking about this, I came across Stop Saying, 'What I Hear You Saying is...!', and most relevantly:

Force yourself to postpone forming an opinion or a judgment about what you are hearing. You can evaluate the message after you hear it and are certain that you fully comprehend it. Do not interrupt or cut the speaker short; and never finish the other person's statement. These behaviors define rude.

This was highlighted for me at work recently where one of my coworkers pointed out to me that my criticality was seen as negativity, and not contributing towards a solution. My lack of really listening and my jumping to conclusions made me miss this perception. I realized they had been seeing me as a blocker, but I had attributed this mainly to them. Due to not listening well, I had missed that they weren't understanding that what I was saying is "we don't have a problem" and "continuing what we're doing/not changing/doing nothing is best".

I know when I've been saying "What I hear you saying . . . ", I've thought to myself "oh man, I hope this doesn't come across as condescending" (which is the main point the blog author seems to be making). It's interesting that the phrase has become so loaded these days. The author proposes some other ways to practice reflective listening:

"I heard your words but may have misunderstood your message, so I'd like to clarify. Is it your position that...?"

I want to be sure I've got it straight. Do I understand you to mean ...

"So, if I could just double-check that I've got it. You feel that ..., Is that correct?"

"Please help me to better appreciate your point by really understanding it. Did you say, using my own words, that ...?"

"I think I understand, but want to be sure. Did you basically say ...?"

"I really want to understand your point. Help me to confirm or clarify what I think I heard. Are you saying something along these lines ..."

Ugh, communication is hard.
buzzed, B&W

A changing workplace?

So, while I was frustrated with the panel about women in tech, it makes me want to approach the question of gender equity in tech from the other side.

What would a workplace look like that gave all employees the "temporal flexibility" that seems to equate to much of the gender pay gap, what does the workplace look like? Can such a company survive in a capitalistic society?

What happens when we encourage new fathers to take as much paternity leave as new mothers? While I think there will always be the driven, those who want to be the best of the best, to strive to become partners, the best surgeons, etc, is this the ideal?

Would a company that tries to reach such a balance be viable? Could it survive against competitors and other companies in the field? Would it be driven out of business by more traditional companies?

I wonder if a company with a workforce 50% larger, but with each employee only working 2/3 as hard (in terms of man hours) compete?
buzzed, B&W

Women in tech, the workplace, society, etc . . .

I went to a Meetup earlier this week titled Successful Women in Software Industry. Lots of thoughts, biases, etc, so trying to sort some of it out by writing, digesting, processing, etc.

I wasn't sure about going to this particular Meetup, as my previous experience with the group had been a bit of a wash - some semi-interesting technical stuff, but not a ton of value in terms of networking. I was also feeling a bit blah, so wasn't looking forward to biking across the bridge in the rain, but I'm glad I made myself go. I didn't network (nor did I attempt to), but the panel discussion was really interesting.

I remember the panelists introducing themselves:

  • Alice Nodelman - a hard-core dev, traditional CS degree, etc, hacking away at automation tools to help folks

  • Megan Bigelow - customer support manager

  • Leah Silber - CEO/Co-Founder of a small tech consultancy and an event organizer

  • Myllisa Patterson - Marketing director

As the introductions were winding down, I remember thinking that it was disappointing that there were more "real tech" folks up front, but then thinking that this really was a crazy bias. While it wasn't gender related, but software industry related, there's a definite stereotype that developers are the pinnacle of the tech community. Kind of a weird bias for me to acknowledge, especially as often as I spout how the non-profit sector needs to learn that their work is business as much as any other. Tech isn't that different - while the devs may generate some code, turning that into a real product, selling it, supporting it, etc is still business. This was the first churning in my mind that business is business, and that the story of women in tech is really just a subset of women in the workplace (and likely not that specialized of a subset).

Nodelman was the most interesting panelist to me - she shared a few anecdotes that resonated. The first was that she's had to make some rules for herself, one of them being never to drink with co-workers. Definitely a sign of a problem that she's mentioning this as advice for others, and this really felt like advice that's along the same lines as not wearing short skirts or showing cleavage, i.e. the idea of teaching women how to avoid bad situations, rather than addressing the creation of these situations.

The second point that resonated was that she was talking about how she has a partner and a 4-year old, and the experiences around being a parent. How co-workers would ask how she was planning on being a mother, what she planned on doing, etc, none of which would have been asked for male counterparts.

She also mentioned the idea of medicine and the law being examples of where these gaps had closed, though that doesn't feel right to me. The number of women in the demanding positions (mainly in terms of time), e.g. surgeons, law partners, etc is still abysmal.

She went on to talk about how she's not a fan of these types of events, that she's frustrated that she's not seeing change, and she feels she has more impact mentoring and tutoring with Code Oregon than being a role-model. Silber also touched on the idea of role-models, that for conferences she organizes, she tries to balance the speakers, that it takes effort to find them.

I got more frustrated as Bigelow discussed the networking group she co-founded, PDX Women in Tech, and other were talking about mentoring, networking, etc, talking about how there's a confidence gap, that women are reluctant to apply for positions they're not skilled in (on paper). Silber told an anecdote about how she's struggled to not cry at meetings (and the counter-example of a powerful male she heard of who was a crier).

The message I kept hearing was that women had to adapt, that they had to become more professional, but that professional really meant more like stereo-typically male - confident, aggressive, willing to work the long hours, etc. The long hours bit definitely reminded me of The True Story of the Gender Pay Gap from the Freakonomics podcast, where one of the big takeaways for me was that a large factor in the pay gap was that women value "temporal flexibility" (i.e. the freedom to work from home, take time off to take care of children, flex hours, etc) and the "care penalty":

If you take women who don’t have caregiving obligations, they’re almost equal with men. It’s somewhere in the 95 percent range. But when women then have children, or again are caring for their own parents or other sick family members who need care, then they need to work differently. They need to work flexibly, and often go part-time. They often get less-good assignments because their bosses think that they’re not going to want work that allows them to travel, or they’re not going to be able to stay up all night, or whatever it is. And so then you start — if you’re working part-time, you don’t get the same raises. And if you’re working flexibly your boss very typically thinks that you’re not that committed to your career, so you don’t get promoted.

This, along with Nodelman's anecdote how she got a nanny, had to negotiate with her partner what the parenting responsibilities woud be, to take more of a traditional bread-winner/working-man type role, really seemed to me to suggest that the approach to women in tech that I'm familiar with is short-sighted. The idea of getting more women into STEM, into creating pipelines of women, etc, doesn't address the real issue, that our culture values folks who put work ahead of family and outside obligations.

It seems to me that if we really want more gender-equity in the workplace, it's more about shifting our culture around work. Sexism is a tiny portion of the obstacles keeping women out of the workplace.
buzzed, B&W

I miss writing

It's been a while since I've written.  I should do it more.  Some random thoughts:

  • I've been on LJ for almost 5,000 days.  It's changed a lot from my first whiny teenager post.  I feel committed to them since I got a permanent account back in 2005, and my profile is a bit of a time capsule.  It's interesting to see how they've evloved (or arguably gone stagnant), especially compared to Blogger, WordPress, Medium, etc.  I think I feel committed to them mainly since the history, but it's not a great platform for actually writing, with the various interfaces all feeling a little (or a lot) dated.  Maybe some day I'll bite the bullet and actually start my own blog on my own domain . . .

  • I was prompted to write as I was evaluating read-it-later apps.  Trying out Instapaper since it seems to have the best ecosystem, and it integrates with the feedly app (and I still lament the shuttering of Google Reader).

  • I'm writing less . . . I'm not sure why.  My main outlet used to be on Yelp, but moving to Portland seems to have really cut down my participation.  One of the reasons seems to be not getting tapped into the Yelp community on Portland, but that's only part of it.  (I was active on Yelp long before Reno had a community manager.)  Another factor is likely just overload - when we first moved here, we were probably trying out a 5 to 10 places a week.  They all start blurring together after a while, and writing about them becomes harder.  I'm trying to make an effort to write more (which likely means I'll have to revert to that guy taking food pictures pictures so I can have visual reminders for writing).  There's also a part of me that wants to try writing on professional topics, related to software testing . . . I keep thinking I should write about an experience learning a new library, things related to the process and culture, etc . . . just have to make myself do it.  Interesting as I site here writing and reflecting, I just saw Amit posted on Facebook about writing more . . .

buzzed, B&W

Test thoughts

Some random QA related stuff I've read recently:
  • Jonathan Kohl had a recent blog post about Designing a Gamification Productivity Tool that caught my attention, since it was something I had thought about during my previous employment. Clearly, Kohl went much further than my idle ruminations with a co-worker. Something I think could still be interesting, and the idea of going beyond competition, points, and achievements to co-operative play, quests, etc is interesting, especially for large teams.

  • Future of Testing and Automation: The Role of the Tester in 2020 - Has a great quote:
    We also discussed that the developers will never become good testers and testers will never become good coders. The truth lies somewhere in the middle. Besides delving into requirements and ensuring common understanding between stakeholders and development teams, testers will need to become more technical to understand the risks sooner rather than later. Otherwise, they will have a hard time in 2020.
    The distinction between testers and coders is something I noted in my previous post about my job search, how I consider myself a tester who can code, whereas it appeared the company I was intereviewing with really wanted a coder who could test.

    The notion of testers having to become more technical also resonates, and was something we were struggling with at my previous job, e.g. we had a lot of testers who were content to run test cases, but in my opinion, weren't showing the initiative to grow more technical, learn more about testing,

buzzed, B&W

DRM is painful

I tend to really like the Multnomah County Library. The central branch is beautiful, they've got a solid website, and they've got a lot of eBook options. But that's part of the problem too . . .

I recently read a blog post entitled Do We Still Need Dedicated Testers, and it reference a book called Humble Inquiry so I found out that the library has it digitally. I end up clicking to get the full text, and that's when I end up going down the rabbit hole . . . I had to:

  1. Log into the library and then click on the Full Download link . . .

  2. Log into ebrary, which meant another account (with different password requirements)

  3. There's a dialog then that asks if you're using a laptop, iOS, or Android. I was on the laptop, but wanted to put it on the iPad so I select iOS (and who knows why there isn't some auto detection here).

  4. Advanced the dialog, which says to install Bluefire Reader, so I get the iPad and do so.

  5. Launch Bluefire, which requires me to create yet another account, this time with Adobe for DRM

  6. Click the download link in my browser, which wants to download a file to use locally on the laptop.

  7. Repeat the above steps on the iPad (skipping the account creation, but still needing to log into three different accounts) and now I've finally got the thing on the iPad.

The process of getting the Kindle setup to work with the library was pretty painful too, and is still a bit painful in that once the book is checked out, you have to go to the Overdrive app to select the Kindle version, then go to Amazon's website to actually download it. It also seems a bit strange to be going to Amazon to return it when I checked it out via Overdrive.

Yay for digital formats allowing for easier portability of information, but man, DRM and all the various towers out there makes me wonder how non-tech oriented folks ever manage any of this . . .
buzzed, B&W

On pond size . . .

It's been a little over three months since I was working professionally. I've been lackadaisically looking for work, knowing that I've got some savings and feeling like I'm of the age/professional development that I should find a position I like, not just a job.

When we first got to Portland, L had a mixer with the other first-year residents, and while chatting with the residency director, he made the observation that I must be pretty confident if I wasn't stressed about not having a job. There was likely some truth to that statement, especially as I was coming from a small company, where I had been a pretty senior and technically competent QA engineer. This confidence was probably further bolstered by the fact that I've never really struggled with the job hunt, that usually I interview once or twice, and I'm getting an offer or two.

This time is a bit different. In Reno, I think I was a big fish in a small pond (i.e. few testers, small tech community). Portland's different, with a much larger tech scene. While there seem to be more openings, few of them speak to me. So, while the pond is bigger, I'm not sure how selective I should be. Granted, it's only been 3 months, but maybe I just need to start casting the net wider, and stop being so selective about what I'm looking for.

Of course, flubbing an interview doesn't help. I've always thought of my self as a tester who can code. If I were to list my strengths, they'd probably be around advocating for strong testing, being a creative and thorough tester, and that I can write code. Coding comes last for me . . . I'm not particularly fluent, and I've generally got some snippets up, doc pages, and StackOverflow. In the case of this most recent interview, I (stupidly) wasn't expecting to have to white board anything, so I was surprised when they asked me to. I made a lot of syntax mistakes, couldn't think of the exact regex I wanted, used semi-colons in Python, etc.

One of the reasons I hadn't really thought to work on my code skills was that at my last position, we talked about how we'd much rather have people with strong test skills over strong coding skills. The problem with that in larger ponds though is that having both strong test and strong coding skills is part of the expectation. I also figured since I had made it through the tech screen, that coding wasn't a big deal. I had learned some node.js, Angular, and Protractor for the tech screen, and figured they'd looked at that code and seen what I could or could not do.

In hindsight, I probably should have realized they wanted a coder who could test. They were very proud of the fact that they had 100% unit test coverage, and really wanted to push towards full automation of their testing. Position probably wasn't a good fit as I want to be doing more than just writing lots of regression tests.

This also points out how depressing the process can be . . . from when I first sent in a resume and through all the various stages (initial phone screen, technical skills test, in person interview, etc) took over a month. During the month, I started getting excited about the company, thinking things were going well, and then it all came to a crashing halt with a simple "We are unable to offer you a position . . . "


Ah well, probably time to start focusing more seriously on finding a job . . .
buzzed, B&W

On job hunting

For those who don't know, I relocated to Portland a few months back. I planned on taking some time off and being selective in my job search. Some lessons learned so far:

  • My resume appears solid - of the four positions I've applied for:

    • Position 1 - medium sized start-up (~100 employees). Didn't make it past the first interview with HR. Whoops.

    • Position 2- never heard back from them. Job posting was good the day after I applied, so I'm guessing they had a candidate in mind.

    • Position 3 - 2nd interview, but no technical skills test. I was surprised I made it that far as my background was not a good fit for the position.

    • Position 4 - currently waiting to hear back after a skills test. Was a crash course into Angular and Protractor

  • Employers really want agile experience
  • - this looks like what sunk me on Position 3. The HR/recruiter mentioned that as a medium size startup, they were transitioning from the small team where everyone wore a lot of hats, to much more specific, focused types. In this case, they were really looking for someone who really had agile experience. Reading between the lines, I'd guess they had a young team that wasn't functioning well and wanted someone to really help guide the team through their sprints and what not. When they asked about my agile experience, I was pretty honest and said something like "Well, the last company I was at claimed to be doing agile, but really it was condensed waterfall . . . "

    Probably need to frame that a little better, something along the lines of a company transitioning from waterfall to agile, working on some teams that were agile, etc, and how working on non-functioning agile teams actually provides me with a solid (albeit theoretical) view of agile

    I'm surprised by how many postings say they want experience with this. Maybe it's my lack of inexperience, but this seems like asking for people who have experience working in an office, working with teams, etc. If you can't get a a team member up to speed on process, something sounds like it's broken?

  • Turn around times are all over the place - Position 1 took 3 weeks to get back, while 3 and 4 responded within days.

In any case, I'm still being selective - looking for small to medium size companies that value testing, and ideally understand the intersection between automation and manual testing . . .