Software Support Call Centre

We used to have a very large support team in our own call centre. As a software developer, we were occasionally sent to go talk to them from time to time, and I was amazed at how busy they were. Usually, as soon as they had put the phone down, they had another user call up.

Sometimes it was that the user just didn’t know how to use the system, and other times it was to complain about a software bug or slow performance. The call centre staff were rapid at entering the information into the system, and were brilliant in asking the user the right questions to really understand their problem. They could often tell the user if the issue was logged or not, and also give them some relevant work-arounds. 

After speaking to some of the staff, they explained how strict the culture was there – they were monitored on how fast they picked up the phone, how long the call was, and how many breaks they had. They said how annoying it was to be warned about being late when it was due to bad traffic.

It surprised me because it seemed a completely different culture to how the development department is run. We are flexible when we start; so you can just turn up late and no one cares. We were never challenged on how long our work took to complete. I guess if our work is poor quality, it’s the call centre staff that took the complaints!

At some point, some manager decided to use a 3rd party company for Support, and most of our Support staff either left or (presumably) got redundancy.

The amount of complaints seemed to go up on various social media platforms, and I got the impression this 3rd party company didn’t know our software so were just providing users generic statements from a script “can you try turning it off and on again?”. Maybe if they got past the initial questions, they then got put through to our smaller 2nd-line Support team.

A few years later, I think a new manager came in and decided to try to reverse the decision, but it’s going to take a bit of time to get the new staff as good as the old ones.

“As part of our drive to strengthen our customer satisfaction and experience along with simplifying our ways of working for both our customers and the service desk, the decision has been made to insource the call centre. All calls will now come directly into the service desk.

We have already run a couple of trial switch offs over the last fortnight and the initial feedback has been unanimously positive with customers preferring to be directly connected to the service desk; just in this small sample there has been an increase in both the quality of cases and first-time fixes. We will continue to invest in developing a world class service desk.”

Company Announcement

It seems obvious to me if you make the support more generic, then it’s going to decrease customer satisfaction.

The only problems I had with Support is:

A) when they would link completely different issues to the same bug report. Sometimes you see that a bug that you thought should be super rare – has had 100’s of reports from the users. Then when you look into the cases, you see that 90%+ of them are unrelated. We could have probably put some advice on how to decide if issues are the same root cause or not, in order to try to help remedy this.

B) Sometimes there’s other data entry errors that end up being misleading, like this:

Support (in the free-text description): 
"however we have been able to re-create this on the test system by"...

also support (in the mandatory fields):

"Recreated in-house: No
Reason not recreated: Unable to recreate"

The DockerCon Proposal

We had a Senior Software Developer join us a few years back and he seemed obsessed with “networking” and also using “new technology“. By “new technology”, I mean if we weren’t already using it, he wanted to use it, so was pushing to use Docker. And by “networking”, I mean going to nerd conferences and events.

“Is anyone thinking of going to DockerCon? Seems like the kind of thing we should get some skin in the game?”

Senior Developer

I’ve never heard of that phrase “skin in the game” before, but my biggest question is “how long can people talk about Docker for?” People from all around the world, going to Barcelona to talk about what things they have docked.

I don’t often see a benefit of these conferences anyway. People do mention “networking”, but what do you really do? Talk to random people, boast about how good you are, and hope that if you apply to the company they work for, that they are the ones looking at your application, and also remember your name and who you were? If not, it probably isn’t increasing your future job prospects.

You must think it is very beneficial if you are travelling from England to Spain just for a conference, but this developer was well up for it. I suppose if he could convince the company to send him, then it’s a free holiday, so maybe you don’t know how sincere he is.

In my previous job, we were in the gambling industry. There was some event down in London, something like the “International Gaming Exhibition”. It was for companies in the gambling industry to show off their new products. There were loads of slot machines, fancy roulette wheels, all kinds of automated machines (card shufflers, automated roulette wheels).

I had no idea what our objective was really, so I just walked from stall to stall, taking all the free stuff. I got a couple of tote bags; stationery items such as pens and post-it notes; and playing cards. Our company was essentially rivals to some of these companies so we weren’t there to buy, and we didn’t have our own stall so we weren’t there to sell.

