Neurodiversity Celebration Week

In recent years, my employer has been progressively promoting more “woke” issues, as well as some health-related content. Our recent internal blogs on Viva Engage have been about Neurodiversity Celebration Week.

“This week is Neurodiversity Celebration Week; a worldwide initiative that aims to challenge stereotypes and misconceptions about neurological differences. We want to use this opportunity to raise awareness of the experiences of neurodivergent employees, highlight the value of neurodiversity in the workplace, and provide tools and guidance to help all our people create an inclusive environment where diverse minds can thrive.”

I think it is a good idea to remind people that some people think differently. I’m unaware if I have anything like autism but I do often struggle when posed questions that are phrased in certain ways. When we first learned about Agile development, and started doing “Retrospectives”, some of the initial ones had obscure questions like “if the last 2 weeks were a chocolate bar, what would it be?”. My mind is just like “wut”, whereas everyone else on the team came up with an answer, even if they just chose their favourite chocolate bar and forced certain elements into it. “There were some really smart solutions to problems so I chose Smarties”. When I failed to answer many questions over the months, some people moaned that I wasn’t participating, but I just got frustrated with that line of questioning.

“These blogs perfectly highlight the fact that everybody, and how we each experience the world, is different. Depending on how our brains are wired, we think, move, process information and communicate in different ways. We all have a responsibility to create an inclusive working environment where diverse minds can thrive. Everybody should feel safe, supported, and able to perform at their best. Therefore, it is important that we firstly recognise an individual’s differences, and work to harness their strengths and talents whilst minimising the challenges they may experience”

I think some conditions do have strengths and weaknesses. As far as I know, certain types of autism can lead to some great ideas since they have a different way of thinking, but then can be awkward in different social situations. One person wrote a blog on their life and observations with autism.

Here are some key takeaways from their blog:

  • Autism is a spectrum, which means that everyone who is autistic can have a wide variety of signs and symptoms, and how it impacts individuals can differ greatly.
  • Everyone uses phrases that have subtle implied meanings. For people with Autism, the implied elements simply disappear, and everything can be taken at face value. So an example they gave was if they put a jumper on, and someone asks “Are you cold?” they would answer “no” because they are now warmer. 
  • Their responses to questions can often seem rude or abrasive, yet they were only literally answering the question they were presented.
  • If you ask many questions quickly, they will then present an answer to each in the order you gave them. They are insistent in processing all information sequentially, and will want to answer all of them.
  • Sensory overload: They despise being touched, they feel overloaded by background sounds, and will need to be alone to recharge after a long period of social interaction.
  • They often talk over people

I was looking on our Sharepoint for the additional neurodivergent resources. I came across some strange statements:

“Most neurodiverse conditions are classified as disabilities, but it is important to note that not every neurodivergent person identifies with a disability, to avoid stigma and isolation.”

Is it really possible to “identify” with a disability? Like the autism blog described, they didn’t want people to treat them differently but they acknowledge their social awkwardness, and understand others need to be aware of their traits in order to not be offended, or to try and adapt their line of questioning. I assume that is the point the statement was trying to make.

“Diversity is important for any organisation to develop, and understanding neurodiversity comes with huge benefits.”

That’s another one that needs more explanation. I think some people can come up with interesting ideas if they have something similar to autism, but a lot of other neurodiverse conditions are only negative. The way you “benefit” is to try to reduce the impact of the negatives. The statement by itself sounds like it is only positive to hire neurodiverse people, when that is not the case.

I saw a recent BBC article where the caption claimed that Down’s Syndrome is “an ability not a disability”. I get the sentiment, and that people often misunderstand the condition, but I don’t think anyone really believes it is an ability. I’ve seen a lot of this reframing in recent years: Things that were considered “mental health” conditions are now framed as normalised/part of someone’s identity, so is a positive thing that should be celebrated. Then not only is this mentality being pushed by mainstream media, it’s now being pushed from inside company culture under the guise of Diversity, Equity, and Inclusion.

Humane AI & Rabbit R1: What Are These Companies Hiding?

What Are These Companies Hiding?

Dave2D made a video covering two AI Assistant devices; The two products Rabbit R1 and Humane AI pin are launching very soon. He was suspicious because he is unaware of anyone getting a review copy to promote them, and the existing marketing materials have been a bit vague or suspiciously misleading.

It reminds me of when there was some controversy over a computer game that wasn’t reviewed before release – which caused suspicion that it was going to be released in a broken state; because if the company really believed in it, they would send it for review to be praised. Restricting reviews seem an admission that the product isn’t good, or as what it seems.

The examples they have shown is that you can use voice commands just like an Alexa, and can book trips, bring up nutritional information for food by recognising what it is, live translations. You don’t need your phone or to launch any apps.

The Rabbit R1 is the more popular of the two (100,000 units on preorder) and is $200 device, featuring a cute design, small screen, camera, analog scroll wheel, speaker and button; very simple. The Humane AI pin is a $700 device and it also needs a $25 monthly subscription. Instead of using a screen, it projects the image. So you clip it to your clothes and hold your hand out to view. It’s a neat party trick, maybe a little gimmicky. 

In the marketing, both companies deflect any questions using AI buzzwords and using very specific examples. It seems it might be the case that they just do a subset of what your phone can do, but worse. 

Personally, I didn’t understand what most wearable tech did like the Apple Watch. In that example, it seemed to be sold on the idea that you no longer had to take your phone out of your pocket to check a message, but it seems a simple value proposition for a device that costs hundreds.

