King of All Excuses: Part 3

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

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

Check out Part 1 and Part 2.

Here’s around 3 months of excuses.

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

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

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

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

 Other People’s Excuses:

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

Zoe 

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

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

Derek

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

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

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

Office Tales

Introduction

Going to the office 5 days a week for my Software Engineering role was such a standard thing until the whole Coronavirus and lockdown became the new world. It’s crazy that my employer doesn’t have any interest in us returning to the office other than for optional collaboration. I mean, it does make sense, but it’s a complete u-turn on their previous ideals. We used to have a few offices nearby, but I think we only have 1 now. They redecorated the remaining office, cutting down the number of desks, and we are allowed to book time in the office if we wish, either individually or as an entire team. I have never been in though, and have only seen a handful of colleagues on a recent night out.

Things I miss about the Office

I think I miss the conversations you overhear from nearby desks, and communication is much more efficient when you can just walk over to someone’s desk. There will be people that you don’t need to interact with for your current work, but will acknowledge them as you walk about the office (often going/returning from lunch breaks). So it’s much more social when working in the office. I think there is a general awareness of what things are happening across the business, because you see people moving about and hear them talking about work. Now I only get that information if people post on communication software such as Slack/Yammer.

It seems I have quite a few draft blog posts that aren’t that exciting on their own, but I’ve put together a collection of ideas to reminisce about office life.

I’ve just discussed some things I miss about the office in this introduction, but the rest of the blog is basically “Things I don’t miss about the office” and “Other tales”.

Things I don’t miss about the office

Moving Desks

Every so often, managers decide to reassign loads of people between projects. Then, if the team sizes aren’t the same, they have no choice but to rearrange the desks, or simply relocate teams. This meant the entire department would move, even if the new desk is just 1 desk away. It was a major disruption and was basically a waste of half a day. People tended to unplug their PC a bit too early, but you did have your PC, 2 monitors, keyboard, mouse, drawer unit, then loads of cables and other items. It’s a big chain of moves though because you can only move if your new desk is free, but it is only free if the current person’s new desk is free and so on.

There was supposed to be a big move shortly before the lockdown happened. We were told that it was coming but then seemed to get delayed but no announcement (so no one knew what the holdup even was). 

I was told I was moving desks by my manager. An entire month went by with no update. I ask my manager what is going on. He says “I’ve been asking many times and I don’t get a concrete response. If you hear anything before I do, then tell me“.

A few days later, I heard another team talking about the new seating plan. I told my manager as requested.

He says he has the seating plan “but I need to spend some time to digest it“.

What are you on about? Just send it to me.

It’s a seating plan that has been released, and many developers were already reading it. Why is he making out it’s something he has to analyse then explain to me?

Anyway, the conclusion is that desk moves are very disruptive, managers find it a really hard task and they change their minds about it, then this makes it seem like a bigger event than it needs to be.

Sounds Of The Office

When I need to concentrate on programming, I often put my headphones in and listen to music. Drowning out all the random talking really helps you focus on your work. If people are talking, I’d often want to listen just in case it is something interesting and work-related, or maybe some funny casual chat that I want to hear.

Periodically, I’d take my headphones out, or maybe I would have to because I want to speak to someone or have a meeting.

Although the general sounds of the office were fine, there were some sounds that would do my head in.

Many people also used headphones to listen to their music, but there was one woman that often had her music on really loud. One time I looked over and saw that she had hair covering her ears, a beanie hat over that, then the headphones were placed over that. So the speakers have to go through a hat and her hair to reach her ears. No wonder she has it that loud. Also, I found it more distracting if I recognised the song. When Tool’s highly anticipated Fear Inoculum came out, she was listening to classic Tool every day and it went on for well over a month.

There were a few people with really exaggerated laughs. In previous blogs, I have mentioned one guy which I nicknamed Beavis for his style of laugh, but there were plenty of others that often did a fake laugh. One person sounded more like they were in pain rather than having a good time. It stressed me out.

