My best mistake

tabofa
CodeX
Published in
7 min readJun 19, 2022
Photo by Matt Duncan on Unsplash

I started my career in IT after I had grown bored with my day job. I was working at a daycare for people with autism and cognitive disadvantages. The purpose of the job was to help these people in their daily life, cook food, wash dishes, and clean, a good occupation, for sure. But not one that I wanted to make my career. The opportunities for personal growth were too limited. The only way forward was university studies or aiming for some kind of manager role. None of these sounded very appealing to me at that moment. I started to grow bored with the work, sure I liked the people I worked with. Patients as well as colleagues. The problem was the lack of personal growth.

A friend of mine saw that I was upset and struggling with my job. He noticed before I did that the job wasn’t fulfilling and tried to hint at his findings on several occasions. But I wasn’t susceptible. He had to spell it out for me. Today I can clearly understand what he saw.

He suggested I’d look around for different jobs, but I didn’t have any education. My experience was working with people with certain disabilities. And I didn’t want to do that. I didn’t give myself what I needed. Other than a salary to pay off my apartment, and buy beer of course.

A couple of years later, the same friend, much to my dismay, still talked about how I should change jobs or careers. I was getting quite fed up with it, to be honest. One day he came to me with a concrete proposal “My friend is responsible for a vocational studies program. They educate people to become a software tester.” I thought; ‘what the heck, if it will get you off of my back. Sure!’

Said and done, I signed up for the class and got accepted. I got my finance in order and secured a student loan.

The tempo in the class wasn’t particularly fast. In hindsight, I think that was a good thing because I didn’t understand jack-shit. I was lost in this new world, they spoke about teams, agile, waterfall, sprints, and management. I didn’t understand how that had anything to do with testing. To be honest, I didn’t understand what a tester was supposed to do. I did the best I could to follow along and it paid off. I graduated with the highest grade in every subject, something I’m still proud of to this day. For a vocational program that’s maybe not a feat, but to me, a guy with average, at best, performance in school. The top grades were awesome!

In the program, a third of the time was dedicated to practical work. I applied for an internship at a consultancy firm I’ve heard about. They specialized in QA and had, what seemed to me then, a really good internship program. It turns out it was essentially a way of keeping us busy while they were looking for assignments for us. We got to do a lot of meaningless tasks, that didn’t bring value to the company, but in some instances, they brought value to me. One of the assignments I remember to this day was how to make an object list of a web shop, something I don’t want to repeat. I know how to do it, I know what to do. Or at least what mistakes we made then. I will probably learn new ways not to create one if I try it again…

The work I put in paid off, yet again. I got hired by the consultancy firm and was handed my first gig. I was to help a college with assignments, he was working part-time and was lagging. I was sent to an interview, it felt more like a cross-examination than an interview. Things to do and not to do. I guess that was their way to accept new, inexperienced people into their midst.

One of the reasons my college worked part-time was because he had been burned out, and was slowly but surely recovering, he’s fine today if you wonder. He had problems handling his Test Lead, let’s call her Anna.

Anna was a person who could be very intense and didn’t notice when she hurt people. This is not something she did on purpose but by accident. If you’ve read the book “Surrounded by idiots” or are familiar with DISC profiles, she would be put in the far-most red corner. A person that is very driven and wants things to happen before she asks for it, quick answers, no BS.

My colleagues on the other hand were blue/green. He was meticulous and took his time. It was important for him that people were feeling good, and he very much disliked change. You can see how these two people could clash.

What I didn’t know then was that the goal here was to replace him and instead have me in this position. I thought I was going to work with this man and become his ‘padawan’. Boy was I naïve.

After a couple of months, or perhaps even shorter, he jumped ships and started another assignment on a different company, still with the same consultancy firm though. So I had been left with this tricky person and a whole team to manage the sprint testing work. How fun! I loved it! Finally, I got to make my own decisions. I had a blast. I took over the UI-testing framework he had been working on. After dissecting it I realized there was a better way of doing it. The intended way. It was built around Page objects but had been handled like sequential code, with a lot of repetition, not using the Page Objects, just test code in one long test file. No wonder, he like I hadn’t thought about Page Objects. So I had to learn as I went along the code and refactored it.

Time passed and I started to feel pride in my ability to find bugs, and write reports that the developers could understand easily and fix. I continued on the framework and developed more tests, which in turn gave me more time to focus on programming since I had the regression handled and I only had to test new functionality. A very positive spiral.

In this team, we ran scrum with 2 weeks sprints. We had code and function freezes. We did mob-testing sessions after the function freeze. The whole team sat down and we spread configurations in between the teammates. iPhones with safari, androids with chrome, PC with Chrome, etc. Things were going along just awesomely. My confidence in my abilities kept rising, and I started keeping count on how many consecutive sprints I could “find all the bugs” so that my team went from the test sessions without finding anything. I managed quite well.

It went so far that I neglected my testing, spending less and less time on manual exploratory testing. I mean I had it under control, right? And then it hit me, like a bowling ball to the face. We had a test session for the next releases, and my team found 17 defects in the system. I was devastated. My bubble had been burst. Naturally, I felt like crap, almost throwing in the towel. I took it personally and extremely hard.

Anna probably saw it on me and after the session, she took me aside. I just remember being sad, nub, and weirdly; blank. What she did for me was amazing, it saved me there and then. She did what any good leader would have done. She told me

“We are a team, and this is why we have these sessions. You’re not responsible for the quality. We all are. So when one of us has a bad day, the rest of us help out. Picking up the pieces.”

Since then, whenever I get the feeling “You’ve got this”, my mind goes back to that incident and kicks the shit out of me. “No you don’t”, it says, “you better check that again”, and I do. I don’t ever want to feel like that again.

I’ve matured a lot since that day, and I do a different kind of work today. But that moment will forever be with me. I have saved myself again and again. And if I would miss something major despite having double and triple-checked, I wouldn’t take it as hard, since I did what I could and didn’t slack off.

So what are my takeaways from this?

Well for me, don’t do something you don’t enjoy. For me, the day has too few hours. Doing something I enjoy to earn money is important. This is something I realized after finding my niche. It sounds logical now in retrospect, but at the time I worked my other job, it did fill a purpose. It allowed me to buy my apartment. Something huge at the time.

You don’t have all the knowledge, especially when you start. No one expects you to. Often it’s enough that you try and show that you’re willing to learn (and do learn) for most people to think you’re okay, and want to help you get further. You are often part of a team, and you deliver software as a team. Hence quality is a team effort. You are not alone.

For me, when something is easy, alarm bells go off and I double and triple-check things before I’m satisfied. As I am part of a team, I tend to voice my concerns; “Have I missed something?”, “This is what I’m thinking”, “What do you think?” etc.

It’s in the interest of the team to help me out, as I said; we deliver qualitative software, and I’m not expected to know everything. I am expected to ask for help when I feel I need it.

--

--