A story about Marvolo, a Senior Software Architect in an enterprise company, that was ‘too good’ to take part in QA sessions.
[Unfortunately, this ‘practice’ happens in many companies around the world way too often. I will dare to express my opinion about this in the end.]
Once upon a time, in a large enterprise company far far away, there was a Senior Software Architect. The architect’s name was Marvolo.
Marvolo used to wear t-shirts with star wars quotes on them. He was 100% sure that those shirts displayed his uniqueness and great sense of humour.
Marvolo was a great software architect. He had all the industry’s standard qualifications, which he made sure to update every X years, just like the companies that created those certifications required (respect to them for the business plan btw).
After months of very hard work, a huge project update was finally due to see daylight. It was that time of the year — a release was coming.
The whole population of the kingdom gathered for the big event. Champagne was chilled in the fridges, cupcakes were ordered, and the excitement could be felt in the air.
The countdown from 10 began. It was 10 seconds to release. 10 seconds until all the villagers would be able to experience the huge update that the enterprise worked on for so long.
10… 9… 8… 7… 6… 5… 4… 3… 2…
Marvolo’s excitement was unbearable. He knew he has done a good job. A great job, even!
Multiple bottles of champagne were opened across the hall.
It is over.
Or is it?
Suddenly, the enterprise’s Head of CS ran into the hall. “Crashes! Crashes!” he shouted. “All villagers can’t perform a single darn thing!”
‘Chaos’ would be a weak word to describe what was happening in the hall at that moment. People were crying, shouting and praying.
‘Apocalypse is here! God is punishing us all!! Save yourselves!’ — the PM was shouting, while holding the book ‘Best practices of AGILE releases’.
Marvolo knew that he fucked up bad.
A few hours later, a hotfix was ready. CI build was green, unit tests were passed, a container was created, a K8s deployment was written, a pod labelled ‘qa-hotfix-urgent’ was up.
Marvolo hated the QA. ‘Blood suckers’, he thought. And just as that thought passed through his head, the QA manager entered the room.
‘Disgrace!’ — Marvolo shouted. ‘How dare you enter my realm??’
‘We need more hands! Come and help us test! The update was too big!’ — answered the QA manager, ignoring Marvolo’s comment.
Marvolo was furious. How dares he?? Asking Marvolo! A senior architect! To get his hands dirty in that filthy QA job! (At least that’s how Marvolo treated it)
‘I am a Royal! I will NOT take part in your gypsy practices! That is not what I am paid for, so go and perform this dark sorcery yourself!’ shouted Marvolo, while pointing in anger towards the door.
A few days later, after the chaos was over and all villagers were happy again, Marvolo was called to the town’s hall by the right hand of the king. His name was SeeTee-Oh.
SeeTee-Oh was usually a ‘fun’ type of person — always smiling and joking inappropriately. But not today. Not on this occasion. The king blamed SeeTee-Oh for everything that happened.
‘We are all here for one cause.’ — said the SeeTee-Oh, in a very quiet but frightening tone, as Marvolo entered the hall.
‘ONE CAUSE ONLY!!’ SeeTee-oh shouted, throwing his glass of water towards the wall. ‘We must make our villagers happy, TOGETHER! Even I — the right hand of the king — was taking part in everything the QA asked me to! Why weren’t you??’
‘But, but… I am royal.. I shouldn’t be… I am a professional.. It is not in my contract!’ — stuttered Marvolo.
‘Contract? Your contract requires you to make sure the villagers are happy by working hard! It does not limit you to sitting in your office, drawing some sketches beforehand and then drinking wine and chilling while everything is burning!’
‘But they are QA… Why would I help them? It is not my job!’ said Marvolo.
‘You do not have a job anymore.’ quietly said the SeeTee-Oh. ‘You betrayed us. You betrayed our people by standing aside! You are no longer welcome in our kingdom, and I will make sure that everyone in the realm knows — Marvolo is a worthless, irresponsible prick!’
The end. For Marvolo, and of the story.
[What’s the point?]
I have encountered on many occasions that people treat QA teams as lower-class, not important members of the company. Especially among senior engineers and architects.
Those engineers usually live in a conflict without even noticing it: on one hand, they underestimate the importance of QA in a company. On the other hand — they tend to ‘throw’ their code right at the QA teams, without even checking the correctness of their software by themselves. “It passed UnitTests, so it must be ready” — they usually think to themselves.
And when they are required to take responsibility for production issues — they usually blame the QA team for missing the bugs, but do not take any actions to try and help the QA team to find those bugs beforehand.
My point isn’t that everyone in the company should always do QA. My point is that people need to understand that they are all working for the same cause. To make a great product, to deliver it to the masses, to keep the customers happy. This might also mean ‘bending’ your title when required, for the greater good. Doing things that your contract doesn’t require you to. Going the extra mile.
Differentiating yourself from the team only because of your title — will bring you nowhere. Limiting your actions to be based only on what your title implies — will end your career pretty fast. You will be the one to blame if you think you are ‘too qualified’ to take part in QA sessions before releasing anything to production.
So instead of being proud just of your title — be responsible. ‘Breathe’ the product. Imagine it is your own app, your own service, your own API. If you were owning it — would you allow yourself to release it as-is, without manually testing it and taking every precaution? I doubt it. I hope you doubt it as well. And if you are not — it is time to start doubting yourself.