There was one person that coughed a lot but it was more like a “ah mmm” like a stereotypical teacher would do to get a student’s attention. It wasn’t aggressive enough to actually clear her throat so it just seemed pointless to me, and extremely annoying.

Maybe the worst thing is this next subject, because I wouldn’t ever consider doing this whilst at work. I didn’t realise until I heard these sounds in the office, but I think it is a sound where it’s very satisfying to hear when it involves you, but hearing someone else do it; then it is vile. There were 2 managers sitting a couple of desks behind me, the woman was filing her nails and the scraping sound was very distracting. The worst thing that had me cringing though – the male was clipping his nails. Like I said, really satisfying if I am clipping my nails, but hearing that “click” sound on someone else’s; it had me cringing. I had to put my headphones on and crank up the volume, and try to not imagine those fingernails fly across his desk.

Kicked out of large meeting room

Meeting rooms were a really in-demand thing. Managers do love meetings, especially pointless ones. Then when you really do want a meeting, you just can’t get a room.

There were two meeting rooms next to each other, located near my desk.

  • Meeting Room A holds about 8 seated people, but you can get more people in if standing
  • Meeting Room B holds 3 people but you can get more people in if standing

I was called for an ad-hoc meeting with 3 other developers. Both rooms were free at the time. We take the larger room (Room A), since there’s 4 of us.

5 minutes in, someone knocks on the door

Sorry, I have a one-to-one and have booked this room

My fellow developers didn’t seem interested in arguing, so I followed suit and kept quiet. It’s a one-to-one so it’s a meeting for 2 people. Room B is perfect for them.

So after moving to Room B, we were trying to crowd around a laptop – crammed awkwardly in our seats. Meanwhile 2 people were sitting comfortably around a large desk in the opposite room. It looked ridiculous.

Office Tales

Empathy Lab

As I just explained, Meeting rooms were in high demand so we needed more of them. Of course, we like cutting down the number of meeting rooms for some cool initiative. One of them was the “Empathy Lab”.

“We were inspired in part by Facebook’s empathy lab which shows how people with impairments may interact with Facebook using assistive technology.

However, when building our accessibility empathy lab, it was important to us that it had a dual purpose: To raise awareness about accessibility, but also be an assistive technology testing space.”

I never saw it get used, but I did see many people get frustrated that they couldn’t find a meeting room.

The Recruitment Letter

Beavis gets a hand-written letter delivered to work written in a green pen. I don’t think I’ve seen anyone get anything delivered with their name on it that wasn’t a package, mainly from Amazon.

He opens this suspicious letter, and it is from a recruiter apparently from LinkedIn.

She explains that the unconventional approach to contacting him is due to the fact that his profile lacks detail and therefore that signals he doesn’t want to be contacted by recruiters.

<Sure, that makes sense.>

She likes the lack of detail in his profile though; it’s the kind of person she is looking for, so she wants to meet in person and talk at a Café.

I’ve never heard of this before? Is it a weird scam?

AWKS

Years ago, I wrote about how I was working in a team that was making the framework for a new application. One of our developers, Timothy, got moved to a team known as “Solutions Team” who were making a framework for the new application. I had asked him how his team differed to mine, surely we were doing exactly the same work? He said he was just doing what the managers told him.

A new developer, Nina joined the Solutions Team.

She comes over and asks Timothy to send her some documentation so she can understand what they have done over the last few months. (The correct answer is “nothing really, just messed about and partially duplicated another team’s work).

You could see the absolute terror in Timothy’ face. I think at that point, he was probably realising that I was right all along and their team was pointless.

Nina detects the panic and says in a concerned tone “are you okay?”

Timothy says “yeah” dejectedly, and then mumbles about “maybe he should update the documentation.”

Nina says she will come back later

It was the most awkward situation in a long time.

Just Paste It In

William has been working closely with a Junior developer. The Junior had a list of objects and needed a simple sort.

