St. Louis Techies Project

The St. Louis Techies Project aims to highlight people in tech in the St. Louis area. This year, for International Women's Day, the global Women Techmakers group has the theme of "telling our story." We want to tell your story!

This is my story, also available on the St Louis Techies website

How many years have you been in tech?
Since 2005, so 12 years now.

Tell me about your background. What were your early years like?
I was the science and maths nerd at school, did a physics degree because I loved the subject, and got into coding there via Fortran77 and then Visual Basic 4 and 5. My husband and I are British, we immigrated to the US in 1998 and got US citizenship in 2009.

How were you exposed to tech?
I had a Commodore VIC-20 as a small child and spent many happy hours typing stuff in, watching it run, and playing games. At University studying physics, we got access to Unix machines and Windows boxes. I married a programmer and taught myself Java so we could converse at dinner, then HTML, CSS, and other useful acronyms. After years of listening to him tell me about working with bad QAs, I got a job in that field so I could do better, and because it sounded fun.

What is your current role?
Director of Quality Advocacy for Asynchrony Labs. I serve nearly fifty quality advocates in two states, spread across three cities.

What is your proudest accomplishment?
Introducing the idea of a QA apprenticeship to the company. I took a candidate with no development background and trained him to be a QA automation engineer on one of our larger teams. After less than three years as a QA, his work is outstanding and contributes to a high-performing team responsible for multiple applications. We are currently training apprentices seven, eight, and nine.

"She was warned. She was given an explanation. Nevertheless, she persisted." Tell us about a time that this applied to you.
When I arrived at Asynchrony in 2013, I was one of nine QAs for about two hundred developers. Many teams did not have a QA person, and the QAs worked in isolation. I wanted to change that, despite being told that "Test-driven development means we don't need a QA."

I implemented automated tests on my team, learned C# from my team lead. I started a weekly QA stand-up to connect the QA team, asked for and got a free month of Codeschool.com for QA people to continue learning, and drove hard to be the best QA automation engineer my team had ever seen.

Now the QAs are a team of nearly fifty for four hundred developers. Teams request a QA on startup, the QA team meets every other week to share knowledge, and we are continually training each other, pairing with QAs and developers, and having fun.

What are you learning right now?
The Elixir language. Current goal is to write myself a web server that will return a correctly formed HTCPCP 418 error, see https://tools.ietf.org/html/rfc2324 for details of the spec I'm working from.

Describe a time where you solved a problem in a creative way. For example, did something in your personal life trigger a solution to a problem at work?
I was trying to coordinate QA activities while being a full time QA on my team, and we hadn't been able to hire a replacement for me. I asked for and got permission to hire an apprentice, thinking of my father's experience when he was apprenticed to a local carpenter as a teen. His apprenticeship changed the course of his life, I wanted to give someone else that chance. It was a risk, my apprentice took a huge leap of faith and we muddled through a three month boot-camp until he was ready to start flying solo. I've continued to meet with him to advise and encourage and hear his successes and experiments, I'm so proud of what he has become.

What was the last fear that you faced? How did you feel after you conquered it?
Speaking in front of groups of strangers has always been terrifying for me. My mentor challenged me to visit the CoderGirl meetup and talk about software QA. I prepared a speech, got myself a green laser pointer and did it. I felt horribly nervous but people liked the talk. I have taken on part of the new hire orientation presentations at work, so I speak in front of a group every month and over time it has become easier. It's still scary though.

What advice do you wish someone had given to you? What advice would you give to others starting out?
Don't let anyone tell you that you can't do this, that something is 'too technical' for you to understand, that your role and discipline is a second class citizen. March forth and be awesome!

What are your hobbies?
I'm a 1st degree black belt in Chinese Kenpo, which took over eight years of training. I knit, I spin yarn from fleece, and I write a novel every year with National Novel Writing Month.