Some of the stalls were very elaborate and like those ones they used to have at E3 before that sort of approach was deemed sexist. So some stalls were occupied by bikini-clad “booth babes”. You could say those companies are getting some “skin in the game”! I thought they must hire them from some modelling agency or something, but it was interesting hearing them answer fairly technical questions about the products – so they must have done their homework. One company was spraying their woman in full body paint. I got there when she was about 90% painted, but one of my colleagues was boasting about how he got there earlier. This was probably around 2011 so I would imagine those “booth babes” might be cancelled, like the ones at E3.

KFC Message Fail

If you have KFC’s app, they will often give you notifications on offers. Just like some other food businesses, they have been doing offers on special occasions. So if it’s the World Cup final, they may tell you that you can celebrate with a Bargain Bucket etc.

This feature was in the news recently, when the special occasion was actually a negative event.

Snopes covered the story, https://www.snopes.com/fact-check/kfc-kristallnacht

When translated to English, the message from KFC read, “It’s memorial day for Kristallnacht! Treat yourself with more tender Cheese on your crispy Chicken. Now at KFCheese!”

Kristallnacht, when translated, means “Crystal Night.” It refers to Nazi Germany’s persecution of Jewish people on Nov. 9-10, 1938. 

Snopes

Snopes was given the following explanation:

On November 9, an automated push notification was accidently issued to KFC app users in Germany that contained an obviously unplanned, insensitive and unacceptable message and for this we sincerely apologise. We use a semi-automated content creation process linked to calendars that include national observances. In this instance, our internal review process was not properly followed, resulting in a non-approved notification being shared. We have suspended app communications while we examine our current process to ensure such an issue does not occur again. We understand and respect the gravity and history of this day, and remain committed to equity, inclusion and belonging for all.

Snopes

I think it’s a good example of why even simple automated features like this need to be manually reviewed. However, despite KFC saying the promotion should be manually reviewed, they somehow still published the message.

YAGNI / This Code Could be Useful In The Future

I remember the days of being a junior software developer where you write code because “it might be useful at some point in the future”. The thing is, this means you end up writing way more code than is necessary, and could lead to overcomplicated designs.

There is a concept called YAGNI: “You Ain’t Gonna Need It”

Swizec sums this up well here with a strong hint of sarcasm…

And that brings us to the other YAGNI: Building stuff you think you’ll need before you need it.

You think of a wonderful abstraction. A wonderful little feature that’s gonna help oh so much in the future.

You build it.

Months pass. You tweak the code here and there. Nobody’s using it, but you have to maintain otherwise it’s gonna break. Whenever you implement a feature, you have to think about how it impacts this code you’ve got.

It’s slowing you down. Making you think. And you aren’t even using it.

But one day! One glorious day, your PM gives you a task. A task from the gods. You are about to use this code you predicted 6 months ago!

You are a god of prediction! You knew it all along!

https://swizec.com/blog/dry-is-a-footgun-remember-to-yagni/

A simple example I came across recently was this:

public static bool IsModalDialogOpen()
{
  Boolean isModalDialogOpen = Application.AnyModalDialogOpen;
  if (isModalDialogOpen)
  {
     throw new DialogException("A dialog is already open");
  }
  return isModalDialogOpen;
}

So they have written a method that checks if a dialog is already open. If there is, then an exception is thrown (depending on their error handling, it would either crash, or display some kind of error to the user), otherwise it returns false. Since this is new code, the only places that called this method was in his new code. However, he never checked the return value of the method. Since it is defined as a Boolean/bool then it could only return true or false, but his logic only ever returned false… and all the calling code never used the value. Our exchange went like this:

Me: Why do we have a return type for this method when the return value is not used above?
Developer: If any one in future want to know the value it will be useful because of that I have added.
Me: https://rules.sonarsource.com/csharp/RSPEC-3241
       Also: it will never return true
Developer: OK, removed the return type.
Me: It needs an appropriate method name now

So at first he says it will be useful in future – which is definitely false – YANGI definitely applied in this situation. Then when he agreed that the boolean value wasn’t useful, he left the method name as IsModalDialogOpen which implies it should return a boolean. In the end, we were left with this:

