Learning to think in systems: Lessons from my mentor
Reframe your testing from fixing bugs to understanding systems through small, deliberate habits that shape how you think and decide.
When I started out in testing, I thought the job was all about tools and bugs. If you could automate a flow or break a feature, you were doing your job.
Then came the uncomfortable part. I started to learn that testing wasnât only about catching whatâs wrong, but also about understanding why things work the way they do. Working with my mentor, Varun, didnât feel like mentorship in the usual sense. There were no big lessons or checklists to follow. Just little nudges that made me stop, think, and question how I approached problems.
Looking back, what I learned from him wasnât a list of tips or rules. It was a structure. A way to think about problems, systems, and people. A framework that still shapes how I approach product quality.
Hereâs what that looked like over time.
1. Foundation: Thinking before doing
I used to jump straight into âhow.â New task? Open the code editor, do it, run it.
Every time, Varun would ask me a question I couldnât answer initially: âWhat are you solving here?â âWhy are you solving that?â It annoyed me because it slowed me down. But those pauses changed many things.
I started writing just to clarify my thoughts before touching anything. When words didnât work, I drew. For example, I once sketched a quick flow of requests just to understand what was making it slow. Nothing fancy, just boxes and arrows: âthis triggers that,â âuser goes here.â Just to answer those questions.
It gave my testing a context. I stopped checking boxes and started connecting dots. Pausing like this helped me see where my work sat in the wider system, not just the task in front of me.
Takeaway: Donât start with âhow.â First, figure out âwhatâs the actual problem?â It saves hours later.
What this looked like in practice:
- Before you start any task, write or draw it on paper - even a rough sequence like Login â user clicks card â API call â expected result.
- Ask yourself what the impact of the work is on you and the user
Basically, this is to answer would doing this work adds to something in your skill and how that work will be helpful for that user - If you canât map the problem in words, pause. You are not ready to execute yet.
Like this was one I made once you understand how developers work:
2. Structure: Systems over symptoms
We once had a release where the same flow kept breaking: log in, search on a keyword, something weird happens, repeat.
Each developer put in their own fix for it, but the issue kept coming up anyway.Â
Thatâs when I heard from Varun: âFix the reason, not the situation.â
And I realised we werenât fixing the bug. We were fixing its effects. Once we looked at the setup and processes behind it, the âflakyâ bugs disappeared.
Now I donât stop at asking âWhy did this break?â I also ask, âWhat allows it to keep breaking?â That question pushed me to look at the interactions between parts of the system, not just the failure itself.
Takeaway: The real test of learning is how well it continues without you.
What this looked like in practice:
- Map the full flow that the bug touches - the services, data, and dependencies involved.
- Compare what changed versus what didnât change. Recurring issues often hide in the parts no one revisits.Â
- Identify the condition that makes the bug possible - the config, data shape, environment drift, or unclear assumption.
You would end up finding the real problem.
3. Sharing: Reiteration and growth
For a good while, I used to fix things quietly, without much comment to others, and then move on. Then Varun suggested: âShare your learnings to learn more.â
Sharing was a wild idea for me. I used to avoid it at any cost. But when I started sharing, people added their perspectives, and I learnt faster. This let me know that sharing isnât simply about documentation, itâs how you multiply understanding.Â
Many of my better testing habits came from what others shared in return. And if that shift hadnât happened, you wouldnât be reading this. Talking openly about what I was learning helped me and the team better understand the system, because everyone brought different pieces of information.
Takeaway: Writing what you learn helps the team learn faster. Knowledge stuck in your head doesnât scale.
What this looked like in practice:
- Share a quick TIL(Till I Learn - a one line summary) in your team chat - a one-line summary of something you figured out.
- Turn repeated explanations into a simple note that others can refer to later - write it once as an email or a small doc and share it with the team.
4. Refinement: Ownership and judgment
Once, a bug in code I had thought I tested thoroughly slipped into production. I had done my checks, but it still made it through.
I was ready to defend myself. âI tested it properly.â Instead, the question Varun asked was: âHow do we make sure this doesnât happen again?â
That question, answered repeatedly, changed how I viewed ownership. Itâs not about defending what you did. Itâs about improving how the system works.
Takeaway: If itâs your area, own it fully, even when it fails. Thatâs how better judgment forms.
What this looked like in practice:
- When something goes wrong, find what got missed from your end and what needs to be changed to improve it.
- Review your test flow whenever you miss a bug.
- Proactively flag bugs before someone asks.Â
- Treat every missed bug as data and not an accusation.
For example, a bug once slipped because I assumed users would always follow one path through the flow. Replaying my steps showed that Iâd never tested the alternate entry point. When Varun asked, âHow do we make sure this doesnât happen again?â, it turned that small assumption into a shift in how I review flows and plan tests.
5. Continuity: Letting go and growing others
At some point, the focus shifted from learning to helping others figure things out. I stopped being the ânew tester.â As new people joined the team, I found myself explaining and forwarding the ideas I had picked up from Varun.
I noticed that what worked for me wasnât always obvious to others, especially the small habits like drawing flows or writing down discussions, or celebrating small wins. Sharing those made a bigger difference than explaining âhow to test.â It helped people think about how things connected in the system, not just follow a list of test steps.
Working with Varun helped me understand how to work with people who challenge you instead of agreeing with you without reflection.
Takeaway: âYou choose people you want to work with.â Thatâs one thing he said that stayed with me.
What this looked like in practice:
-
Share your reasoning with impact and not just conclusions.
For example, instead of saying âDo it this wayâ walk through why you chose that approach or what risk you were addressing. -
Celebrate small wins. They matter more than big milestones early on. (This was one of the hardest habits for me to build.)
This could be someone asking a good question, noticing a pattern or improving a test flow.Â
To wrap up
I still pause before jumping into âhow.â
I still reframe issues as signals from the system.
There was no manual for it. Just constant, quiet pushes in a certain direction. Thatâs the thing about mentorship to me. It doesnât hand you answers, it rewires how you think.
It took me time to understand that. It started by asking my mentor for answers (and getting annoyed when I didnât get them). And I ended up learning how to find those answers myself.
What do YOU think?
Mentorship affects how we think long before we realise it. Got comments or thoughts? Share them in the comments box below. If you like, use the ideas below as starting points for reflection and discussion.
Questions to explore
- What habit or mindset did you pick up from someone quietly guiding you?
- When something breaks, do you fix the issue or the system around it?
- What repeated issue in your team might point to a system-level cause?
Try out
- Before starting anything this week, write one line: âWhat am I actually solving?â
- Draw one flow for a feature you work on, even if itâs messy.
- Share one learning with your team. Just one.
For more information
- When Your Mentor Moves On:Â Dealing with A Change In Ideal Leadership, Brian J. Noggle
- Do software testing professionals understand what is meant by systems thinking?, Mike Harris, Rosie Sherry, Rahul Parwal, Anders Wallin, Rachel Kibler, Peter Whitfield, Jane D'Cruze
- Learning To Learn - My Struggles And Successes!, Danny Dainton
Exploring the distance between how we plan and what we build