William is new to Javascript, but the syntax is exactly the same as C#. He looked at the method signature and didn’t understand it, so he told the Junior to google it.

The first solution they stumbled upon on Stack Overflow had an overly complex solution, but the original poster did request he required only one method that can handle sorting various items. Therefore it required an elaborate solution.

In the Junior’s case; he just wanted to simply sort a list; therefore this code wasn’t appropriate.

William told him to paste the complex method in and “it will work”. The Junior challenged him on it, asking if the algorithm sorted the items in ascending/descending order, and asking him to explain how the code worked.

William then just reads the name of the method and the parameters, trying to say some words in a confident way to blag that it was the correct thing to do: “It’s a dynamic sort, you just pass in the list, along with the name of the property you want to sort by“.

The Junior asks again if it sorts in ascending or descending order.

He then says “yeah you are right, this might not work“.

He had no idea what that code did, he was just hoping it worked – so was just confidently telling him it would work if he just pasted it in.

I ended up telling him how to do it. It’s a one line solution; not a 30 line method.

“I did not realise I had to check it in”

Beavis was assigned a fix for a release. We support multiple versions so it needed to go into the “Release” branch (older version) and the “Main” branch (current version). Personally I think it makes sense to make the changes into the Main branch, then merge them into the Release branch. It probably doesn’t make a big difference really, but I told him that.

Beavis decided to ignore me and just check in the fix into the Release branch.

A few days later, one of the Release Managers tells Beavis that his change is missing from the Main branch. 

“I did not realise I had to check it in”, he lies.

Beavis

The thing is, I then check the difference between Main and the Release branch and there’s two other check-ins from Colin and neither of them have checked it into Main.

I don’t understand how we have these developers that have worked here years and they still don’t understand our process.

Pair Programming With Beavis

Beavis is a software engineer that loves making excuses to avoid work. Beavis had a bug to fix in the same area that his previous fix was for. For his previous change he did ask: 

“It’s a fix for the current release, so not sure if it goes directly in, or we Dev test before-hand.”

When developers say things like this, I do wonder how and when they test their changes. Do they just change a few lines, and “throw it over the fence” to the testers? Why does it matter what release it is for? “Oh it is for an urgent release? I won’t test it then”.

I don’t think he manually tested it, or even understood the overall context of his changes, but he did eventually add some unit tests which were logical and I believed would prove his fix would work.

The problem is now he has a new bug fix to do, and he still doesn’t understand the context. I was free so I was asked to help him.

For this change, we specifically needed to use a Virtual Machine. We were supposed to set them up a month ago, and Beavis had, crazily, logged 20 hours against this work on his timesheet.

Me: “Have you set up your VM?”

Beavis: “No”

Me: “OK, well that is going to take you the full day. So download the required programs and check out our source code”

I didn’t really expect it to take the full day. Maybe half a day, with a bit more time if there were problems somehow. I wanted to get a head start looking at the code so I had a better chance of training him later. I also thought if I allow him a day, at least it will lower the chances he is going to start coming up with excuses.

I began to look into the problem whilst Beavis was setting up his VM. The next day, Beavis doesn’t show up. The next day, Beavis returned to work but said he was having network/proxy issues so could not download the required software – so was stuck.

It took me a lot longer than expected, but even allowing Beavis 2 extra days, he still didn’t get ready. So I did it all myself.

VMception and other Tales

We were supposed to be using a program to connect to a Virtual Machine. Some of us encountered a bug that prevented us from installing this software on our company laptops.

One developer asks

“Would we be able to install it through a Virtual Machine?”

Yeah of course. Let’s connect onto a Virtual Machine, then install some software to connect to another Virtual Machine that we actually want to connect to. Brilliant plan.

A Virtual Machine in a Virtual Machine. We could make a film about it – like Inception.

What we actually did is log the bug with the provider’s support team, and they quickly fixed it.

Chapter 2

We were given instructions on how to install this special Virtual Machine. We already have Office365 accounts, but for some reason, we were given a separate email address to use just for these Virtual Machines.