public static void ThrowExceptionIfModalDialogOpen()
{
   if (Application.AnyModalDialogOpen)
   {
     throw new DialogException("A dialog is already open");
   }
}

In another recent change, there was this humorous exchange between two Senior Developers, George and Paul:

George
This looks like dead code...

Paul
Yes on the off chance it was used, we now redirect to the new stored procedure

George
How did you test it?

Paul
We spoke to the Data guys and they said it wasnt used, so no testing required. I am sure.

George
So you leave it in case it is used, but don't test it because it isn't?

Paul
Yes sort of. In case this was ever ressurrected the change was there for them to use

George
It won't be

So Paul had been migrating a database “into the Cloud”, and so went through all the features where that old database was used. He found some old code which he believed to be obsolete, but made the change there anyway. George then flags it up, and Paul says he changed it just in case it was actually used, even though other developers also agreed it wasn’t used. He didn’t test it because it wasn’t used, but the code is there if someone decides it should be used, but it might not actually work because he never tested it.

You could make a variation on that Swizec quote at the start of the blog. It’s extra code that you have to maintain and slows you down, but the day that code is finally used; Paul has saved people time! (Apart from all the developers who will end up looking at the obsolete code in the meantime).

Elon and Twitter

The recent Elon Musk $44 billion takeover with Twitter is causing quite a drama isn’t it? One of those classic takeovers where somehow you are allowed to essentially purchase with money you don’t have and slap the debt on the company you just bought. It really sounds like Twitter was managing their finances in a fairly reasonable fashion, and now their situation seems perilous.

One of the first things was to cut the staff dramatically (~50%). That struck me as an odd thing to do. I understand companies can slowly expand over time, and if they actually thought about it – they could probably trim a few staff positions here and there. But mass-scale redundancies? it’s not gonna work is it? At any company, surely 90% of the people there are required for the business to function.

The problem that many managers don’t think about when making redundancies is that:

  • You are taking away the culture that got the company where it is today.
  • You are removing people’s friends.
  • You are taking away job security as current staff feel that they may be next to go.

The thing is, he also said that remote staff now need to come into the office, so the remaining staff are going to be very disgruntled. This means more people will leave voluntarily. Now he will have paid loads of people to leave, and now need to pay money to start hiring again. It doesn’t really save money, and if it does; it is small figures really; Elon needs to recover billions – not a million.

According to games journalist Jason Schreier, redundancies were made in mistake, and others were made before managers realised their roles were necessary for the business to function.

After cost-cutting, the next thing on Elon’s list was to try to increase monetisation. He decided that the blue verified checkmark was worth $8 a month.

One of my colleagues did mention it, and said he didn’t realise why people were so obsessed with a tiny image, but I explained it helps prevent impersonation. It’s easy to spread misinformation, make slanderous claims, or run scams when you can just change your picture and name and pretend to be another person or another company.

It was no surprise when it happened, you had plenty of people demonstrating this as soon as possible. You had Nintendo of America showing Mario “flipping the bird”, people impersonating Elon Musk, former presidents reminiscing about killing innocents… you name it.

Loads of examples if you view the thread on Twitter

and therefore, it was no surprise to see the feature currently suspended…

Twitter has suspended the launch of Twitter Blue and is actively trying to stop people from subscribing “to help address impersonation issues,” per an internal note.

Zoë Schiffer

Corey House recently tweeted about “Chesterton’s Fence”, and I was keeping my eye out for an excuse to put it in a blog. So here goes.

“Chesterton’s Fence: Reforms should not be made until the reasoning behind the existing state of affairs is understood. How applies to software: Before deleting code, figure out why it was added.

Other examples:

– Don’t delete a test before you know why it was added.

– Don’t delete a file until you’ve proven it’s unnecessary.

– Don’t make fun of a developer’s old code unless you understand the context in which it was written.”

Corey House
My own Twitter examples:
  • don’t takeover a company without having a solid plan of what to do with it.
  • don’t sack staff without knowing what role they do
  • don’t change the verification feature when you haven’t understood why it was added

Top 5 Software Redesign Mistakes By Software Companies

