Recorded Test Steps

In my blog How To Make Your Team Hate You #3, I wrote about Barbara, a Tester who I used to work with that caused a lot of conflict and was constantly trying to get out of doing work, whilst taking credit for other people’s work.

Recently, when going through old chat logs, I found some brilliant “dirt”, which, in hindsight; I could have probably used to get her sacked because it was fairly strong evidence that – not only was she not doing work; she was falsely passing Test Cases. When you are paid to check if the software is behaving correctly, claiming you have tested it is very negligent.

When running test cases, if you pass each step separately, and haven’t disabled the recording feature, Microsoft Test Manager would record your clicks and add it as evidence to the test run.

I think the feature worked really well for web apps because it can easily grab the name of all the components you clicked, whereas on our desktop app, it mainly just logged when the app had focus and read your keystrokes.

The bad news for Barbara, is that she liked going on the internet for personal use, and liked chatting using instant messenger as we will see.

The Remedy

Type 'Hi Gavin. ' in 'Chat Input. Conversation with Gavin Ford' text box
Type 'Hi Gavin. I've been telling everyone about this concoction and it really worked wonders for everyone that's tried it, myself included. This is for cold, cough and general immunity. 1 cup of milk + 1 tablespoon honey + 1/4 teaspoon of turmeric - bring to a rolling boil. Add grated root ginger (2 teaspoons or 1 tablespoon) and let it boil for another 5 mins. Put thru sieve and discard root ginger bits (or drink it all up if you fancy), but drink it hot before you sleep every night and twice a day if symptoms are really bad. Hope you feel better soon. 🙂 ' in 'Chat Input.

Pumpkins & Tetris

Type 'Indian pumpkin growing{Enter}' in 'Address and search bar' text box
Type '{Left}{Left} {Right} {Left}{Left} {Up}{Up}{Up}{Up}{Up}{Up}{Left}{Left} {Up}{Up}{Up}{Right} {Up}{Up}{Left} {Right}{Right} {Up}{Right}{Left}{Left}{Left}{Left} {Right}{Up}{Left}{Left}' in '(1) Tetris Battle on Facebook - Google Chrome' document

Click 'Amazon.co.uk:Customer Reviews: 100ml Bergamot Pure...' label
Click 'Close' button
Click 'Essential-Oil-Blends_Chart.pdf' label
Click 'Checkout' label

3 days Small Regression Pack


Me 11:26:
Barbara has been doing the Assessment regression pack for 3 days
she says there is only a few left in this morning's standup. There's 15 left out of 27
Dan Woolley 11:28:
lol
Me 11:29:
I don't even think she is testing them either. It looks like she is dicking about then clicking pass
Click 'Inbox (2,249) - [Barbara@gmail.com]Barbara@gmail.com - Gmail' label
Click 'Taurus Horoscope for April 2017 - Page 4 of 4 - Su...' tab
Click 'Chrome Legacy Window' document
Click 'Chrome Legacy Window' document
Click 'Close' button
Click 'Paul' label in the window 'Paul'
Click image
Type 'Morning. ' in 'Chat Input. Conversation with Paul' text box
Type '{Enter}' in 'Chat Input. Conversation with Paul' text box
Step Completed : Repeat steps 6 to 19 using the Context Menu in the List Panel
End testing

Next Day

Me 12:42: Barbara said this morning that all the Assessments test cases need running. She has just removed them instead

Greek Salad

Type 'greek salad{Enter}' in 'Chrome Legacy Window' document
Type 'cous cous salad' in 'Chrome Legacy Window' document
Type 'carrots ' in 'couscous with lemon and coriander - Google Search ...' document

Click 'Vegetable Couscous Recipe | Taste of Home' tab
Click 'Woman Traumatized By Chimpanzee Attack Speaks Out ...' tab

Marshall 11:50:
oh damn haha
these are things that were inadvertently recorded?
Me 11:51:
yeah
Marshall 11:51:
ha you've stumbled upon a gold mine
Me 11:53:
I don't think she is actually testing anything. I think she just completes a step now and then
the other day Rob went to PO approve an item and he couldn't see the changes because they hadn't even patched

Haven’t Been Testing From The Start

we are in Sprint 8 and Barbara suggested Matt does a demo on the project so we know how it works; it’s a right riot

Me. 4 months into a project

Bad Audits

I wonder if Barbara was inconsistent with how she ran the test cases, or realised by the end that it tracked you. So near the end of her time, she was just hitting the main Pass button rather than passing each individual step. Managers liked the step-by-step way because if you mark a step as failed, it is clearer what the problem is.

Me 16:15: 
Barbara called me. Matt is monitoring our testing!
Dan Woolley 16:15:
how?
Me 16:17:
looking at the run history
she said he was complaining it wasn't clear which step failed because we were just using the main pass button, and also bugs weren't linked when they had been failed
I told Barbara I linked mine, then she checked and said it was Sam that didn't. I checked and saw it was Sam and Barbara
so only the developer did testing properly 😀
you just can't get the staff

Obviously The Wrong Message

Me 09:12: 
Bug 35824:Legal Basis text needs to be clear
what's all that about?
Barbara Smith 09:12:
Charlotte asked me to raise it for visibility
We need to fix the text that appears on that tab
Me 09:13:
what's wrong with it?
Barbara Smith 09:21:
It says that on the Bug LOL
And with a screenshot (mm)
Me 09:22:
it says "needs to be clear" and has a screenshot with a part of it underlined. But it doesn't say what the text should be instead.

She rarely logged bugs because she did minimal testing. Then when she did log something it didn’t have enough info to be useful.

Karma