A mobile phone is more versatile and often more personal because it’s easier to hide the screen. Whereas, if a device relies purely on voice, then people can overhear, it causes a scene, and maybe could be hard to hear in a busy environment. The projection idea might even be difficult to see in different lighting, although might be easier to hide from other’s view, although you look a bit weird. 

Since these devices can’t do everything your phone can do, you still need your phone with you. Certain devices like an mp3 player became obsolete when smartphones were widely adopted because people didn’t want to charge and carry two devices around… Or most people anyway; I don’t like the idea that listening to music is draining my battery that I might need to use for phone calls and text messages. I listen to a lot of music so I like to keep the devices separate.

So back to these two AI devices: A good question is “why isn’t this just an app?” Google already has a Google Assistant that you can talk to, although I have never tried that out. With how AI has progressed, the likes of Bing gives you easy access to quick searches, summaries, image generation etc, so it sounds like most of it could just be an additional app to download, or would be quickly obsolete if Google just adds the feature natively to Android. The possible limiting feature that Dave mentioned is that with all the permission needed to work, it might be seen as a security risk for Android to grant permissions to your location, images, contacts, microphone, camera, passwords etc. If it’s the company’s own device, then they can access all features of such a device.

When you are on your phone, you have the flexibility to react on-screen and look at images, reviews and follow links in order to make a decision. Having something that’s basically fully voice controlled has less flexibility. You are kind of forced down a specific path.

Another thing to bear in mind is that the marketing materials have often shortened the sequences to make it seem more impressive than it is. Wait time is a massive factor in the user experience. If there’s too much delay, then the usefulness and appeal is reduced.

The size and weight of devices can be a problem. If you are expected to pin the Humane AI device to your clothes, then it needs to be light without tugging on your clothes. 

If these devices are using their own AI models, then another question is “how good are they?”. What is their training data, and are the initial versions going to be poor, but get better over time when learning from the early adopters?

Personally, I could see this being like the Google Glass where it sounds like a cool idea, but then it’s actually a bit limited, overpriced, and you look silly using it.

The End Of The Desktop-Based Authenticator

A few years ago, we were told we must use two-factor authentication. (I’m sure I had a blog on that but can’t find it). Two factor authentication is much more secure because even if someone has your username and password, then they cannot get in without being able to generate your codes.

The idea of a Desktop-based authenticator is absolute nonsense to me, because if you want to log into a website on a different device, you cannot because your authentication codes are on your main device. Maybe you could install on multiple devices? But even if that is allowed, then isn’t that still increasing the risk? So if you are restricted to only using your computer where the authentication codes are, then if the malicious user has got access to your computer – they also have access to all your authentication codes.

A few years ago, we got a new security expert, and have been increasing security over time. Recently, one of the companies we own was hit by a ransomware attack so security has increased once again.

We were told there would be placing more restrictions on personal use of company devices, and instead, we should buy our own tablet/laptop/computer for internet browsing.

I was really surprised that they are only now advising getting rid of the desktop based authentication, and now say that we all need to install it on our phones. I did that years ago.

“Having a desktop based authenticator is no longer an appropriate feature as unfortunately external threats are becoming extremely more clever and a compromised laptop or workstation would mean the authenticator could be accessed and that would lead to credential compromise and extremely damaging to our organisation hence the authenticator is no longer deemed safe on the same device.”

They also stated that authenticator apps are “required everywhere”.

One employee launched into an absolute tirade about it. He did make some good points about how necessary equipment should be provided and managed by the employer. 

The Tirade

I have to disagree that authenticator apps are used everywhere. I only need it for work. My bank uses my biometrics for authentication, it is the same for my bitwarden (password vault), health app interactions and credit card companies. I feel you are trying to use grammar to try and mitigate the fact that this is an app I only need for work vs a "work app". The reality for me is this is an app I need only for work purposes, and whether I call it a work app or an app I need for work, it is the same thing.

It seems hypocritical that at a time when we are being told that no personal use can be made of work laptops and that we should use the new benefit introduced to buy a personal laptop, that the organisation is forcing us to install applications for work onto our personal phones. My wife is the Pro vice-chancellor at a university that was hit (last year) with a cyber attack and they are still recovering from that incident now. The impact has been devastating. They use MFA for access to all their systems and the university has provided devices to all staff to ensure that they can continue to access the systems they need to without the need to purchase personal equipment for work or use personal devices to enable them to work, because they understand that securing their systems requires investment.

The reality for me is I already have a number of work apps on my personal mobile phone... whatsapp for Business Continuity purposes, webexpenses to be able to claim expenses and now Authy. It is becoming increasingly difficult to have a clear distinction between work and personal life. I can totally understand why some people may be unhappy with this continued blurring of the lines on mental health grounds, but there are also those who have reverted back to unsmart phones - I considered this at one point when I decided the toxic nature of social media platforms was extremely unhealthy. In the end I just removed all those apps from my phone because I decided the value the other applications was worth sticking with a smartphone. If you don't own a smartphone are you now expected to buy one to do the job? If we lose our smartphone, do we need to inform IT that our work authenticator has been lost and therefore potentially compromised? There needs to be a clear policy on expectations above and beyond the "just do it" messaging so far.

There have also, unsurprisingly, been a number of cases taken to court in recent years for people unwilling to install applications on personal phones that are required to perform work functions. Most cases have ruled in favour of the employee with advice given such as:"[...]Secondly, employers facing resistance from employees about the use of technology should explore whether any other solutions are available. In this case, the issue may have been swiftly resolved by providing a work phone or installing the app on a laptop. Had the Claimant continued to refuse to use the app in those circumstances, it is likely that the employer could have fairly dismissed for misconduct, subject to following a fair procedure.[...]"So are there alternatives available? I know we have a huge number of work mobile phones that are unused - couldn't these be provided to those wanting that work/life separation protected? They wouldn't need a SIM as the app will work over WiFI, so the cost is minimal.