I was watching Jayme Edwards’ (aka Healthy Software Developer) “Top 5 Software Redesign MISTAKES By Software Companies!” video, and thought he made some really great points.

Despite this being about software, I think a lot of this applies to Nintendo’s failure of the Wii U (hardware). I’ll first list my notes from the video (I did actually write some notes, then realised he had a great summary in the video’s description) then apply it to the Wii U in the last section.

#5 – Focusing On Current Customers 

“It’s tempting to focus on what current customers of the product have wanted at the expense of New customers. If the goal of a redesign is growth, it makes sense to do market research and look at the product with an open mind. Do new customers have completely different needs than current customers do? You don’t grow if you just convert the same customers over.”

#4 – Trying To Include All Features Of Prior Version 

“Many companies spend too much budget and time trying to design a product that does everything the prior product did. A redesign is the perfect point in a product’s life cycle to look at it with a fresh set of eyes before making a reinvestment. Throwing off the shackles of the existing product’s feature set might be exactly what your team needs to envision a dramatically more compelling, simpler, and better product for the market.” 

#3 – Budgeting Too Little For Marketing 

“As a digital software product becomes more established, many teams focus too much on the engineering side of the product. Is it possible that you might be better off budgeting a larger percentage of the investment in the redesign towards marketing? If you’re not doing Facebook advertising, Google Adwords, or Instagram posting to reach today’s audience you could be missing out on an extremely effective way to reach customers that you used to via a different source.” 

Companies can often try to piggyback off the previous product’s prior success. They may also have competition so need to advertise to strengthen the brand.

#2 – Failing To Consider A Rebrand 

“Though the benefit of an existing brand name and marketing message can be an advantage, depending on the age of your product and the needs of new customers, it may make sense to rebrand. This allows a team psychologically to detach from the prior product more wholly and look at the new version through a completely different lens. Might this be a strategy your company could use to bring life back to a product that’s no longer as compelling and exciting for the market as it once was?”

If you keep the name, you get brand recognition and don’t risk alienating current customers.

However, if you want to move into a new market, you may need a new name to grab their attention, or adapt to a changing market.

#1 – Failure To Establish Measurable Outcomes 

“The biggest and most common of the software redesign mistakes I see made is unfortunately the failure to truly establish easily measurable outcomes for success. As a project gets underway, unless design decisions were made to accomplish easily measurable goals, it’s easy for the team and management to lose sight of the purpose and simply look at the redesign as a “project” to be completed. It’s a huge opportunity to reach some exciting goals for everyone, and it provides cause for celebration to all those who were involved as they discover what the market wants!”

Get early feedback on the core product. Before you double-down on investing in the better experience, we need to make sure that everyone across the business has measuring goals so you know that you have reached your growth goal.

Wii U

Focusing On Current Customers – The Wii was a massive success in terms of sales numbers, but I think for most people, they only played a few games and then lost interest. This made the customer base an interesting one. Hardcore Nintendo fans are the ones that bought loads of games, but the casual audience is why so many consoles were sold. For the Wii U, Nintendo wasn’t really sure who it was for. It could play the old games but also had this tablet (“GamePad”) controller. The Wii’s appeal was the motion control remote and minimal buttons; which meant it was easily understood and had mass appeal.

Trying To Include All Features Of Prior Version – By supporting all the Wii controllers as well as the Wii U Gamepad and Controller, it was a bit of a mess with all the options. When playing Wii Fit U, some games like the climbing required a balance board and 2 Motion Plus supported remotes, then after you finish, you pick up the Gamepad to navigate the menus. Then you might go to Boxing, which wanted a Motion Plus remote and a Nunchuk. Way too fiddly and added to the confusion of what you even needed when purchasing the games.

Budgeting Too Little For Marketing/Failing To Consider A Rebrand  – They focussed too much on piggybacking on the massive success of the Wii brand, but people then thought it was just an add-on to the Wii. There was minimal amount of advertising so they definitely failed to not only get the message across, but many people just didn’t even know it existed. I even saw Billboard adverts for games such as Assassin’s Creed 3 which had the Xbox, Playstation and PC logos, but no Wii U. No idea if Nintendo had to pay to slap their logo on there; but it can’t help when even 3rd Party companies weren’t making it known the console existed.

