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.

Evernote

I just got back from a business trip, and I may be slightly addicted to Evernote. Since the client we were visiting issues iPads to new employees, it made sense to take a work iPad with me instead of a bulky, heavy laptop plus power brick, and I’ve been using Evernote to work on some shared work documents.

What makes the iPad indispensable, and turns it from a nice toy into a usable tablet is the Logitech keyboard. While the Samsung Tab Pro 10.1 tablet with Polaris Office has all the functionality of the iPad and then some, the fantastic Logitech keyboard doesn’t yet exist. Logitech says in May the ultra-thin keyboard folio case will arrive, but only for the Tab, not the Tab Pro. The Tab Pro 12.2in size can be bundled with a keyboard case, but is that too big? I’m not sure.

In every meeting, people pulled out an iPad with keyboard and started tapping away. I’d love to do the same with an Android tablet, but sadly I can’t yet.

Words to a new software QA

We’re not after the developers. We’re after their code. It’s not personal.

If they didn’t want us to find the bug, they shouldn’t have written it in the first place.

QA starts with the requirements, if those are vague, the result will not be what the customer wants.

Not finding a bug does not prove there are no bugs. It proves you didn’t find one right there, at that particular planetary alignment with that precise set of system and environment and time of day and test data.

There is always a bug somewhere.

Learn how to program in the language your developers use. Also learn SQL (Structured Query Language), HTML, CSS, and any other acronyms you hear often.

Your developers are an amazing resource and are usually very helpful when presented with a "Can you please help me…" request.

Keep learning. There is always a new language, or tool, or technique, or platform, or environment, or program.

Get up and walk around often. Drinking large amounts of water will help this. Give your eyes a rest from the screen and go talk to your team.