Closing Thoughts

Personally, it’s not a big deal for me because I do use an authenticator app for everything that supports it, and I only have maybe 4 codes for work-related websites. I think it would be more inconvenient to have a separate device, and if I did, I would end up leaving it next to my laptop. So if the laptop was stolen from my house (where I work), then they would steal the phone next to it too; therefore it is like the Desktop-based authentication scenario. Although if the phone has password/biometrics to access, then it will be secure. If I only have 1 phone, then the phone will leave the house with me, having the benefit of security and not being as much of a pain to replace.

Analysing Risk – A Story

Just like my last blog, this is based on  an internal blog that our most experienced software tester wrote. She seems to love Michael Bolton, but not the singer. Michael Bolton is also the name of a software tester that is the co-Author of Rapid Software Testing (see About the Authors — Rapid Software Testing (rapid-software-testing.com)).

Michael Bolton

She said that Michael Bolton was asked the following question:

Q: My client wants to do risk analysis for the whole product, they have outlined all modules. I got asked to give input. Do we have a practical example for that? I want to know more about it.

Tester

Michael: Consider the basic risk story –

Some victim will suffer a problem because of a vulnerability in the product (or system) which is triggered by some threat.

Start with any of those keywords, and imagine how it connects with the others.

Who might suffer loss, harm, bad feelings, diminished value, trouble?

How might they suffer?

What kinds of problems might they experience?  What Bad Things could happen?  What Good Things might fail to happen?

Where are there vulnerabilities or weaknesses or bugs in the product, such that the problem might manifest?  What good things are missing?

What combinations of vulnerability plus specific conditions could allow the problem to actually happen? 

When might they happen?  Why?  On what platforms? How?

Our tester stated “This is a brilliant definition of risk. It is also a somewhat intimidating list of questions. If you are looking at this and thinking, “That’s hard!” you’re absolutely right. Good testing is hard. It’s deep, challenging, exhausting. It will make you weep, laugh, sigh from relief. But it’s also tremendous fun.”

Test Automation Mess

Every now and then, there is a big initiative to focus on Automated testing. A manager will decide that our software is complex and too manually intensive to regression test in detail. Automation seems the answer but it’s never that practical.

Our main software, a desktop application, requires interaction through the UI which is incredibly slow and unreliable. We used to have a dedicated Automation team that maintained the tests but they would take several hours to run, would randomly fail, then eventually the team disbanded and declared them obsolete. There’s been times we wanted to replace them with the likes of CodedUI (which turned out to have the same issues), and more recently FlaUI.

When the last “drive for automation” was announced by the CTO, our most experienced tester wrote an internal blog which I thought had a lot of subtext to it, basically saying “it’s a bad idea”.

Communities of Practice around Test Automation

With all of the new Communities of Practice around Test Automation*, I wanted to share some thoughts on whether automation is actually a good idea. This comes from experiences over the years. I hope this saves some people time, and provokes conversations.

To automate or not to automate? That is question….

A common question in a tester’s life:  “Should we automate our tests?”

Which of course really means, “Should we write our checks in code?”

This will inevitably give rise to more questions you need to answer:

  • which checks we should automate
  • and which we should not automate
  • and what information running the checks gives us
  • and how does that information help us assess risks present in the code
  • and which is the best tool to use
  • and how often we should run the checks

Asking and answering these questions is testing. We have to ask them because no automation comes for free. You have to write it, maintain it, set up your data, set up and maintain your test environment, and triage failures.

So how do you begin to decide which checks to automate?

Reasons for automating:

  • The checks are run frequently enough that if you spent a bit of time automating them then you would save time in the long run (high return on investment)
  • The checks would be relatively easy to write and maintain owing to the product having a scriptable interface (such as a REST API)
  • They can be performed more reliably by a machine (e.g. complex mathematical calculations)
  • They can be performed more precisely by a machine
  • They can be performed faster by a machine
  • You require use of code in order to detect that a problem exists
  • You want to learn how to code, or flex your programming muscles(Even if you ultimately decide not to automate your checks, you may decide to use code for other purposes, e.g. to generate test data.)

Reasons against automating:

  • There isn’t a scriptable interface; the product code can only be accessed via a User Interface (UI automation is notoriously expensive and unreliable).
  • In order to have a greater chance of finding problems that matter, the check should be carried out by a human being as they will observe things that would matter to a human but not a computer (e.g. flickering on the screen, text that is difficult to read).
  • The checks would have a short shelf life (low return on investment).

Beware of the fallacy that use of code or tools is a substitute for skilled and experienced human beings. If you gave an amateur cook use of a fancy food processor or set of knives, their cooking still wouldn’t be as good as that of a professional chef, even with the latter using blunt knives and an ancient cooker. Code and tools are ultimately extensions of your testing. If your testing is shallow, your automation will be shallow. If your testing is deep, your automation can be deep.

Ultimately the benefit you derive from writing coded checks has to outweigh the cost, and to automate or not is a decision no one else can make for you. 

Testers in my Team

Most of the testers we employ aren’t that technical, and most aren’t interested in writing Automated Tests since that requires knowledge as a  developer since it is coding. One of our testers went on a week-long training course about FlaUI. One of the first things he says is “FLAUI is not worth its value”, which made me laugh. The course cannot have painted it and a good light !” 😂

He then got asked to move teams to do pure automation for a few months. Another tester had no interest at all, but was instructed to “try learn”. 

“writing the steps is fine, it’s just when you go into the code”