Failure To Establish Measurable Outcomes – Don’t think I can comment on this one, but people thought the Wii U was rushed out for Christmas without much of a plan. Many games got delayed so there was barely anything to play in the first 6 months, and the operating system was so slow, even the “day one update” took several hours to download. It was like they just saw it as a “project to be completed” and didn’t think about how players would react to a lack of games, and a long wait to even get them to load (it took several months for Nintendo to fix the slow operating system).

Coding Tales #1

I haven’t written many blogs talking about code for a while, but my notes are stacking up; so time to post some blogs discussing code! I’ll try to explain them the best I can for the non-programmers, or those that find C# hard to understand.

There was one bug fix where the developer took several attempts to fix it. Taking several attempts to fix a bug illustrates that you either – don’t have a good understanding of:

  • the requirements,
  • or the codebase that you are changing.

If you make a change and it introduces a bug, then you make another change and it introduces another – instead of playing “whack-a-mole”, it’s worth considering if you are actually writing the correct fix. From my experience, you can often just take a step back, ask for help, and come up with a much simpler, and less risky fix.

In one of their changes, I saw evidence that it was possible that they didn’t understand what they were changing, or taking care in their work.

case ParentRecordRelationship.Grouped:
//when a record is grouped, the associated text is NOT altered - so this method should not be called
   throw new ArgumentException(string.Concat("Invalid parent record relationship supplied: ", parentRecordRelationship));

So we have a comment, explaining that the existing requirement is that the “associated text” is not modified, so it is completely invalid to call this particular method which would change the associated text (other code not shown). Therefore, we throw an exception which would cause the system to show an error to the user.

The developer changed the code to this:

case ParentRecordRelationship.Grouped:
    newAssociatedTextValue = CreateAssociatedTextValue(string.Format(_groupedWithFormatText, parentrecordOriginalTerm));
     break;
//when a record is grouped, the associated text is NOT altered - so this method should not be called
//throw new ArgumentException(string.Concat("Invalid parent record relationship supplied: ", parentRecordRelationship));  

So now he has allowed the text to be updated in this situation. Unless that really is a change in requirements, then this is the wrong thing to do. Also, instead of deleting the code that throws an exception, he has just “commented” it out (which is why it now shows in green), and also left in the actual comment saying that this scenario is invalid; which now adds to the confusion when the next developer reads it.

To me, that shows that the developer is uncertain it is the right thing to do, otherwise you would remove the comment and the code. Just “commenting” the old implementation out basically acts as a reminder that you might want to restore it. (You could easily just look at the history of the file to see the old code anyway, it isn’t like it is lost if you actually delete it in the first place.)

He also added to the confusion with this change

//take the 1st 12 characters of the format text
itemValueStartsWith = _combinedWithFormatText.Substring(0, 12);

it is now

//take the 1st 12 characters of the format text                      
itemValueStartsWith = _combinedWithFormatText.Substring(0, 9);

This is a good example of why writing comments for simple code is bad. The comment explains a requirement that it should take 12 characters, but you can see that it takes 9.

To me, this shows a lack of care, and lack of attention to detail – which are basic traits that I think are important for good software developers.

Training

Cost

One of the software testers was saying that they have been asked if they are interested in participating in a C# Programming course, with the aim of gaining skills to possibly allow them to write automated tests.

My opinion is that a 3 day course probably isn’t going to teach them anything that a video course wouldn’t (such as LinkedIn Learning or Pluralsight which we have access to). Also, there’s plenty of free resources like Microsoft’s own websites.

I was shocked at how much the training courses cost:

  • Programming Foundations (3 days) – £2975.00
  • The C# Programming Language (4 days) £4425.00

Maybe these courses include some kind of mentoring (which give an advantage over online videos), but given we employ loads of developers, surely a couple of people would be willing to volunteer to run some sessions internally. It would be much cheaper as long as they can spare the time.

Earlier in the year, to transition to a different form of Agile development (SAFe), we were sending some Product Owners on a training course. But not all of them. The ones that were sent were expected to then train the others. Nice money saving tip there.

