Recently, I misunderstood a request to contribute my thoughts on skills for testers going forward into the 21st century and wrote the following. It wasn’t appropriate for that publication, but I still would like to share it.
Courage isn’t exactly a skill, it’s more of an ability or characteristic, and we need it more than ever. Courage is one of the five Extreme Programming core values. In our book Agile Testing, Janet Gregory and I included “have courage” as one of our 10 principles for agile testers. It takes a lot of emotional courage to work as a tester on a team that is transitioning to agile development or working towards continuous delivery. How can a team possibly feel confident enough in their newly changed code to deploy it to production daily, or multiple times per day?
As the 21st century ticks along, we face more challenges which could easily intimidate the boldest tester/quality professional. Many software applications have grown into complex, distributed systems. We have the technology to spin up test environments in the cloud, but those environments rarely look exactly like production. At the same time, it seems to be more popular for organizations to reduce the number of testers. The Modern Testing principles from Alan Page and Brent Jensen sound good, but they also may sound scary. Who really wants to work themselves out of a job that they like doing?
Working up my courage
Most times I’ve joined a new team as a tester, I found myself in a situation where the organization didn’t understand testing well. They were sometimes a bit hazy on what quality really meant and the investment needed to build quality into the product. I’m a shy person, and I don’t like talking to people I don’t know. As a tester, I work with everyone on my delivery team and many people outside of it. Together we need to figure out what quality we want to deliver, both the internal quality of our code and the perceived external quality we provide to customers.
It’s easier to have courage when you have faith in your skills. Knowing I’m good at collaborating and communicating, at building a test automation strategy, and learning the business domain gave me courage to get traction in a new job. I’d look for the friendliest developer, the most open business stakeholder, or anyone willing to help me learn and experiment. Building those initial relationships gave me a foundation to establish more and get the help I needed.
Getting way out of my comfort zone
I think the most important advice I give to others is to build relationships with people. Not only your teammates, but outside your team. There are many people who can help you and your team, and it pays to make friends with them. I often remind myself to use my own advice.
Recently, I was hired for the job I wanted, for which I don’t really have qualifications. Inspired by Abby Bangser, I’ve been drawn to learning more about observability, However, I hadn’t practiced it within a team It’s a bit like when I first learned about extreme programming 20 years ago – I can see that testers need to get involved, and that testers can add value. I’ve worked on teams who succeeded with continuous delivery and adopted a DevOps culture – even before we had those terms. However, my site reliability engineering (SRE) skills are mostly rudimentary. I grok the concepts, but I need to learn to use the tools. Bagging a position where I’m supposed to help build an observability practice is both super cool and terrifying.
To add to the challenges, I started my new job just as the Covid-19 pandemic escalated and most people around the planet started working from home including my team. As the only full-time remote team member, this was something of a silver lining for me. However, my new colleagues were having to get used to working from home, competing with family members for space and internet bandwidth, and in many cases taking care of their kids. Most people were stressed. Also, despite my having clearly said many times while interviewing that I did not yet have the skills I needed, and I wanted to work together with the team to learn them, people kept saying, “Lisa is the observability expert, she will know all the answers.” Eek!
Every day I remind myself that I need to build relationships. I screw up my courage and reach out to strangers on other teams or even in other departments to learn how observability could help them. Fortunately, the engineers I work with usually join those meetings too. We’re gathering needs of various stakeholders to guide us as we provide for observability needs.
I work on being brave enough to ask for help learning the many things I need to know. Fortunately, my new colleagues are incredibly kind, generous and caring people. The company culture emphasizes helping each other and asking challenging questions, it promotes psychological safety. It’s my own inner critic that causes my self-doubt! I ask for help from my quality team colleagues, the engineers on the two teams in which I’m embedded as the quality coach/consultant, and random people in different parts of the company, such as one of the agile coaches. I take advantage of the Slack “Donut” bot to meet new people and make new friends. I’m trying to schedule regular meetings with individuals helping me learn a wide range of things.
Over the past 20 years, for most of the time, my teams paired for all kinds of development and testing activities. I learn best collaborating real-time with a pair or in a group. I get stuck and frustrated when I try to learn on my own. Asking people at my new job to pair with me requires a lot of courage, because it’s not ingrained in their company culture. Several coworkers have been happy to pair with me for an hour here and there to help me learn something new, and I plan to build on that.
None of this is easy for me, although it is rewarding. In spite of how willing to help everyone is, I still worry that I’ve taken on something that I maybe don’t have the skills to master. Every morning, I remind myself that I can be brave, I can be a badass! I can keep learning and working together with my various teammates. Some days a small failure will set me back, but the next day someone offers to help take on something difficult for me.
I also get help and support from the software community outside of work. Another silver lining of the pandemic is all the online learning opportunities available: conferences, webinars, local meetups which have now welcomed international audiences!
Keep a good perspective
Decades ago, in my first job out of graduate school, I researched ways local governments could provide services more efficiently. I coordinated studies on techniques to pave roads, collect trash, maintain parks, and manage employees while spending less taxpayer money. I frequently had to drive to a small town or a big city and ask managers questions about how they did their work. This was terrifying to my shy self, but my boss understood my fear. Before I started out on each trip, he would say, “Bite ‘em on the leg”. That made me laugh and remember that I was going to talk to humans, not scary monsters, and that I was capable of doing my job.
A lot of our work as testers, involves asking people nosy questions about things that we may or may not know a lot about. We often find ourselves needing to get people from different teams to talk to each other so they can work together and not at cross-purposes. We continually learn new things, whether it’s a test automation framework, a monitoring tool, or a new product feature. This is tiring, so it is ok to come back to your comfort zone whenever you need to rest up and take care of yourself. Seize friendships wherever you can find and build them. Accept help from colleagues and from the community at large. And, as often as possible, get out of your comfort zone to learn and to add more value to your team, your company, your customers.
Looking at the bigger picture outside or day jobs, today’s world crises require so much courage. May you all be well and be brave.