Barbara got well conned in the end. She was gonna take the entire December off but delayed it for the end of the project and then she has been told she has lost her job, so they are telling her to take the holiday now. She had just bought a house so would be relying on the money for the mortgage payments. Luckily for her she got accepted for a new job, but she was looking for a brand new way of getting out of it, as we will see below.

Tax Fraud

Type 'what if I don't contact hrmc about my tax{Enter}' in 'Address and search bar' text box
Sam 11:23:
Ha ha
You are savage
Me 11:24:
she is gonna get jailed for tax evasion

Maternity Fraud

Click ‘How to get pregnant fast | BabyCenter’ tab

Going Green & Earth Day

Recently, my employer has been looking to analyse their impact on the environment and the aim is to become carbon-neutral. A group of people have taken ownership of this idea and call themselves “Green Champions”.

During the launch of our Sustainability Strategy, we announced our environmental goal: “Environmental sustainability is an integral part of  our operations and value chain delivered through steady, measurable improvement”.

I find a few of their announcements a bit misleading, or fairly random with what they take issue with.

For example, someone requested a “sharable greeting card” idea. These would either be physical cards people can send, or something similar to email templates we can send to each other for events such as Christmas. This idea was declined.

Due to the environmental impacts from sending mass communications through mail or email, this will not go ahead

We keep hearing about how we need to cut down the number of emails we send because of how bad they are for the environment – but I don’t understand the logic.

Me:
Why are emails always said to be bad anyway? does sending a Slack message cause the ozone layer to deplete as well?
Can you architect me a Green Email system? think this is gonna be the next big idea
GreE-nm@il
The latest big tech company

Architect:
what a load of absolute bollocks!
just justifying not spending money
if emails are so expensive how much electricity is wasted by the "cameras-on policy"

So emails are bad. Instant messaging is fine. Video calls are encouraged.

Travel

Is that really what we should be focussing on anyway? Recently, the entire UK business travelled to one location for some presentations which we could have easily done remotely. Then a few months later, most of the directors and some senior leaders flew to India to do the same presentations. The amount of emissions caused by all the cars/coaches/planes etc, and all the money wasted on hotels and food expenses is surely a bigger problem than sending a few emails for special occasions.

Cars

We have also replaced all our company cars with electric ones. Discounts were available for people to personally purchase an electric car. We now have charging stations at the office, and it seemed a few people were quite eager to travel to work at the office just so they could charge their car for free. Isn’t that encouraging more unnecessary travel, and increasing the company electric bill?

Whose problem?

“our estate is now fully in the AWS cloud, a huge milestone on our road to net zero”

Green Champion

Isn’t that like dumping your rubbish in your neighbours garden?

This brings us to another point. If you have transferred a carbon footprint from one company/person to another, then the problem still exists. We claimed that moving our servers from on-premise to the cloud has reduced our carbon footprint. The servers are still there though, they just belong to a different company. There could be savings elsewhere though because our servers were on 24/7 but a big selling point of the cloud is that you can use auto-scaling (high demand uses more servers, low demand then uses fewer). Surely you can use this feature on your own servers though; it was just that we didn’t.

Are Electric Cars even environmentally friendly?

Let’s call upon AI to write part of the blog…

Electric vehicles (EVs) have been hailed as a cornerstone of the transition to a more sustainable future, promising a reduction in the carbon footprint associated with personal transportation. However, the environmental impact of EVs is a complex subject, with various factors that could potentially diminish their green credentials.

One of the primary concerns is the carbon emissions associated with the production of EVs, particularly the batteries. The manufacturing process for EV batteries is energy-intensive, often relying on electricity generated from fossil fuels. Studies suggest that the emissions from producing an electric car can be up to 70% higher than those from manufacturing a traditional petrol vehicle.

Another point of contention is the source of electricity used to charge EVs. In regions where renewable energy sources like wind or solar power are less prevalent, the advantages of EVs in reducing greenhouse gas emissions may not be as pronounced.

Furthermore, there is the issue of battery disposal and recycling. EV batteries contain hazardous materials, and improper disposal can lead to environmental contamination. While recycling programs are developing, the infrastructure is not yet widespread, and the process itself can be resource-intensive.

Earth Day Blog #1

A colleague posted an internal blog on what they did for Earth Day.

Here in my local town, they had an event at the Town Hall where lots of local groups gathered to raise awareness and share what they do in particular.

The Thirsk Wombles work tirelessly to clear rubbish from our town. I had no idea what a problem the disposable vape containers are. The Thirsk Wombles have collected a really big boxful in the first 20 days of April and the lady I talked to reckons they will be able to do that and more every month.

I then had a lovely long talk about "North Yorkshire Contented Bee Project" and bought some amazing local honey - very few food miles, masses of taste and it'll help with my hayfever.

Earth Day Blog #2

My personal passions are aligned with the department I work within.
I wanted to share today an aligned post for Stress Awareness Month and Earth Day next week about eco-anxiety.

Eco-anxiety (or climate anxiety) is a feeling of distress that comes from thinking about environmental breakdown, based on what we see happening around us.

It is impossible to ignore the information we receive via news, social media etc. that our planet earth is in trouble. We hear information that the planet is warming up, freak weather conditions, wildlife species declining and becoming extinct, overpopulation, deforestation and the list heartbreakingly continues.
The effect our modern lives are having on the planet is now catching up with us and it is hard to ignore the information we are seeing. So much is now being documented via TV programmes such as Planet Earth and the The Earthshot Prize initiative.

I, myself, hold my hand up and admit I have feelings of sadness and guilt about the impact modern life is having on the planet. Every day I make a conscious effort to review my recycling, plant more native biodiverse plants, use less aerosol products, review the products used in my home to reduce the amount of microplastics and chemicals down the drain, say no to fast fashion, reduce my heating by 1 degree and have No Meat Mondays.

Despite all this I know I can do more. But where do I start and do my small actions help?