Agile Training

Even when you go on training courses, how much information do you even retain? We did hire a SAFe trainer to present to the entire department, giving a general overview, but it was about 3 hours long and I couldn’t focus because the content was boring.

A week later, I was discussing how we currently worked and wasn’t sure where some responsibilities lie.

Colleague: Why are the roles/responsibilities so blurred? Where are the clear definitions of who does what?
Me: If you turned up to the training and listened, then you would know...but I turned up and didn't listen

Another colleague said that the training apparently costs £900 for 1 person – and it was for everyone in the department. Crazy.

Compliance Training

Every year, we have to complete some basic training courses. It just involves reading pages of information, then completing a multiple choice test. We have so many of them that we basically do 1 or 2 per month. There’s often a few questionable questions that we end up having a laugh about.

Fire

“If you hear the fire alarm, wait a moment to see if it is just a test.”

That’s not the normal advice is it? I’m sure the previous training has always said that you should be told the exact time when a fire alarm test is going to be. Any other time you hear the alarm, then you leave the building promptly via the nearest fire escape. If you are supposed to wait, you may as well use that time to grab your belongings. How long is a “moment” anyway. It never stated how you verify it is a test.

Security

Natalia’s Instagram has been hacked. Should she change her password first, or tell her customers

Why haven’t the hackers changed her password already? If they haven’t, surely you need to do it before they do. It only takes a minute to change your password. Surely, that comes first, then you can tell your customers. The training said you should inform your customers first.

you don’t have to follow the same level of security for all of your accounts.

Is that even good advice? I mean, most people probably do it like that, but everything should be secure. If someone can gain access to one of your accounts, they may be able to use that to get extra information about you to help them hack into your other accounts.

It is okay to write passwords down, but not on post-it notes.

I’ll write them down in a book labelled “Passwords Do Not Read”. Seriously, what does that advice even mean? A good password is one you remember. But writing it down is probably better than not being able to get into your own account. Maybe that is the point but the course didn’t explain it well.

Me 14:57:
someone follows you into your workplace and asks you to hold the door as they have forgotten their access card. Should you stop and challenge them?
-to a fight
-Rock paper scissors
-to a quiz
-Pokemon duel
Paul 14:57:
LOL
Are they actual answers??
Me 14:57:
no, it was true or false

Work Environment/Health & Safety Training

Good posture requires you to keep your feet flat on the floor or on a footrest.

Don’t footrests make your feet at an angle?

I love doing training about good posture whilst leaning forward at an angle. I do find it hard to sit like the training implies. It seems unnatural to have everything perfectly straight. I tend to slouch and constantly change position throughout the day.

The air in your environment should not be uncomfortably dry – you shouldn’t find your eyes or nose drying out.

is that even a thing?

Welcome to this course on Display Screen Equipment (DSE).

“Take appropriate action to prevent ill health when using DSE”

Do we really need an abbreviation for that? Can’t it just be “monitors”. It makes it sound like we work with asbestos or some hazardous material. 

“Your wrist and forearm must be supported when using a pointing device”

I’m trying to picture someone using a laser-pen with their wrist and forearm strapped to a plank of wood.

There was a section on different decibels of various environments. Libraries are apparently fairly noisy…

Me 16:20:
which is louder, a library or living room?
Andy 16:20:
libraries are notoriously quiet
Me 16:21:
have you done this Health and Safety training?
the library is louder. Even a wooded area is quieter
Andy 16:21:
this sounds rubbish
Me 16:21:
what happens if you have the TV on
or is that with the tv on
because it's a lot louder than a bedroom
Andy 16:22:
there aren't any of those areas at work
maybe a 'wooded area' at a push
Me 16:23:
did you know a conversation is louder than an office?
Andy 16:24:
haha shut up now
Me 16:25:
well, that's one way of reducing noise!

How can a conversation be louder than an office when offices contain several conversations? Is it comparing a face-to-face conversation vs a silent office?

Later on, there was a question about why water is bad for electricals. Since it is multiple choice, some of the answers are a bit silly.