Beavis managed to make excuses to take the previous week off. When he finally returned to work, he wrote “I’ve been sent instructions; am I supposed to be configuring this virtual machine?”

<sarcasm> No, you just got sent the instructions to ignore them.

“I think it only works when you remote onto your work PC” 

Rob

No Rob, it’s literally why we are using virtual machines, so we don’t have to remote onto something physical.

Then Beavis is up to his usual tricks, delaying as long as possible just to get out of doing work. He posts on slack:

“The instructions say to log in using my new email address. Do I have to log out of my usual work email because I’m already signed in?”.

Beavis

Is that a serious question? How many websites allow you to log into them with two different accounts at once? Just log out, or use a different browser. Simple.

The other thing of note in the instructions was the 2-factor-authentication. “If you use another app like Authy then you need to download Microsoft Authenticator as well.” I guess the instructions could have just said “You must use Microsoft Authenticator”. That would have been clearer.

Another team member says “I’m getting an error”

“What app are you using?” 

“Google Authenticator”

<facepalm> (-‸ლ)

Meet The Team

So I’m in my new team now, and it’s pretty much like I expected. There’s one good Senior developer, some good testers, some bad testers, then a few bad developers. The ratio of developers to testers is a concern, because there’s way more testers than developers, and the standard of developers is poor.

Guess who the bad developers are? The Colins are here, and so is Beavis. Completely called it (see A New/Old Adventure).

The good thing is that I can definitely look good compared to everyone else. I did say there is one good Senior, although I don’t know much about him. He does have a good reputation in the company, so I expect him to be much better than me. He is part-time though.

The more I explain about this team the worse it gets doesn’t it? Part-time staff, incompetent developers (Colin), a developer that doesn’t show up (Beavis), too many testers.

It’s good for the blog, if nothing else.

King Of All Excuses: Part 2

Beavis was the first to start working at home due to the Coronavirus outbreak, but when he should have been ready to return to work, the CEO made the call to send the entire company to work from home until further notice.

Since he doesn’t have to make excuses to work at home, you would think the excuses would stop. But no, they continue:

Day 1: His daughter is ill

Day 2: The schools are closing so he is going to have to arrange some childcare. He didn’t mention why her grandparents couldn’t look after her, but he said ideally he would have gone to his brother…but he has Coronavirus. I wish I would have checked reported cases of Coronavirus at that point to see how likely that was.

Day 3: Apparently he was still looking after his daughter, but could spare the time for the 1 hour meeting. The manager asks to repeat the meeting tomorrow. Everyone in the team can make it; apart from Beavis.

On subsequent days, he ran through a variety of excuses why he couldn’t work at all, or why he could only work limited hours.

Couldn’t work at all:

  1. He was ill
  2. Daughter was ill

Reduced hours:

  1. Windows update took 3 hours, so he had to wait for it to finish. It’s weird that the whole team has Windows and no one else had updates that lasted more than 10 minutes.
  2. Was available to work, but needed to spend time freeing up hard disk space
  3. Was available to work, but his daughter kept climbing on him so was unable to concentrate.

I accept that he has a young daughter, and between him and his wife – they need to look after her. But if his wife has chosen to work, then he needs to take annual leave, or accept unpaid leave. Maybe they should both reduce their hours and alternate the childcare. They need to do something. It affects the team when he is assigned work, he says he can do it, then the next day – he says he couldn’t because his daughter needed attention. It’s not a one-off; it is an excuse 90% of the days.

One of his tasks was to install 2 software programs, and he ended up logging 20 hours against it on the time-sheet. People did encounter issues logging into these programs, but we just told the guy who was in charge of this initiative and left it with him. It’s not like we actually had to spend time diagnosing issues. It should be 2 hours max.

King Of All Excuses

Beavis seems the king of working from home. I don’t think I’ve known anyone work from home as much as he does. His excuses often seem strangely worded. Most people will just say “My daughter is poorly” or “I’m getting work done on the house”, you know; simple, straight to the point, and not disclosing personal details.