To all of you reading today...every small action helps.
As the famous saying goes ….Knowledge is power. I have learnt so much through the Green Champions about what else can be done, alternative products and, more importantly, there is a group of people who have the same passions and feel the same. The Wellbeing Programme and Mental Health First Aiders invaluable content during Stress Awareness Month assists me in navigating through eco-anxiety.

If I may pass on any nuggets of inspiration to you today, it is that you are not alone in any types of stress or anxiety felt. I assure you many people feel the same and change is possible and 100% can be achieved.

Fear of Climate Change
- Climate change and the state of nature is having an impact on mental health
- Watching the world change sometimes combines with feelings of personal guilt.
- Witnessing climate indifference may evoke feelings of anger, powerlessness and hopelessness.
Leading to being uncomfortable and overwhelmed
- Aligns with Stress Awareness Month and Earth Day
- Speak up and seek support. Take action — even the smallest contributions make a difference.
- Your feelings are a healthy response to this topic. Our MHFAs are 100% available to
talk to.
- You are not alone

Closing Thoughts

Eco-anxiety sounds very problematic. How can you live life with that much worry? It’s really not a healthy mindset to have. There’s loads of other issues in the world too. Does she spend all her time crying when she sees food due to child poverty which she has no control over? How many things does she do that are actually bad for the environment but is unaware of? Does she drive an electric car, thinking it is 100% eco friendly?

Shiela’s Wheels Renewal

I always hate talking on phones and I always think that some companies’ policy to “auto renew unless you phone up to cancel” takes advantage of that mindset. My Home Insurance is with Shiela’s Wheels and they auto-renewed last time at an increased cost (even though I would have another year “no claims” bonus so would expect a discount).

It was approaching the date of renewal, and I thought I probably needed to call them to cancel. However, I received a letter

“Due to our renewal criteria, we’re unable to renew your policy”.

No explanation given. Very weird.

I go on their website, and my account shows that it is set to auto renew. There was a message saying that it will auto-renew, and there should have been a link to see my new quote – but the link was disabled.

So is it set to renew or not?

I used their live webchat, and after “checking my account” for 5 mins they confirmed it wasn’t set to auto renew. So I told them that it shows as auto-renew on my account page. They then disabled it for me. I thought it was weird that they were so happy to disable and not try and keep me for another year. Don’t they want my business? I then ask them why I cannot renew, since I still am unaware of what the problem was.

Thanks for looking to renew with us, it’s great to hear you want to stay with us for another year. We won’t be able to renew your policy this year. This is due to an upgrade of our internal system and we’re sorry that this has impacted you. You can visit a price comparison website to get a new policy quote. Your cover details and how much you paid this year are available in your insurance schedule in your Account to help you create a like-for-like quote and compare your price. You can also be assured that a new esure quote will not be higher than any renewal quote we would have offered you at this time.Thanks again for choosing esure. We can’t wait to see you return.

How bonkers is that? They cannot renew existing customers in their new system, and are confident that if I go to a price comparison website, then their prices should be competitive so I could come back. Surely they have to pay a commision to the price comparison websites, and there’s a good chance I won’t come back.

As it goes, I went to a price comparison website and didn’t even see Shiela’s Wheels/Esure on there, so they have lost me as a customer.

Recently, I have been making jokes with my colleagues about how bad we write our “User Stories”.  I joked about some user stories for Shiela’s Wheels new computer system:

As an existing customer,
I don't want my policy to be renewed
because the system has been upgraded

As an existing customer
when I ask to renew
I want to be told to take my business elsewhere

I’ve also been playing around with AI (Bing Copilot) quite a lot recently and keep testing it out.

 

I gave it the instruction:

“I contacted my Home Insurance company about why I couldn’t renew with them. Their response was <insert quote from above>. Write about how ridiculous it is that upgrading a system means that they are unable to renew their policy.”

Funny – Blog Post – Long

In the whimsical world of insurance, where logic often takes a backseat to the mysterious workings of "system upgrades," we find ourselves in a delightful conundrum. Picture this: you're cozied up with your favorite insurance policy, dreaming of another year of uneventful coverage, when suddenly – bam! – you're hit with the "it's not you, it's our internal system" breakup line.

It's almost comedic, isn't it? The idea that a company, entrusted with the oh-so-serious business of insuring our worldly possessions, can't figure out how to keep a customer due to an upgrade. What are they upgrading to – a system that only accepts carrier pigeons? Are they swapping out their computers for abacuses? One can only imagine the boardroom conversation: "Folks, we've got two options – renew these policies, or play with our shiny new system. I say we go for the shiny!"

Let's not forget the helpful suggestion to visit a price comparison website. It's as if they're saying, "We've enjoyed taking your money, but why don't you go see if someone else wants a turn?" And the assurance that a new quote won't be higher than the renewal quote they would have offered is the cherry on top of this farcical sundae. It's like a restaurant saying, "We can't serve you dinner tonight, but rest assured, if we did, it wouldn't have been more expensive than last night's meal."

The silver lining? This situation provides a perfect opportunity for a humorous blog post or a stand-up comedy bit. Imagine the laughs you could get with lines like, "I tried to renew my insurance policy, but my company was too busy updating their system to take my money. I guess I'll just wrap my house in bubble wrap and hope for the best!"

In the end, while the situation may be frustrating, it's also a reminder that sometimes, life throws you a curveball that's so absurd, you can't help but laugh. And who knows, maybe that laughter is the best policy of all. So here's to system upgrades and the unexpected comedy they bring into our lives – may they always be as entertaining as they are inconvenient.

Testing Stories

Go Play, Find Bugs

One of our Senior Testers wrote a blog detailing how she found an obscure bug. When I was a software tester, I often said that – even though you spend a large amount of your time writing Test Cases and running them; the majority of bugs I found were actually performing actions off-script.