Joanne

There was no way she was gonna be able to learn it. She isn’t technical and the desire isn’t there at all. Being pressured by managers to move away from “manual” testing to “automated” just disrespects them as a tester. It’s happened before and they end up leaving. She eventually moved internally to be a Release Manager.

Automation Mess

The original decision to move to FlaUI was made by a group of Testers and they didn’t get input from the Developers. 

I think it would be logical to code using the Coding Standards that us Developers have followed for years. If Developers want/need to help write Automated tests, they can fit right in since the process and code style is the same. Additionally, after years of writing Automated Tests, maybe the Testers want to switch roles and be a Developer and so it would be a smooth transition.

Not only did they invent their own Coding Standards, which meant variables/methods/classes were named differently, there was a lot of duplicated code to perform basic actions like logging in, selecting a customer record etc. 

The process including a branching strategy was different too, and so instead of having a Master branch, taking a Project Branch for longer-lived changes, and standard User Branches for simple short-lived branches, they went for a more convoluted strategy where they had Development, Devupdate, Master. Then it became a disorganised mess when work wasn’t merged to the correct branches at the right times.

I can’t even make sense of this:

Before the start of Regression: 

  • 1) Lock the Development Branch (no PRs to be allowed to come in to Development till regression is completed) 
  • 2) Development, Devupdate, Master are up-to-date by syncing your local with remote branch and get all the commits into local branch
  • 3) Merge from Development to DevUpdate 
  • 4) Merge from DevUpdate to MasterUpdate 
  • 5) Set <updateTestResults> to true and <testPlanId>(from URL ?planid=12345) inProjectSettings.xml in MasterUpdate 
  • 6) Raise a PR from MasterUpdate against Master. Throughout step 3, step 4, observe that ‘commits behind’ are equal after the merge process to that of master. 
  • Once the above process is completed, observe that Master branch is 1 commit ahead of other branches 

After the end of Regression: 

  • 1) Development, DevUpdate, Master are up-to-date by syncing your local with remote branch and get all the commits into local branch 
  • 2) Merge from Master to DevUpdate 
  • 3)Change the <testPlanId>toxxxxand<updateTestResults> to false in DevUpdate 
  • 4) Raise PR from DevUpdate against Development After Step 2, observe that ‘commits behind’ are equal after the merge process to that of master. 
  • Once the above process is completed, observe that Development branch is 1 commit ahead of other branches 

Eventually, a few more technical testers were moved into the team and tasked with aligning the process and codebase with our production code – ie sort the mess out.

This is the classic case of managers thinking they can just assign “resource” to a team, and give them an aim “automate this”; and expect results. But you need the technical know-how, and a clear direction.

Reward package

When it comes to the end of the year, we often get an email from HR reassuring us that our wages will be analysed, and changes will be made so we are paid a fair wage.

Define “fair”.

When there is inflation, if your wage doesn’t rise to match, that is essentially a pay cut because the money you get just isn’t worth the same as it used to be. HR often say that it has never been a policy to give inflation rises, but how is that fair?

They will often say that raises will be given based on performance, but with some exclusions (if you have had a recent promotion or wage rise). Then they say they look at what other companies pay, but that’s purely based on trust. 

  • How many companies do they look at? 
  • How do they find equivalent jobs to base the comparison against?

We carry out external benchmarking to ensure our salaries are competitive and fair in today’s market.

We use external salary data to develop market rate midpoints for roles.  This is the rate of pay for someone who is fully competent in the role and therefore individual salaries may be below or above the midpoint. Our  salary  frameworks  are  reviewed  on  an  annual  basis  to  ensure  they  remain  fair, competitive, and are suitably benchmarked both internally and externally.

If you are promoted or move into a new role that is an approved vacancy, the new salary will be determined by the new line manager and HR , subject to approval by the Senior Leader of the relevant business  area. If a proposed  increase  is more than 5%, it  will need to be approved by the relevant executive member and the Head of HR)

HR

See, it is a wishy washy definition and claim. If they are paying fairly, why are there so many people required to sign off a rise of more than 5%? If you were underpaid before and deserve a large rise, then why is this process there?

There’s been times where people get promoted or change roles, and the difference in wages is very large. But they have the skills and the attitude to do it, yet are told the rise is too large, so it needs to spread over a few years. Yet, if they employed someone externally, they would give them the starting salary, maybe even allow them to negotiate a higher one. But the loyal employee that they know is good? – don’t want to give them the money.

Just remember: companies would rather pay $25k to a recruiter to replace you than give you a $25k raise

Overtime

I’ve criticised overtime in many of my blogs. I think it encourages slacking because you can create the need for overtime by not doing your work during contracted hours. Since overtime is usually given based on your hourly rate, overtime is even more beneficial if you are already paid more, but yet you could be doing the exact same work that everyone else is doing.

When you reach a certain rank, our contracts then say that you can no longer receive payment due to “their contracts allow more flexibility to work additional hours to fulfil their duties”. I don’t even know what that means. We all have reasonably flexible work hours.

Total Rewards

Another way we get fobbed off is with the phrasing “total reward”. They claim that our benefits are first-rate even though I think our holiday allowance is pretty standard in the industry, and there’s the usual basic discounts like “gym membership”, “cycle to work scheme”, “voucher discounts”, and “free eye test”. 

Our reward framework is based on a “total reward” approach. Total reward includes not only monetary rewards such as pay, bonus, incentives and “core” benefits (holidays, etc.), but also recognition (financial and non-financial),  development  and  progression  opportunities  and work/home life balance. Our total reward philosophy is designed to ensure that our people feel valued, recognised and motivated to give their best at work every day.