What do you like about St. Louis? The midwest? Why do you live here?
The people here are friendly, the weather is constantly changing and the summers are glorious. The town is big enough to get band concerts but not so large it feels like a New York or London. I have history here, my favourite bread shop and coffee place knows my name and my order, and I feel like I belong here.

Who inspires you?
The people in my life who struggle with mental illness and refuse to give up against often overwhelming difficulties. Walking forwards against a depression hurricane is a struggle I share with them.

What tags would you use to describe yourself?
Android, C#, cat-herder, English, immigrant, Java, kenpo student, knitter, leader, lifelong student, manager, muppet-wrangler, QA, QA engineer, tester, wife.

Agile Transformation

My employer lets take one day a year as a "Day of Caring" to be used at a non-profit organization of our choosing. I did mine with an associate pastor of Life Community Church in Columbia IL. I've spent two and a half years immersed in Agile software projects, and the way we manage teams is different to anywhere else I've worked. We spent the day doing an Agile Transformation bootcamp on these subjects:

  • Incremental improvement
  • Experiments and the scientific method
  • Big visible metrics
  • Kanban and acceptance criteria
  • Brainstorming and dot voting
  • Time-boxing
  • Meeting agendas
  • Stand-up status meetings
  • Retrospectives and feedback
  • Office layout

The goal was to improve visibility into who is doing what, put in some lightweight structure around projects, and make sure important stuff got done. We did a brainstorming exercise, a demo of Kanban using Trello, some ways to make meetings short and useful, and a lot of time management and project management lessons.

My plan is to return around February and continue the Agile transformation. It's cool to see the tools and methods I've been taking for granted applied in a completely different setting, but still be amazingly useful.

Goodbye FitBit, Hello Garmin

I've had a FitBit tracker on my wrist for about two years, first the Flex, then the Charge, which was a Christmas gift from Husband last Christmas. Less than seven months ago I had a brand new Charge, what I currently have is a Charge where the adhesive has failed and the tracker is pulling away from the band. FitBit customer service is sending a new one, after I sent them a picture of the damage.

The FitBit Flex was bought for me by my employer. The band broke twice, with the plastic pulling away from the clear window, FitBit replaced the first band, the other got replaced when the Flex stopped charging and they sent me a whole new Flex. Kudos to their customer service for putting things right, but the build quality of their products just isn't good enough for me. Every FitBit product I've used has broken in less than a year of use.

Enter the Garmin vivofit 2. Battery powered, so no charging, and the batteries should last a year. Waterproof to more depth that I'd get to, so I don't have to take it off to shower. Tough clasp that locks in place. I've lost the tracking on floors climbed, but that wasn't important to me, and I never knew if I'd log 9 or 11 floors on the way in to work. I still have step tracking and sleep tracking, the two features that were most important to me.

Now I have an always-on digital watch, and it's pretty nifty. Weighing in at 25g, it weighs a whole gram less than the Charge did. I gained the Move Bar, a red line that comes on when I've spent too long sitting. It's fun to get up and walk until it goes away. So long, FitBit, and thanks for all the fish.

What NOT to say to your QA

It's a feature, not a bug.
But why would you even do that?
QAs are just failed developers.
My code is perfect, I don't write bugs.
You're not supposed to do that in the app.
It's a design error, not a bug.
I'm not fixing that.
Why are you worried about that? No one ever does THAT...
QAs aren't technical, they don't need to attend to that meeting.
You're testing it wrong.
This doesn't concern QA.
Get me on %MANAGER%'s calendar for tomorrow afternoon.
It works on MY machine, so it's fine.
Load testing is for developers to do, not QAs.
We turned off all the tests.
The user will never be able to do that, so it's an invalid test.
It'll be fine in production.
You're using invalid data, that's why you think it's a bug.
This way is better.
You need to take notes in the meeting for everyone.
QA can do that admin task, they're not doing anything worthwhile.
Where are the batteries kept?
Can you hurry up? We have a deadline.
I thought you were a nice person.
So when will you be DONE?