The reason for this is that if you have a certain requirement, the developer writes enough code to pass that requirement as it is written. A better developer may even write some kind of automated tests to cover that scenario to prove that it works, and it won’t break in future. Therefore, running a manual test that describes that behaviour won’t find a bug now, and it won’t if you run that test in the future (during regression testing).

Being able to freestyle your steps means you can come up with obscure scenarios and experiment, and do way more testing than you would following a strict, heavily-documented process.

This was the main problem I had working as a Software Tester. Managers wanted the documentation and if you told them you had been testing without it, you sometimes got told to stop, or spend time writing Test Cases for ALL the additional scenarios you came up with. All that does is encourage people to be lazy and do the minimal amount of testing, which consists of just the basic scenarios.

You also get into scenarios where if there is a bug in live, it’s easy to make stupid claims in hindsight. I remember a colleague being absolutely furious with the criticism. They had done loads of testing but there was a bug in live in a very specific scenario:

“I’m disappointed in the level of testing” – Test Manager

Here is our Senior Tester’s blog:

I found a deliciously elusive bug last week. The feeling a tester gets when this happens is joy at your good luck, like satisfaction at solving a fiendish puzzle, and relief at preventing harm. We feel useful!

The bug was to do with online visibility data. My team is implementing the ability to right-click items and set Online Visibility. Sounds simple in theory - but data is complicated and the code base is large.

How was I going to approach this? It was an intimidating piece of work – and I was tired. My normal process would be to come up with some ideas for testing, document them, then interact with the product, make notes, fill out the report. But that day, I just couldn’t face doing the documentation and planning I would normally do before the testing. I decided to just test, not worry too much about documentation, and have fun.

I sought out a Record with a rich data set and played around, selecting things, deselecting them, selecting parent entries, child entries, single entry, multiple entries. I didn’t have any defined agenda in mind except to explore and see what would happen.

One minute in, I was rewarded with a beautiful crash!

I hadn’t taken a note of my steps – but I knew I could probably find the path again. I set up and recorded a Teams meeting with myself, as I didn’t want to have to pause to note down every step I took – that would take a long time and risk my mindset changing to a formal, rigid, structured view – which I didn’t want. I needed that playful freedom. The system crashed again! As there were so many variables at play, I didn’t know what the exact cause was, but I now had proof that it hadn’t been a magical dream.

I spent the rest of the afternoon trying to determine the exact circumstances in vain. I spoke to the programmer, and showed him my recording. He took the issue seriously, and tried to recreate it himself. We both struggled to do so, and decided to wait until the morning.

The following day, we got on a call and went over the recording again. What exactly had I done before the crash? I had selected the parent entry, then two child entries, right clicked but not changed anything, deselected the parent, selected another child, unselected it, selected a different child, selected the parent again and then right clicked and changed the Online Visibility - crash. We tried that again on the developer’s machine, on the same type of report, break points at the ready. Crash! Got it!

The developer eventually narrowed it down to two conditions: child entries had to have a GroupingDisplayOrder index beginning with 1, and the user had to select the parent entry after its child.

It seemed sheer luck that I had found this. But was it luck? No. It was luck by design – I had created a rich data set, and done lots of different actions in different orders, been creative and diverse in my testing. And it had only taken a minute to yield results!

So what did I learn? Reflecting, I noted my preference for highly structured documentation – of tables with colour highlighting, documenting each test in high detail, strictly in order, changing one condition at a time. The result of this was that I tested in a highly formal, structured way to fit the documentation, and only did informal testing as an afterthought. And yet I had most often found bugs during the informal testing!

I had made a god of documentation and lost sight of what mattered most. If you need me, I’ll be testing. And trying not to make too many pivot tables.

What Are Software Testers Really?

The same tester once came out with this quote

“testers are ultimately critics. Developers are artists. Testers are there to give information. What you do with that information is up to you.”

That’s quite an interesting perspective. I think it mainly comes from the idea that Testers can find 10 bugs but maybe you decide that you will only fix 6 of them, a few you might fix later, then 2 you think aren’t a problem, or so unlikely to happen – it’s not worth the effort and risk to fix it.

“we are the headlights of the car, driving into the darkness”

Software Testers In Game Development

“She was the one who taught me the importance of testers and how they are a critical gear in the machinery that makes-up making a game. Testers aren’t just unit tests in human form. They have a unique perspective on the game and poke not only at the bugs but also the design and the thought process of playing a game.”

Ron Gilbert, creator of Monkey Island

Another interesting discussion on the role software testers play is from Mark Darrah who has worked on games like Dragon Age Origins. He does seem to agree with this idea that the Testers are merely critics.

Mark Darrah – Don’t Blame QA

When encountering bugs during gameplay, it’s often misconceived that the quality assurance (QA) team is to blame. However, it’s more likely that the QA team identified and reported the bug, but it remained unresolved due to various factors. For instance, a more critical bug could have emerged from the attempted fix, leading to a strategic decision to tolerate the lesser bug. Additionally, project leaders may assess the bug during triage and conclude that its impact is minimal (affecting a small number of users), opting to proceed with the game’s release.

Such scenarios are more common than one might expect, and they typically occur more frequently than QA overlooking a bug altogether. If a bug did slip through QA, it’s usually not the fault of any single individual. The bug might result from a vast number of possible combinations (a combinatorial explosion) of in-game elements, making it impractical to test every scenario. Your unique combination of in-game items and actions may have simply gone untested, not due to negligence, but due to limited resources.

Complex game designs can introduce bugs that are difficult to detect, such as those that only appear in multiplayer modes. Budget constraints may force QA to simulate multiplayer scenarios solo (a single person playing all four or eight different players at once), significantly reducing the scope of testing. 