HR

This is just HR buzzword spam. 

Some of the rewards they hype up, but then it turns out to be rubbish. There was one where they said we could get “discounts on technology” so we could get cheap laptops/PCs/tablets/phones etc. However, when you read into the terms, it was an average saving of 5% from the recommended retail price. Yet you could go into a shop like Curry’s PC World, and find the same items on sale (>5%). Then going through the process was actually more effort because there’s loads of forms to fill in. More effort, and it costs more; brilliant.

Another classic one is Costco membership. I’ve never shopped at Costco, but you need a membership card to shop there.  For some reason, they restrict who can sign up, but some Costco representatives would come visit the office, and if you signed up and showed them your work badge to prove you worked here, then you could get a membership card.

Someone asked HR what the benefit is of signing up when the Costco staff come visit the office. The employee could go and sign up directly in the Costco store. The reply was that they often ”bring free cakes” to the office, and you’d have the advantage of “not needing to take your ID badge to the Costco store”.  Wow, amazing benefit. Like I said, they hype up a benefit then it turns out to be not much of a benefit at all.

Quiet Quitting

Early on during lockdown, a new term seemed to be trending in articles. I don’t even think it was lockdown-specific, so the timing was probably a coincidence. The term was “Quiet Quitting”.

One interpretation of this buzzword is when an employee deliberately gives the minimum effort in order to avoid being fired. Another interpretation is when an employee is more focussed on avoiding burnout (balancing their work with other interests).

The Coasting Definition

Doing the minimum is not a new concept since there’s always people looking to get out of work – be it: casually browsing the internet, taking breaks away from the desk, talking to colleagues, dragging out tasks for longer than expected, and more. Terms get thrown around like “slacking”, “goofing off”, “coasting”, “cruising”, “staying under the radar”.

Avoiding Burnout Definition

For the second definition, you could interpret that to mean they still care about their job, but are more focussed on consistent performance over time; therefore Quiet Quitting doesn’t really apply. 

Quitting at 5pm

I never know what is real or fake on the internet these days . I saw a post apparently from a CEO saying they have a group of colleagues that are good but refuse to do, or think about work after 5pm – so he was asking what can be done about it. It seems ridiculous to have the expectation that employees should want to work outside the terms you pay them for, but it does happen. I’ve had a manager say to me I was overlooked for a promotion because I never did overtime. Yet the reason was that I did my work during work hours, and it was others that were basically “quiet quitting”, then asking for more money to complete the tasks they were already paid to do.

Thinking about work 24/7 probably ain’t healthy, and I find you can be more productive by having free time. Working long hours one day, then being productive for the very next 9-5 day seems impossible to me. So what’s the point working longer to make up time, when you lose time the next day?

There’s been times I have worked hard and didn’t even get a rise to match inflation which is basically a paycut. I’ve then proceeded to do the bare minimum, even cut corners because I’m just doing the job they are paying me to do at the current rate. There’s no point maintaining performance “above and beyond” when they aren’t paying for that level. 

Even though you could say your effort is an investment and you will be rewarded in future; in reality – it doesn’t always work that way. I wrote plenty of blogs about Derek who was clearly incompetent and was constantly slacking, often only working half the day – and he got promoted a couple of years before I did.

Creating Healthy Engagement

In recent years, the executives would use terms and phrases like “caring about employees”, “work life balance”, “mental health awareness”. But then when it comes down to it, it might not be reflected in all manager’s opinions. 

Where I work, I don’t think it is actually bad – just the occasional moment, or occasional comment from certain managers, and often hints of payrises in the next quarter that never materialise.

I think some people just see the job as a means to earn money, and I’m not sure you can do that much to change their attitude. 

Removing stressful elements, overtime culture, and trusting employees to do their jobs could create a culture of “healthy engagement”. If employees see a consistent approach in payrises and promotions, then that can also motivate people to engage and improve. If there’s not much incentive to grow your career from the job you have, then it’s more beneficial to “Quiet Quit” rather than perform high.

There’s going to be times where overtime is required when deadlines loom, or there is “Red Flag” and an urgent fix is required. But regardless of why the overtime is needed, it’s probably better just rewarding the employee with an extra day holiday. As discussed earlier, offering additional money rewards people that create the need for overtime.

References:

Spotify – https://hrblog.spotify.com/2022/09/22/how-to-fight-quiet-quitting-by-creating-healthy-engagement/

Joshua Fluke –

Manager feedback

When it comes to performance reviews, I find it hard to fill in the forms about myself, but it’s even harder to fill them about others. I often think you can write something to describe people’s general approach/attitude to work, and maybe point out a few strengths and weaknesses, but trying to answer specific and sometimes cryptic/ambiguous questions just frustrates me. I always think it should just be:

  1. Strengths
  2. Weaknesses
  3. Other comments