(Some mine, others collected from Asynchrony QAs Slack channel.)

First speaking event complete

Last night I spoke at LaunchCoderGirl, an all-women group learning how to code. I spoke about what QA does in an Agile software development environment. People laughed at most of the places I wanted them to laugh, and when I was done there were several questions, then people wanted to talk to me.

This was my first ever public speaking gig. I almost ran out of business cards, and I have no idea how long I talked. My slides had a Dilbert cartoon, an xkcd cartoon, and the D&D alignment chart, plus some screenshots and links to QA resources.

Public speaking has always terrified me. I've taken baby steps with helping to facilitate our Agile QA class, and speaking at the new hire orientation session twice. Last night was not terrifying, and it was fun. And I used the green laser pointer I've wanted to get for years.

Edited to add:
I put my slides and transcript on Slide Share. I'm told I talked for about half an hour.

2014 round up

My 2014 resolutions were:

  1. I will not stab anyone in 2014 (just one more year...)
  2. Get my second degree brown belt and make a run at 1st degree.
  3. Finish book #2 and write book #3 for NaNoWriMo

I have not stabbed anyone this year, fulfilling my annual resolution. Punching anyone at the karate studio doesn't count because we use control and we spar a lot.

Got my 2nd degree brown belt in June with a new instructor, and I'm in reviews for my 1st degree brown belt. The belt test after that is 1st degree black belt, when I can officially call myself a Shodan.

I wrote book #3 of my multiverse four-part series of novels (there's a part #0 prequel), and wrote the ending scenes. The back end of book #2 remains undone, but writing book #3 gave me an idea how to deal with the monster.

By year end, I will have gifted 18 knitted things. I have worked on 25 projects this year, and finished almost all of them (2 cardigans outstanding right now but one is almost there, a pair of socks in progress).

I was promoted to Director of Quality Advocacy at work, and I have business cards to prove it. I'm running a team of 20 bad-ass diabolically creative software tamperers. I taught a 2-day workshop class solo on Agile software QA, and did a solo Lunch and Learn on Object Oriented Programming basics. Both are scary things off my 2015 work goals list. There's another Lunch and Learn planned for January 7th, probably more Agile QA classes too.

We went to the NaNoWriMo Night of Writing Dangerously for the first time, travelling to San Francisco in November.It was great to meet people in person we've only emailed, and see my writerly tribe on their annual celebration.

It's been a pretty good year.

Candidates, things your interviewers want you to know

(This is close to my heart because I’ve done a bunch of interviews lately, some good, some not so good.)

If a skill or qualification is on your resume, I will ask you about it, especially if it's one I also have. Claim to know C# and I’ll ask you C# questions. Claim to know Java and I have a set of Java questions ready to roll. If you say you’re an ISTQB certified tester but don’t know their core testing principles from the syllabus, that’s a problem.

Never lie to me. If you didn’t do your pre-interview essay questions yourself, it will be obvious when I talk to you. I’d rather you said "I don’t know how to do that, but here’s how I might try." Even if you're on the wrong track, a valiant attempt is far better than a copied answer.

Never ever give me someone else’s answers. Seriously. I can’t believe I have to say this. Things you found on the internet, copied in wholesale, and tried to pass off as your own leave a bad taste in my mouth.

Have some questions to ask me. Because your questions to me are also part of how I assess you. If you ask about the vacation policy, required working hours, and working from home in the interview, those questions worry me.

Don't have sections copied and pasted from elsewhere on your resume. Why bother telling me the same stuff twice or four times? Don't waste space and don't waste my time.

It’s a conversation, not an interrogation. Brainstorm with me, think out loud, if I draw on the whiteboard and hand you a marker, use it. Bad art skills are never a disqualifier for software quality jobs.

Have examples to common questions ready, because I’ll ask you for specifics.

Smile. Even if you’re nervous, fake it if you have to.