Furthermore, bugs can be hardware-specific, and while less common now, they do occur. It’s improbable that QA had access to the exact hardware configuration of your high-end gaming setup.

The term ‘Quality Assurance’ (QA) can often be a misnomer within the development industry. While ‘assurance’ suggests a guarantee of quality, the role of QA is not to ensure the absence of issues but to verify the quality by identifying problems. It is the collective responsibility of the development team to address and resolve these issues.

Understanding the semantics is crucial because language shapes perception. The term ‘QA’ may inadvertently set unrealistic expectations of the role’s responsibilities. In many development studios, QA teams are undervalued, sometimes excluded from team meetings, bonuses, and even social events like Christmas parties. Yet, they are expected to shoulder the criticism for any flaws or bugs that remain in the final product, which is both unfair and inappropriate.

Developers, it’s essential to recognize that QA is an integral part of your team. The effectiveness of your QA team can significantly influence the quality of your game. Encourage them to report both qualitative and quantitative bugs, engage with them about the complexities of different systems, and heed their warnings about testing difficulties. Disregarding their insights can lead to overlooked bugs and ultimately, a compromised product.

For those outside the development sphere, it’s important to understand that if you encounter a bug in a game, it’s likely that QA was aware of it, but there may have been extenuating circumstances preventing its resolution. Treat QA with respect; they play a pivotal role in maintaining the game’s integrity.

Remember, a strong QA team is the bulwark against the chaos of a bug-ridden release. Appreciate their efforts, for they are a vital component in the creation of seamless gaming experiences. 

Woke Side To The Video Game Industry

There’s an increase in subtly (and not so subtly) including woke issues into games. Studios like “Don’t Nod Entertainment” who have made games such as Life Is Strange – have these concepts driving the story.

Some companies are actually hiring other companies to guide them to include diversity in their games, and one such company is Sweet Baby Inc (SBI). SBI offer services ranging from story consultation to “sensitivity reading”. Their goal is to ensure that diverse characters and stories are represented thoughtfully and authentically.

However, this approach has faced backlash from a segment of the gaming community, which accuses the company of forcing political correctness and “woke” culture into games, potentially to the detriment of the gaming experience.

A group on Steam did some investigation into which games used the likes of SBI. SBI has worked with the developers of Suicide Squad (whose story and portrayal of certain characters has come under criticism). The CEO of SBI, Kim Belair recently spoke to game developers and instructed them to threaten their companies unless they comply with their DEI mandates:

“put this stuff up to your higher-ups and if they don’t see the value and what you’re asking for…go have a coffee with your marketing team and just terrify them with the possibility of what’s going to happen if they don’t give you what you want .”

So this is actually how DEI works in this industry; just to blackmail the company to align with “woke” views rather than the goal being to improve the product and story.

After being called out, games journalists accused critics of SBI of harassment. This debate eventually lead to a notable, and derided statement from a Kotaku senior editor, Alyssa Mercante wrote “hi you can’t be racist against white people thanks for tuning in.”

Kim Belair also explained that her company’s mandate is to make every game political. There has to be diverse representation in all contexts even in say World War I. “bringing representation to something is trying to build a narrative and a story that include moments and elements custom made to bring representation and joy to people because that’s kind” 

This example is interesting because it would be historically accurate to portray the majority of heroes as white men, and she is saying she wants to change the narrative because representation is “being kind”. Personally, I think making it clear that the game is “alternate reality” rather than historically accurate is fine.

An anti-white narrative was also shown in a recent viral clip from also derided Dani Lalonders:

“we have no white people on our team. I did that because I wanted to create a safe environment, and I know the best way for an environment to be safe is to be around people who are just like me. And I’m not saying that white people in the industry are creating unsafe environments. I’m not saying that. That is not what I’m saying. I’m saying sometimes it is hard to work with white people because they think that something may be okay, but it was really a microaggression, and no one wants to deal with that while you’re trying to make a game that they love.”

So she admits to discriminating and showing prejudice. She later claimed that she didn’t say that because she wasn’t in charge of hiring, but she clearly did say that.

So what’s with the sudden push for wokeness without it being driven by the gamers that are consuming the content? Apparently it’s partly due to “ESG financing”. The cost of producing games these days is extremely high, so game studios are looking to raise money in any way possible. Even huge companies like EA are using various sources of cheap funding including this ESG Financing. Game studios have to agree to all kinds of conditions including hiring companies like SBI to diversify their games. 

I think gamers don’t really care so much about who the characters are as long as they are well written. But making changes purely based on diversity could make the world they are representing unbelievable. It wasn’t that long ago when Battlefield had many female characters, and so were criticised for not being accurate for the time period they were using. 

Gamers are therefore concerned about tokenism, “phoning in” weak characters, destroying well-established IP/ignoring source material, or ignoring historical fact.

More Colin

In the early days, I wrote many blogs about Colin, a Senior Developer who was constantly writing bad code, cutting corners, and saying dumb stuff. After going through some old chat logs, I found a few stories that I don’t think I covered in the blog before:

Two Days For Nothing

Me 13:06:
Colin asked me for help. He says he has spent 2 days on his Work Item
No changes were needed; next!

Dean 13:06:
haha what's the Work Item about?

Me 13:07:
he was baffled by everything. He was creating a template with “Last Entry” field and he was like "why isn't it showing anything"
I said "your selected record is empty"

Colin just accidentally checked in a changeset – not just a file, but everything

Me, in dismay

Misleading Braces

Usually you use braces to group together blocks of code like for an If Statement, or Methods. Colin put his logic on the same line as the “if”, but then used a brace under it. So it looked like the brace belonged to the “If Statement” but it actually did not. We weren’t even aware you could just randomly put braces around code like that.