But instead, last year we had to fill in the following about our manager. I think it was generally just scoring 1-5, but with optional comments to justify it. Some questions are easy to answer, but questions with nonsense buzz phrases like “change agent” and “builds internal networks” just frustrate me, and destroy the little enthusiasm I had for filling this in. I would have thought having fewer questions would mean people spend more time thinking about each one, and therefore get more accurate results and better comments. 

  1. Mary leads by example aligned to Our Values. Mary exemplifies values within their own teams and organisationally: Collaborative, Responsible, Supportive and Transformative
  2. Mary is responsible for their team and takes accountability for delivery
  3. Mary provides guidance and support in the setting of performance objectives at individual and group level
  4. Mary manages performance of objectives (individual and group level) ensuring achievement of objectives through reviews
  5. Mary builds an environment where people understand, and recognise, the contribution they make and how their role fits into the wider organisation and its performance
  6. Mary is a change agent, leading change to ensure delivery through people with effective communication, support and results
  7. Mary builds people knowledge and business understanding through regular communication with their people and teams
  8. Mary engages with their team, encourages engagement amongst their team and cross-departmentally to drive solutions through collaboration
  9. Mary builds internal networks to drive and collectively deliver through positive relationship-building and understanding
  10. Mary embraces and encourages collaboration within their own team and between teams managing problems directly
  11. Mary is aware of, and responsive to, the changing needs of their people (own team) and their wellbeing at work
  12. Mary supports the engagement, retention and loyalty of key people as well as providing an environment where new people feel empowered and trusted
  13. Mary is solutions-focused not problem-focused bringing all relevant parties together to deliver
  14. Mary provides opportunity for all relevant parties to contribute, build and achieve collectively whether in their own teams or broader cross-department teamwork
  15. What one thing is Mary doing that is having a positive impact on the team?
  16. What one thing could Mary do to have a greater impact on the team?

The Transparent Placation of the Employee Forum

A few years ago, the directors announced they were starting a Programme to improve the company culture, and act upon feedback we had recently given them via an “Employee Forum“.

I do think due to working at home, there isn’t the same togetherness there used to be. Years ago, we seemed a close-knit bunch, but these days, I get the impression people just want to do their work and go home…although they are already home.

We were asked to give initial feedback from the scheme, and one colleague made a somewhat epically-written post, which ended up being his last.

“This “programme” is an exercise in indulging in the same old political rhetoric and transparent placation many of us have grown all too familiar with. Perhaps I have simply grown jaded and cynical, but we have corporate correspondence envisioning a future where all feel valued, and yet casual communication engenders entirely the opposite. To, on the one hand, read statements such as the above and then be told such things as “if you want better pay, get another job”, is insulting to the intelligence and dedication of employees. This, “programme”, is in fact a desperate response to the abysmal employer image the company has cultivated for years; to this day exhibiting a callous disregard for even its most dedicated employees – you reap what you sow.

In short, this isn’t a question of “focus”; rather, it’s a question of chasing each of these lofty goals with equal levels of tenacity, integrity, and humility. This “programme” is years too late and, despite a ledger demonstrating the contrary, the company has only ever proven itself to be more than “a dollar short”.

The goals outlined as part of this programme infer/suppose a complete lack of humanism in company culture and are a tacit admission of gross negligence when it comes to employees; the shoulders upon which the company stands.”

Rodger

The directors responded with predictable responses:

“this does not reflect everyone’s view of our business”

“this isn’t the right platform to raise these issues”

“we value colleagues feedback and encourage great constructive conversations”

“I can assure you that the people on the programme are thoroughly committed to making a positive difference in our dedicated areas.”

“judge at the end and not at the start”

Various Managers

I understand both sides here, they did ask for feedback and they got it. However, they don’t want something so scathing to be publicly aired. It’s a tough one though because such statements could cause people to be more confident in airing their views (which is what they claim to want), but firing him like they did will suppress people from giving true feedback.

The usual process is probably to go to your line manager, but they don’t always raise it with their line manager. Then since it has to go up a few levels of the hierarchy; the message is probably going to get lost. If you suspect that happening, do you bypass them and go higher up the chain?

It was also written a bit too poetically which meant it was hard to understand some of the points. I think there is a specific and recent issue which he was referring to, and in the following days, I did learn that an employee that had been around for 20 years or so and been forced out. I didn’t learn the reason, but that was being referenced with “exhibiting a callous disregard for even its most dedicated employees“. So I think it was coming from a place of witnessing instances of toxic behaviour and calling it out, and it wasn’t even a personal grievance; he is sticking up for fellow employees.

The obvious (or maybe I should say “predictable”) response was to sack him, which they did. But you could have actually gone the opposite way and actually let him participate in making the changes to improve the culture. I only interacted with him a few times, but he always came across as knowledgeable and dedicated.

He goes on to say others keep quiet because they need their job, although it is low paid compared to industry standards. Many roles are overworked due to restructuring and merging roles together. Managers were ignoring the problems when raised. Proposed changes in Support were predicted by many to end in failure, but managers dismissed their concerns. I have seen similar comments on Glassdoor, which is where you don’t want the feedback, since that is on a public forum, and posted after an employee has left the business.

On a quest to get some juicy content for my blog, I managed to contact him before he got deactivated:

[Yesterday 15:07] Me
have you resigned. That post is epic

[Yesterday 15:07] Rodger
No. But don't plan on sticking around long haha

[Yesterday 15:08] Me
haven't you just started in development though? or did they do the classic "we will give you half pay until you prove yourself"

[Yesterday 15:14] Rodger
Sad but true

[Yesterday 15:20] Me
They are putting my notice period up from 1 month to 3. I made the point that this is contrary to the Employee of Choice which is supposed to be improving our conditions!

[Yesterday 15:20] Rodger
Good lord, that's rough...
And yeah, certainly feels that way

[Yesterday 15:21] Me
can't remember who was in charge at the time, but he put it down from 3 to 1, stating they wanted to improve things, and now we are undoing it. Apparently Experts and Managers are on like 6 months which just seems insane.

[Yesterday 15:22] Rodger
6 months. That's ridiculous, what company would be willing to wait that long for a new employee...

[Yesterday 15:23] Me
I don't see the point of changing the notice periods. Don't people just hand over their work in 1-2 weeks, take annual leave, then mess about for the rest of it
paying an unproductive employee who doesn't want to work there is just crazy. Even if they are moving for other reasons like leaving the country, it seems like you have to then leave on bad terms. Just let them go. 1 month is enough to deal with