Don’t bad-mouth your past or current employers. Even if they’re horrible, find a way to say it that doesn’t involve saying awful things about them. We already know there’s some reason you want to work elsewhere.

You’re interviewing us too, and this job may not be a good fit for you. Better to find that out now than take the job and hate it.

Have a reason for why this job at this company. If you don't want to be here, I find it odd that you'd go to the trouble of interviewing.

If it's a phone interview, make sure you answer the phone when I call. If the line is engaged or I end up in voicemail, that doesn't start the interview off well.

Getting both in to and out of the building are also important. I had one candidate call HR to say the building was locked and she couldn't get in. It wasn't locked. Same candidate also walked straight past the elevators and into the kitchen when I said goodbye, and just stood there looking confused for a bit. If you can't figure out building navigation when you're nervous, not a good sign.

Your software project might have a QA if…

Some of these are mine, some I lifted from the company Slack channel for Quality Advocacy.

  • You're used to finding Cyrillic or Greek or Mandarin in the database
  • There's code in place to stop you copying War and Peace into the app multiple times
  • You know how the system reacts with 10 users, or 50, or 500, or 5000
  • Your developers know what happened in Europe between 4th and 15th October 1582
  • You have client-side and server-side data validation
  • This conversation: "But why would you even do that?" "Because there was nothing to stop me."
  • You know when Daylight Savings Time starts in Australia
  • Names and addresses make you nervous
  • Your app looks stunning with the colors reversed
  • You know how to close your h3 tags
  • You fear what will happen to everything run by computers in January of 2038
  • Your app survives a genuine DDoS attack in production and everyone shrugs because "she's done worse to us in dev."

Sh*t my QA says

There is a bug, I just haven't found it yet.

Well, it's broken on my machine!

In the Danish version of Windows, if you click really fast, the app just crashes.

It doesn't work when I put Cyrillic text in. Or Greek, Hebrew, or Mandarin.

One copy of "War and Peace" in the description field was OK, but the second crashed it.

What if you rotate the screen/turn on airplane mode/get a text/drop the phone into the toilet from ten feet up?

The app doesn't handle itself well if you delete its database after you log in.

Ooh, I haven't seen it do that before! Wonder if it'll do it again?

Can't stop, I saw a bug and I'm trying to find it again.

(From a QA friend) There you are, you little sh*t! I have you now!

I’m worth more than that

I've been in software quality assurance since 2005, and working as a quality engineer for the last year, which is an unusual skill set. For my current position I need to be able to program at a decent level in C# and Java, know HTML, CSS, SQL, git for software versioning, JavaScript and browser dev tools for debugging, and a host of other skills. I get paid well for this and I'm good at what I do.

By contrast, I've been knitting for upwards of thirty years. I'm experienced in all yarn weights from bulky to laceweight, cabling and lace knitting are favourite techniques, and I have a specialisation in knitting socks that actually fit people. I can also spin yarn, giving me a greater understanding of my materials to the extent I can identify some breeds of sheep by the feel of their fibre alone (Jacob, Wensleydale, and Gotland in particular). I've travelled to gatherings of fiber enthusiasts both in state and as far away as Maryland, and I can identify the most likely yarn shop to have what I need in minutes. I produce upwards of twenty finished projects a year.

So when someone says "Can you knit that for me?" or worse, "can you knit two of those by Christmas," I want to reply like this:

Sure, I can knit that for you. My hourly rate is $60/hr and that's a minimum of 40 hours work, so it'll be $2,400 for the labour, plus materials cost, plus an annoyance tax for you thinking my time is worth pennies per hour. Since it's your first time, I'll discount that to a mere $4,000 instead of the regular $8,000.

I'll expect that $6,400 before I get started, and I'll bill you later for the materials. Cash only. Have a nice day.

As a software quality engineer, people value what I do and I get paid accordingly. As a knitter, people greatly value what I do yet assume my work is worth a pittance way below minimum wage for the hours I spent. This is not going to fly with me.