if ((!criterianValueSets.Any() || hasConcepts)) return hasConcepts;
{
//other code here
Me 10:12:
what a sneaky return. I'm surprised you can have a { after a return like that

Dean 10:12:
so what does the { even mean here?
like why is that code block in braces if it's not related to the if statement?

Me 10:12:
just groups together a random bit of code
I guess technically it is the else

Dean 10:12:
so can you do that wherever you want?

Me 10:12:
I was wondering that
you would have thought code analysis would moan even if it is valid

Dean 10:14:
you can, weird, and it affects the scope too...
is that legacy code where you found it?

Me 10:15:
nope. Colin. always Colin

Node Resolvers

Colin didn’t know about the Accept and Cancel properties on a windows form. His mind was blown

Colin said there were multiple Node Resolvers and he was stripping out Nodes from one of them…then a minute later he says there are only 1 Node resolver and he wasn’t stripping out Nodes. Now Steve is confused because he was calling Colin’s code and was expecting it to strip them out

Open closed principle

Me 15:12:
Colin is making a bit of a fool out of himself, showing a lack of knowledge of programming concepts
I said to him
“do we really need 3 separate methods for this? what about 1 method with a switch?”
So he simply replied “Open closed principle”
So I explained he was actually violating that principle by writing it the way he did.
“If there was a new Node system, you would have to change this dialog. It doesn't matter if you do my suggestion or leave it as it is. To conform to the open closed principle, surely you would need to pass in an object which can return the string. That way if a new Node system is added, you would add a new Node system object, and this class wouldn't need to be touched.
Anyway, merging the 3 methods would be neater”

Dean 15:13:
Urrrgh

Me 15:13:
I also slagged off that class he wrote before
“I reckon that the guy who came up with Polymorphism would be in tears if he saw this class.”
Colin had replied “Is that a complement ? I do not see any problem with it .”

I then emailed him with how to write it, and he now realises I am right

Dean 15:14:
That's good

Bugged Mindset

Colin always gets annoyed when I find a bug in his code.

But when testing miss something he loves it, even though it’s out in live and therefore it looks bad for all of us.

He’s not happy I have logged two bugs for his provenance story

NodeSystemCompatibility

Colin wrote a few similarly named methods but they did slightly different things but it wasn’t clear when to call them, and some returned a different value than what you would expect.

Me 12:45:
CheckNodeSystemCompatibility , IsNodeSystemCompatible
what is the difference?

Dean 12:45:
Lol

Me 12:45:
but don't call IsNodeSystemCompatible for documents, you need CheckDocumentForCompatibility
and CheckNodeSystemCompatibility has a switch that calls different methods and then negates them
case FolderItemTypes.DocumentTemplate:
return
!IsNodeSystemCompatibileForDocumentTemplate(selectedItem);
so if it is compatible, CheckNodeSystemCompatibility returns false
I think we should just delete the branch and pretend it didn't happen

Dean 12:50:
Hahahahaha
Why are they overcomplicating things??

Me 12:53:
they want bugs. it's not even unit tested

Dean 12:57:
What?!

Health and Safety

Me 14:08:
Colin has a wrist rest on the windowledge and it has melted

Dean 14:08:
ha

Me 14:08:
the gooey stuff has dripped down towards the plug sockets
bit of a health and safety hazard
meanwhile, he also had a hot chocolate hidden behind his monitors that stunk of sick

Dean 14:10:
nice

Me 14:13:
Colin claims he got that drink this morning
a bit worrying if the machine is dishing out sick

Me 15:22:
Mel reported Colin's wrist rest incident
the handyman dude is here to save the day

Dean 15:23:
thank god

Multiple Attempts

Me
is this correct? ...we can copy folders if there is one item we can copy, regardless if there are loads which it can't copy?

Colin
my mistake. should be the otherway round. Will change this to "!documentItems.Any(di => di.CanCopy)"

Colin
correction. documentItems.Any(di => di.CanCopy.Equals(false)); lol

Colin
documentItems.All(di => di.CanCopy). sorry my brain isn't working.

Call It Twice

Me 16:15:
bool canCopy = NodeSystemHelper.GetActionsWithProvenance(selectedItem: SelectedItem) != null && NodeSystemHelper.GetActionsWithProvenance(selectedItem: SelectedItem).CanCopy;

if the returned object isn't null, create it again and check a property
classic Colin

Dean 16:18:
Wtf; that's melting my head
i don't see how you can take any enjoyment out of development writing code like that

Christmas has come early

Me 16:18:
seems Colin has left us with 36 failing unit tests
Christmas has come early

Manager 16:19:
want me to get him to sort them out?....

Me 16:19:
are you going down there and punch him in the stomach
Manager 16:20:
gonna stove his head in!!....

No Unit Tests

Me 13:22:
Colin fixed a bug
“Fix bug where protocols created pre-version 1.5 shows N/A rather than the correct value”
On the code review:
“Me
unit tests?
Colin
Not failing”


oh that's ok then. Just fix a bug and don't cover the missing scenario
WHY DO I WORK HERE?
Dean 13:22:
Why would you not write one??
Me 13:22:
it may fail if you write one 😀

No Root Cause

In one part of our application, we always have problems where you select some data in a grid, then the menu bar refreshes multiple times. 

This time, there was a bug involving a menu option not becoming enabled until you hover the mouse over it – which was very strange.

Colin then decides to fix this new issue by adding another call to refresh the menu. Brilliant. It already flickered many times – let’s add another flicker!

The lead developer questions this change, and asks him what the root cause was. “This code is complicated, so I didn’t investigate”. Brilliant, totally lazy.

Luckily another developer stepped in and provided the proper fix.

If you don’t understand how the problem came about, then you could end up adding “hacky” code to make it work. But this just pollutes the codebase with more bad code and can cause more confusion and make the codebase harder to diagnose future issues. Good developers don’t cut corners like that.

Employee Profiles: Michel

One of our colleagues is a very distinctive character. He seems to love meetings, and getting involved in stuff that doesn’t concern him; which makes people think he is just looking to get out of work. However, even though some of the words he uses sounds like he could be blagging, if you think/check what he is saying carefully, he actually is extremely knowledgeable.

He also loves telling stories and talking about his personal life. He loves all things Thailand, so does Thai Boxing, used to be married to a Thai woman, and still goes there on holiday. He loves talking about food, cars, dogs, nutrition, gym, will often start sentences with “ironically”, and will often end sentences with “you know what I mean?” which makes many out of context quotes sound amazing.

You know what I mean?

Joshua 16:55:
how many times does Michel say you know what I mean?
Me 16:56:
The ironic thing is, I know exactly what you mean
  • ironically, it’s all feathers in my cap, you know what I mean?
  • I don’t even know what that is, you know what I mean?
  • I ask them, “do you speak Thai?” and some of them don’t, ironically
  • people don’t realise I’m as good in the role as I am, you know what I mean
  • the irony of it is, is that I didn’t know my MOT had run out, you know what I mean?
  • your chest is a big muscle group, you know what I mean?
  • the irony of it all is that she has her two fingers strapped up and she is a lesbian
  • yesterday I got a takeaway for no other reason that I was a bit peckish
  • you’ve got to be insane to fight a top level Thai with hemp wraps, it is suicide
  • I knew if I’d have stayed at home, I would have just vegetated on the sofa, you know what I mean?
  • it’s a colour printer and it does 5000 sheets, do you understand what I mean?
  • the thing is with wireless; is that you don’t have to be stood next to it to print, you know what I mean?
  • have you ever eaten polystyrene?
  • imagine a 3 year old kid sat on your lower body while you are asleep
  • I had to stop two of my gangster mates abducting him and leaving him out on the moor
  • it’s got a public get but a private set because at the end of the day you don’t want it to change, you know what I mean?
  • my body responds different to carbs, you know what I mean?
  • I’m multiskilled, you know what I mean?
  • The new camera interests me a bit. Do you know what I mean?
  • you get 3 or 4 hours with him on the morning, because he goes home, you know what I mean?
  • There’s an unknown; do you know what I mean?
  • it wouldn’t just stop working; you know what I mean?
  • I never like to mix business with pleasure, do you understand what I mean?
  • my heart was in my mouth, do you know what I mean?
  • I flummoxed him, you know what I mean?
  • If I don’t go out, I don’t see anybody, you know what I mean? 
  • there’s a reason why police use Alsatians , you know what I mean?
  • you can’t even drive around that corner at the speed limit. Actually you can, because I do it everyday. It wasn’t wet but it wasn’t dry, do you understand what I mean?

Michel about the old days:

  • it’s just how they were, you know what I mean?
  • at that time, it was just normal, you know what I mean?
  • in the 1960’s, no one gave a damn, you know what I mean?
  • there were no trains, no buses, you know what I mean

Walking Off

Andy: 
Michel said something yesterday like "I asked Graham to explain it but he confused me so I just walked off"

Me:
Yesterday, Michel also said something like "I'm here to speak with Dave, but he is gonna blag my head with advanced computer science"
sounds like he went around speaking to people then walking off

Andy: Michel likes taking responsibility for everything. They could have just logged a ticket for IT to turn the computers back on. There were a few that powered off

“I had to drive all the way to the office and plug them all in. Took most of the morning”

Michel

Michel On Leadership:

  • When it comes to leadership, some people are really good at it, and others have to try
  • I didn’t get to my position by going out of my way to fix environments. I broke them and then fixed them, you know what I mean?
  • we all fall foul of an environment not being patched, you know what I mean?
  • I am subtle as a brick
  • delegate if you can
  • everyone is human, and we all mess up
  • Shall I tell you when to worry? when I am worried
  • I type so fast, I miss out entire words
  •  as long as the output is correct, the process is up to the team: you know what I mean?

King of All Excuses: Part 3

I’ve written blogs about an employee which I referred to as Beavis, due to his grunt laugh. He is a complete liability and I don’t know why we didn’t sack him ages ago. His constant excuses why he cannot work are obvious lies. He came up with loads when we worked in the office but then when we started worked from home during lockdown, he had a whole new set to go through. 

I understand some people can have some bad luck or them or their family members can have health issues, but is it possible for him to be hit with such frequent illnesses and issues?

Check out Part 1 and Part 2.

Here’s around 3 months of excuses.

  1. Mobile phone has problems so can’t use authenticator to connect to VPN
  2. Broadband is too slow
  3. Needs to take his wife’s car for an MOT
  4. Laptop broke
  5. Antibiotics for his dog 
  6. Drove down to the village to see the extent of the floods 
  7. Optician appointment 
  8. Broadband not working
  9. Cracked Laptop Screen
  10. Oven repair
  11. Daughter’s sports day
  12. BT Broadband outage
  13. BT Broadband outage again, and phone tethering won’t work either.
  14. Builder is looking at some “snagging issues”
  15. Throat glands have all swollen up and I’ve lost my voice
  16. Emergency dentist work
  17. Check up following dentist work. Will take an hour total travel, waiting, then dentist time. So at least 2 hours.

A colleague was saying that his line manager isn’t very active so therefore he can send him a message saying that he isn’t coming in, then Nigel won’t have replied to accept his request.

“he uses Nigel’s inability to reply to his advantage”

Isobel: "I have been in contact with Beavis who did the work but he has had to take the day off unexpectedly"
Andy: "is it actually unexpected at this point?"

 Other People’s Excuses:

“randomly I’ve just got to move some bales of straw. back soon”

Zoe 

(one of the top manager’s wife, so gets a bit of leeway to do what she wants):

  1. cleaning dining table
  2. having a shower
  3. in garden having beers

Derek

(also notorious for slacking. I suspected the occasional lie from him too):

I’ll be working from home today, a leaky shower box is causing an unintended indoor water feature, so I’m hanging around for a plumber. Don’t forget to skype me for the stand-up 😉

I’m working from home today. Sorry I haven’t emailed sooner, I had some problems initially remoting in as my computer at work had a dicky fit.

Google’s Incognito Mode: A Privacy Illusion? 

The big companies such as Google and Facebook often seem to make headlines when it comes to privacy and tracking user behaviour in order to sell for profit. So I suppose people shouldn’t be surprised that Google has been collecting data even when using the Incognito mode.

I heard about this in the following article:

https://www.howtogeek.com/google-chrome-incognito-mode-settlement

Brand Loyalty

As an aside, I find it strange how people have such strong brand loyalty. Google Chrome used to be conisdered the far superior browser, gaining popularity over Firefox, and leaving Internet Explorer behind. The rebranded Edge does use “Chromium” which Chrome is built on. Chrome has taken flak for being a memory hog, and with privacy concerns, I expected people to make the switch back to Microsoft.

Last week I mentioned Edge to my Software Developer colleagues and they were disgusted. There was even more disgust when I mentioned how Bing is actually a great search engine, and the free Copilot feature that allows you to easily request AI generated images means it is what I now use. Maybe you can’t trust Microsoft either, but with recent controversies of Google Gemini, and suggestion of political bias in their search results, surely brand loyalty should continue to wane.

Incognito mode

When it comes to Incognito mode, the user is told that it is a “private browsing” feature. It doesn’t store browsing history and active sessions, but it isn’t private from your internet service provider. I thought there were no tracking cookies involved either but I think this is the basis on the lawsuit where Google has been collecting “personal and sensitive data” from users, even when in Incognito.

“Google has agreed to delete (or anonymize) all private data collected from Incognito sessions before December 2023, and it will now block third-party cookies in Incognito Mode by default. Users who open Incognito Mode will encounter a more detailed explanation of the feature’s capabilities, too.”

howtogeek

Conclusion (written by guest writer Bing Copilot using Microsoft Edge)

The case of Google’s Incognito mode serves as a stark reminder that in the digital world, privacy is not always guaranteed. Users must remain aware of the potential for their data to be tracked and used, even when measures are taken to browse privately. As technology continues to evolve, so too must our understanding and expectations of privacy in the online realm.

International Women’s Day

In recent years, we have been progressively highlighting social justice topics at work. With our recent takeover with American owners, they have said it is one of our company objectives to be more Diverse, so expect more over the coming years.

I’ve stated in other blogs that if there is actually a problem to solve, then I am all for it. As far as I am aware, there is no problem with Diversity/Sexism etc where I work.

In Software Development, the demographics is male-dominated in the UK. However, I have found when we have hired women, they might only stay for a few years before leaving, or want to switch to management. I’m tempted to say women seem to be favoured for promotions and requests to change contract (reduced days or working hours). When it comes to Software Testing, it seemed fairly balanced between men and women. Management level seemed predominantly women.

In our India office, women are much better represented in all areas. Not sure of the exact breakdowns but it could be like 5% female developers in the UK, but 35% women in India.

Our head office in the UK is next to a predominantly Asian city so we have a high amount of Asian staff.

So with the new American owners, their constant claims that we need to improve diversity makes them seem foolish and makes me worry they might start making negative changes and introduce new problems. Constantly telling people we need to make things “equitable” and “inclusive”, and questioning how we are supporting certain groups of people – just creates a victim mindset. Spotlighting a certain group is also divisive if you think about it…

Today, on International Women’s Day, we take time out to celebrate the incredible women we work alongside and their achievements. Our commitment to the UN Sustainable Development Goal of Gender Equality is shown through the value we place on the incredible women employed here and their impact, as well as the hugely positive influence we all have on women’s experiences.

This is a place where women have long, successful careers, and with that in mind, I want to inspire women and advocates by spotlighting women’s careers. I am delighted to share their views and experiences in this video and the images below, with even more great content and stories featured here on Sharepoint. Whilst you watch, I’d like everyone to think about what part you play in shaping our industry to be an equitable, inclusive space for all. How do you support women in the industry? In your department? In your team? It's up to us all to challenge gender stereotypes, call out discrimination, draw attention to bias, and seek out inclusion.

International Women’s Day is about raising awareness for gender parity, however you identify, and it’s an opportunity to put a spotlight on the successful contributions women make in our business.

Isn’t the entire post hypocritical? It opens saying how we have incredible women here, they have long, successful careers, then switches tone and implies that we aren’t supporting women and there’s discrimination!

Question: where have you seen the positive impact?

“it’s happening right now. The CEO is inspiring”

Director of Business Operations

In the video, we saw our female CTO who was talking about the company we merged with, also led by a female CTO. We then heard from the “Director of Business Operations” (who I think has been promoted every 2-3 years since she joined), then finally someone slightly lower down the hierarchy, a “Principal Software Engineer”.

So we have examples of women that have had no trouble being promoted. We are led by women, the Human Resources department is 80% women. If we do have a gender pay-gap, or if women struggle to get promoted, then whose fault is it? 

One manager replied to the post and used similar statements implying that there is a problem with sexism here.

Woo! Some amazing women right here and across the business, feel so lucky to work alongside some incredible women and for a company that is striving to tackle inequality and find new ways to support women in the workplace!

Manager

So much inequality here. If there is so much, then why aren’t they suing. It’s against the law isn’t it? 

:thinking_face: