With software engineering still dominated by men, it is not uncommon for women to find themselves alone on a team of men. Those who are test-focused can find themselves in the awkward position of not only being the sole woman in the ship room, but with the tough job of telling her peers they are not ready to go to production. Melissa Benua has spent many years as the lone female voice speaking up for code quality at companies both big and small. Learn from her experiences on how to be heard and taken seriously, with tips on how to be “the woman” without making the job about being female, how to avoid common traps in team situations, and how to improve your team’s attitude toward test. Melissa walks through how to use an organized, data-driven approach to remove the 'intimidation factor' from the process of advocating for code quality in a team-based setting.
1. WHEN YOU'RE THE LONE
(FEMALE) VOICE OF
REASON
Melissa Benua
Senior Backend Engineer
PlayFab, Inc.
STARWEST 2015 – Women Who Test
2. What’s the big deal?
• Women are a minority in tech (duh)
• Less than 15% of CS bachelor degrees are awarded to women
• Around 20% of US SW developers are women
• Senior women are an even smaller minority
• Many teams have 0-1 total women
• Coincidentally many ship meetings also
have 0-1 women in the room
• Being the ‘other’ is hard!
1
3. So what’s the secret?
• Data, data, data!
• No magic bullet
• No one-size-fits-all answer
• YMMV
• My three-step process:
1. Always have data
2. Be wrong a lot
3. Pick a team that lets you be wrong a lot
2
4. Who am I?
One time, I took down Bing for half an hour.
• Real-Time Simulations Engineer – Boeing
Integrated Defense Systems
• Software Developer in Test – Microsoft Live Search
• Software Developer (combined role) – Microsoft
Bing
• Senior Backend Engineer - PlayFab
3
6. Engineers love data!
• Data is the lifeblood of engineering
• Metrics are the trend-line of data
• Good teams use them to make product
decisions; great teams use them to make
ALL decisions:
• Hiring
• Promotions
• Work Assignments
• Product Planning
• Ship / No-Ship Calls
7. Arm yourself!
• Always be prepared to defend your decisions
• Assume (and hope) you will be challenged
• Use repeatable processes to collect your data
• Bookmark your sources
• Lead with your information first
• Err on the side of more (concise) data as opposed to less
6
‘These five tests are failing, and
ReportX indicates that the feature
area they cover is critical to 80% of
our users. Thus, shipping would
break a majority of users.’
‘Shipping would break a majority of
users.’
VS
8. Trust your data!
• Know what you’re talking about
• Don’t be afraid to ask
• Be precise
• Let your information speak for itself:
• Don’t play the blame game; data is data, regardless of
who caused what
• Don’t make it personal
• Be inclusive: ‘we’ instead of ‘you’ or ‘I’
• Don’t blindly defer because someone is ‘more senior’
or ‘the expert’
7
10. Be okay being wrong!
• Developers are wrong ALL the time
• Every compilation error and every test case failure is being wrong
• Every good design comes from fifty bad designs
• On a good coding day, I’m wrong at least fifty times
• Be comfortable in your wrong-ness
• Be comfortable in your teammates’
wrong-ness
• Don’t confuse being wrong with
being bad
9
11. Find your buddy!
• A colleague
• Not a mentor
• Not a manager
• Someone whom:
• You trust not to hold being wrong against you
• You can talk with candidly
• Can gut-check your solutions
• Respects you and whom you can respect
• Reminds you that you are good at your job!
10
12. Learn from being wrong!
• Review your mistakes regularly
• Be honest with yourself
• Not everyone is good at everything
• Find the experts and study them (their
mistakes)
• Write everything down
• Don’t get stuck on big mistakes
11
Fool me once, shame on you; fool me twice, shame on me!
14. Characteristics of a good team!
• Clear goals and metrics that are
attainable
• Positive, respectful team members
• Even joking negativity is still toxic
• Sociability is of lesser importance
• Other women! Especially in senior
roles
• Supportive management chain (not just
your immediate boss)
13
15. How to find one?
In order of preference:
• Recommendations from trusted colleagues
• ‘Social Network’ of peers
• Cold-calls and recruiters are my least-favorite
Interviews are KEY:
• You are interviewing them as much as they are interviewing you
• Do they have all the healthy characteristics?
• Can you meet your would-be team members as well as your boss?
• Do they use inclusive language? You should!
14
16. When to make your exit!
• Switching jobs is an art!
• Risky to trade a ‘known thing’ for the
mysterious future
• Signs it’s time to leave:
• Stalled talk about your future
• Being passed up for promotions
• Being consistently assigned ‘the dregs’
• High-level re-org into a known-problem
group
• ‘Gut feeling’
15