Me 16:32:
Water can increase the power of the electricity and cause the equipment to work too fast.
Andy 16:32:
haha
Me 16:32:
I once overclocked a PC by spilling a drink on it
we should log a ticket - "build server is performing slow and needs to be watered"
Andy 16:34:
do you mind watering our build server while we're away on holiday and feeding the Load Balancer?

Bribery and Corruption

There were various scenarios and you have to state if it is a bribe or not…

“An offshore agent was dishing out bribes”

I think you have just given away the answer.

“We uncovered inappropriate payments…”

Sometimes I think these training courses have no effort put into them. It’s innappropriate, so I would say it is a bribe.

There was a question where it says something along the lines of: “Sean happens to have a relative who works for your company, and Sean is bidding for a contract. The company wants to accept Sean’s offer because he has put forward the best proposal. Is there anything wrong with this?” Options are:

  • Yes, Sean should not have sent the offer because it’s unprofessional
  • We will look conflicted if we do any future work.
  • Not at all, provided Sean has the skills that we’re looking for

I selected the last option, but I was wrong, it is the second option. An explanation was provided “recruiting people who are related to employees, clients or suppliers is not prohibited, but the appointments must always be made on merit and in line with company policy.”

Wait…I was correct then. It is fine to accept Sean’s offer.

Environment Training

This last answer made me laugh:

Why is it important for our Company to care about the environment?
A) To increase our productivity and cut costs
B) Because the environment is an invaluable source of resources that are necessary for our continued business
C) To take part in the latest management fad despite it having no real benefits

MANAGEMENT FAD.

AI picture generators: Part 2

I’ve been playing with one of those AI picture generators; stabilityai. I was trying to think of ideas that are a play on words, or scenarios that you wouldn’t imagine a character to do – similar ideas to what Jim’ll Paint It would do.

Check out part 1 here

It seems like it knows who Jabba is, but has decided to use it’s own interpretation. It’s like a dough ball monstrosity
Another Star Wars one. Looks like some rubbish Cosplayer
Again, it seems to know who Postman Pat is, but has gone for an abomination
If you blink a lot, maybe you should go see an optician
Sum 41 probably like doing sums
Don’t lick metal, kids
Greta Thunberg at the World Pool Championship. A random mashup.
An actual Jim’ll Paint It suggestion: https://www.facebook.com/JimllPaintIt/posts/pfbid02a2aLNTagnhotRKfyECsjzPgTnds1cmL4AtVjAiSe7GaxgP73XTjdc76K9yPgXrk2l
A random one my friend came up with. Ex-footballer Ian Wright

Windows 11 Upgrade

At the end of May, our IT department began upgrading everyone to Windows 11. Around a month and a half later, in mid-July, they announced that the upgrade had been a success, and managers were congratulating them on a good job.

40% of clients have had a Windows 11 attempt.

IT Manager

40% seems very low. The thing is, if you actually think about their phrasing, they say “attempt” so it wasn’t necessarily successful. I’d like to know why 60% of computers didn’t even attempt to upgrade.

For me, it failed twice. After the first failure, I asked how much space was required because I was sure I had at least 10GB, and I was notified of the failure when Windows popped up an alert saying I was completely out of disk space.

“About 10GB should do it (this has been confirmed in the testing phase).”

IT Manager

So it is confirmed but they aren’t sure on the exact amount of space we need.

I cleared out 20GB for it, and it still wasn’t enough. Unless it failed for some other reason. I started browsing through my hard drive and found a secret folder. There was an ISO file for the upgrade which was 5.2GB but then there was also an extracted version of another 5.2GB. So the temporary files they are using is 10.4GB but yet they claim you only need “around 10GB”. No, you need 10.4GB for the installer, and another X amount to actually install it, but maybe 20GB wasn’t even enough. 🤷‍♂️

There was also a file with an interesting name “RunOnce_Do_NOT_Run.bat”. I wonder what that means. Was the file created with the contradictory name? Or did someone run it once, then rename it? 🤔

Over 2 months later, they instructed people to trigger the upgrade again. This time I had 40GB free and it upgraded fine. If it did fail again, only then would IT investigate what the problem was. Surely loads of failures are just down to low disc space, but their script never checked before attempting, nor did they publicly confirm how much space we even needed.

Absolute shambles.