Last week, at 10am Beavis wrote something like “I have a poorly pip. She was meant to get up at 7 but got up at 9, so I have to work at home”. I had to read it a couple of times to realise that “pip” was presumably his daughter. But then I wondered how he didn’t get her up at 7. If he really couldn’t get her up because she was ill, then surely he would know by 8 that she ain’t going to school, and he ain’t going to work. At 10am, why is Beavis declaring he isn’t coming in, when he knew that long ago that he wasn’t coming in?

His excuse this week was that it was “Pip’s first day at School so I’m taking my parents down. Once they are sorted, then I’ll be back to work as normal”. Again, I had to re-read it a few times to make sense of it. He meant he was taking his daughter and parents to the School. His daughter will stay there, and he will drive his parents back. Now they know where the School is located, they will handle the child-care from now on. The “taking my parents down” phrasing sounded funny, like he is gonna kill them.

However the next day, he is working at home again because he “needs to take care of the bloody parents”. Dammit Beavis, you have really gone and killed them and now you have to bury the bodies.

Also, if Pip hadn’t started going to School, where does she normally go that her illness prevented her from going to? If his parents were free to take her to School, why couldn’t they have looked after her when she was ill? Presumably they did look after her prior to her starting School.

Too many unanswered questions. I think he is lying his way out of his murder spree.

Recently, the Coronavirus has been becoming more prominent. Now there is strong advice that if you show any symptoms, then you need to self-isolate, which means you have to work from home for at least a week. So it was no surprise to me when Beavis declares himself as self-isolating.

I don’t know how he gets away with it. There is no way someone can have such bad luck that he gets impacted by all these personal and family afflictions.

Beavis and the Mail Merge

Beavis was fixing a bug where the header in a mail merge didn’t display the correct label. Each country has a different name for their Identification numbers. The data was correct, but the label always showed the English name.

He comes up with a fix where he checks if the region is Scotland or Wales, otherwise he returns the English label. What about Ireland? The bug still remains. What about other countries we support in the future? This will require a further change to this code.

He takes the text from a resource file which is fine. He wrote some unit tests which covered his few scenarios. However, he was comparing the returned value to the text from the resource file. This means if someone accidentally changes the text in the resource file, then runs the tests; it will still pass. The tests should have been written with hard-coded text so isn’t so coupled to the actual implementation.

When it was submitted to review, the Lead Developer comments that it doesn’t fix all scenarios. He also made a brilliant point about another aspect of Beavis’ code. He was taking the customer’s information from the currently selected customer. This is mail merge. Mail merges are often done in batches. There isn’t just one selected customer, but a list of them. This could take the wrong person’s data.

A few days later, Beavis finally came up with the expected solution. The next day, it still isn’t checked in, and his update was along the lines of “I’m updating my branch”, which should only take a minute, not the entire day. I checked the history of the Bug. It has taken him 2 weeks, when I reckon I would have completed it in a day.

Later on, I overhear a Lead Developer express his concern to a manager that Beavis had been really slow and hadn’t showed any thought or care about his work.

It’s nice that it has been flagged as an issue.

Different Git Server

After being on a new project for a few months, Beavis is told he has to fix a bug in the old system. Now, both codebases are stored using Git source control, but they are located on different servers. Other than the initial connection, accessing them is the same, so if you are using the command line, the commands are exactly the same.

Beavis, a Senior Developer states that he has the code checked out from months ago, but it will be now out of date, so he needs to get the latest changes. He then says “do I need to create a new branch to get the latest code? And if so, do I create it on the server and sync it down, or create it locally and sync up?”

Beavis, it’s the same process you have been doing for the last few months. Sync to get the latest changes, then create a new local branch for your bug fix to go in.

In the end, I think he asked another developer who doesn’t understand Git very well and Beavis ends up cloning another copy of the code.

Facepalm.