[Yesterday 15:25] Rodger
Indeed. Don't get the mentality at all

[Yesterday 15:26] Me
anyway, I asked Jeannette to raise it in the Employee Forum. I reckon they will just say something like "its inline with industry standards" or some corporate statement

[Yesterday 15:27] Rodger
Oh aye, wasn't expecting a response.
Just wanted the catharsis of saying it all
Thanks regardless, though

[Yesterday 15:28] Me
they will probably delete your post and not try and address it. Reminds me of the negative glassdoor reviews then Jacqui says "this doesn't reflect my experience at all"
and I think, "how do you know what those jobs are like? you are on the big bucks, probably in your own office by yourself"

<NEXT DAY>

[12:05] Me
I couldn't resist responding [my post was about lines of communication, and trying to start a discussion with others around Rodger’s points to try and diffuse the argument]

[12:05] Rodger
Thanks haha

[12:07] Me
have they actually said anything to you directly? It's good that they didn't delete your post but then I was worried they would just sack you for these outbursts. I do think you might be a bit too (passive?) aggressive, but then I reckon you do have some good underlying points that they should listen to

[12:08] Rodger
Any aggressiveness, passive or otherwise, is only because the responses to my post have demonstrated a lack of understanding and contempt.
My initial post is nowhere near anything combative...
And, no. No one has spoken to me directly. People have spoken to my Manager and others around me though...

You've raised the right questions here.
Where can one speak about these things

[12:11] Me
I think someone did say (via a question) on our Departmental Meetings that the whole "we will take it offline" response just causes these problems. If there is an official response to it, everyone doesn't hear it because it was addressed one-on-one. Then I think that's what you are also calling out, because these Senior Managers are basically implying to contact them directly, rather than post in an open forum.

[12:12] Rodger
Aye

[12:13] Me
in my standup, one guy said he had to get a dictionary out to try and understand your points. It is super poetic. It makes it funnier but I do think it probably detracts from your points

[12:15] Rodger
Fair, but it's genuinely the way I speak and I thought it best to be as erudite as possible when articulating it all; in an effort to not just be dismissed as a dribbling idiot or fool, etc.

[12:27] Me
This does sound a bit extreme to me. Then that would be perceived to be an attack on the SLT
"The goals outlined as part of this programme infer/suppose a complete lack of humanism in company culture and are a tacit admission of gross negligence when it comes to employees; the shoulders upon which the company stands."

[12:31] Rodger
It certainly is a criticism.
The company admits that its staff don't feel; rewarded, included, valued, etc. (as inferred by the programme itself).
Is that not gross negligence?
I am perhaps opining there, but it doesn't seem to me to be an unreasonable statement and I would be happy to discuss the matter if literally anyone else was...

[12:35] Me
It can be a tough one because I think most people will complain about pay regardless of how much they actually get. Then if they don't get an inflation rise, they will moan about that but they might have been overpaid. So when people do complain, it might not be a valid point. but then I have been a victim of being underpaid

I think a common problem we have is that managers see us all as interchangeable. I have only been on this project a few months but we are gonna get our 3rd PO, and we have switched architects, and there was talk about moving one of our testers to another team. How can you be productive when that happens? can't build up knowledge or team chemistry. They still see us as "resources" they can move about. Probably doesn't help if a department is called Human Resources.

[12:38] Rodger
Indeed

[12:38] Me
I find it interesting how people like me moan, but yet stay here years so we must secretly like it

[12:39] Rodger
haha

[12:40] Me
I think it is actually a low stress job, and when I've known so many people leave and then come back, it does make you think it's not always greener on the other side. I also think other jobs will give you more responsibility. So I think it is comfortable here

do you find development stressful, or were your comments about your previous role?

[12:46] Rodger
I guess I'm in something of a unique position.
My comments were about my previous role, how things are now for me (which ain't "bad", just insanely busy), and everything I've heard and seen from elsewhere in the business

Conclusion

I think the lesson here is that if you really want to make changes to culture, then you need to be open to listening to “hard truths”. So if there was a problematic manager – if an employee openly reports the problem, it shouldn’t be the case that managers stick together. The claims should be investigated and if the manager is problematic, then they should be fired and not the employee. 

I think we lost a couple of good and very dedicated employees here, and yet managers were pretending everything was perfectly fine.

Project Aurora & The Strangler pattern

Recently we have had another tech guy join the company who is reporting to the CTO. I find that people in these kind of roles want to put their stamp on things by coming up with a new idea.

He presented his idea in our monthly Tech Meeting. He wants to attempt to address our performance problems by taking traffic away from our main on-premise databases. There’s been some similar ideas recently, and although I’m not great when it comes to hardware, networks and general software/hardware architecture; I am sceptical that these ideas can work.

His idea is that we can replicate the database in the cloud (“the cloud” solves all problems you see), and then the database in the cloud can be used for Read access, whereas Write would still go to the main on-premise databases (then synced up to the cloud).

The Announcement

This programme of work is to move workload away from our primary systems to enable these systems to withstand expected load factors from upcoming initiatives as well as expected growth in usage on our APIs during Winter 2023.

The intent is to run focused cross functional teams in work-streams across the group to deliver this initiative. The approach taken here is to place multiple bets, across multiple teams. The expectation is that not all teams will deliver by September, but enough to bring in the headroom we need.

The programme is intending to free up at least 20% load across our core databases.

Upcoming aims:
• Strategic, move read-only workloads to Aurora.
• Redeploy APIs to AWS, Move to cloud technology, Containerise and Optimise Service
• Enable use of replica data when ready.
• Move Appointment Workload
• Mitigate 8am peak load.
• Use caching engine on AWS (Elasticache/Redis), mitigate 8.2% of PC DB Load 
• Reduce load on the DB during day time.
• Reduce Datacentre and DB load and improve performance
• Mitigate 6.2% of DB load by optimising how we summarise task counts
• Proof of concept is Complete, expected to cost £2m a year.

My Conversation With Architect Mark

I think the reason for the replication (as opposed to just moving it all to the Cloud) is that you can’t fully commit to ideas like this. You have to have a rollback plan. So if we find it doesn’t work, is too expensive etc., we can just return to the old way without much inconvenience. I asked one of our Software Architects what he thought of the plan because it doesn’t sound right to me:

Me
doesn't sending data out to another database just increase traffic, and they wanted to reduce it?
Mark
Yes, it will also be delayed, and often broken
Me
no pain, no gain
Mark
they're replicating data, and it's unlikely it'll be used
Me
I don't see how you migrate things. You have to keep them both running until you are confident it works, then bin off the old database. But then in reality you just end up keeping them both for longer than expected
Mark
you then also need cross-database transactions or to be very careful with queries
yeah, that's basically it. Have the same API at both ends, some sort of replicate and transform on the data to ensure it's in both. Persist to both simultaneously, then when all works, turn off the old
Me
The CTO said that “some people say there is a delay, but it is only 5 minutes”. Does that address any of your concerns at all?
Mark
no, this is only the second time I've heard about this, and the first I laughed
I agree with the principle of strangler pattern for migrating, but this isn't migrating
it's keeping multiple DBs 'in-sync'
Me
does that mean you can view an appointment book which is 5 mins out of date, and you try book an appointment, then it checks the real database and is like "no mate you cannot do that"

The conversation between architects

Mark then sent me a conversation he had with two other architects, Andrew and Jon. Mark already had concerns with the “appointment book” example.

Mark
so when this replication system goes down for a few hours, what happens then? I guess the system tries to book appointments for slots already booked, put in requests for items already issued etc.?
seems our business layer needs to be aware of how outdated the original information was, so it can compare something like a changelog number. Sounds like a big challenge to implement correctly

Andrew 11:10
Yes, any write operations will need logic to ensure that cannot happen Mark.
John and I have already called out that Appointments and Orders will have significant challenges with this replication model and have suggested that the initial focus should be on User Profiles, and any historic data, etc.

Mark 11:13
User Profiles and historic data seem just as dangerous to be honest.

Jon 11:15
The idea I suggested these is that you would check the change log on the primary system before even considering going to the replica. If the User had had a recent change (what counts as "recent" is TBC, I suggested 30 minutes) you wouldn't even consider going to the replica.

Mark 11:15
can we implement the strangler pattern properly? set up proper Appointments APIs to use in our datacentre, and AWS.
duplicate the data.
then dual file everything against the APIs? if one fails to file, the other gets rolled back.
we ensure consistency, we can transform the data, and we're using the pattern as intended
Jon, I agree your idea is the right way to do this sort of thing, but it will be adding logic and latency in a lot of places (as well as augmenting every one of our products to be aware of this), and not bringing us forward, but continuing to keep us in the primary data-store model

Jon 11:18
Honestly if the use case for customers looking at their data, then having it a touch out-of-date information isn't as critical as if our actual users sees an out of date view. As a hypothetical Customer who knows nothing about IT, if I viewed my record straight after a consultation
and it wasn't there I would just assume that there was a delay and it would appear later.
When it comes to actual Users viewing the record, it's absolutely critical that they see the up to date view. And when it comes to appointments that's also critical because appointment booking is fast moving, it'd be an awful experience for a User if every "free" slot they booked turned out to be booked minutes earlier.

Mark 11:19
depends, if you've just requested a particular item and the page doesn't update to indicate that, can you continue requesting it?

Jon 11:20
Many of our users (mine included) turned off online appointment booking entirely at the beginning of the pandemic and use a triage system now.
You wouldn’t be able to successfully request duplicate items, because the write would take place conditionally, so if it had been requested already then it'd say no (if designed even
vaguely competently).

Mark 11:22
the write wouldn't come through, but it'd be confusing for the User seeing the prescription still requestable, unless the application has its own datastore of state

Jon 11:22
Yes it would be far from ideal. But the CTO has some ideas about that (having a "recent changes" dataset in a cache that is updated live, and merged with the replica's data.
feels like there's loads of little bits of logic that need 'tacking on' to resolve potentially quite serious incidents. When the correct use of the strangler pattern gets us away from on-premise as primary DB, and moving in the direction we want to go
Yeah, this isn't easy and requires careful consideration.

Andrew 11:30
You are absolutely right Mark - there are a heck of a lot of potential gotchas and ultimately the plan has to be to use the strangler pattern, but at the moment we are looking at a rescue plan to put out some existing fires in the data centre and to handle predicted significant increase in load that will hit us in the Autumn. Everything that you have flagged is being considered.
The only fall-back plan that we currently have is to spend nearly £4m / year on additional SQL Server readable secondaries (on top of having to pay an additional 12% on our existing SQL Server licences thanks to MS hiking their prices) and nobody has the appetite for that.

Closing Thoughts

I don’t know what the Strangler Pattern is, so I’ll add that to my reading lists. However, it seems that even with my limited knowledge of architecture, our Software Architects have similar concerns as I do. There’s been plenty of ideas that the CTO (or similar level managers) have quickly backtracked on due to not consulting people who have knowledge on whether their idea is actually logically sound. I’ll keep my eye on this idea to see how it develops.