Employee Profiles: Steve

I found loads of chat logs from work, and additionally found a few quotes I wrote down from various employees. So today we are going to discuss the legendary employee Steve.

“Steve looks like a confused garden gnome that lost his hat”

Adam – colleague

Introduction

Steve joined as a Software Developer, and I think Steve’s carefree attitude meant his code was a bit inconsistent in quality. I liked working with Steve though, he was often quiet and just got on with his work, not really paying attention to anything else. It’s a pro and con really. Work got done (though often you had to prompt him to tidy parts up, or spot mistakes for him to perfect it), but then he didn’t know who many employees were because of the lack of attention around him. When he joined in the banter, he was quite “laddish”. A simple northern lad, Steve was well known to like his food and beer.

I just looked on his Facebook – and under “Political Views” it says “Democratic Alliance for the Betterment of Hong Kong.”

Andy

Sometimes he seemed to be quite unlucky and trivial events became more hilarious. Once, Steve opened up the window to let a butterfly out, and another one came in.

He always wore a t-shirt and even when the aircon was chilly, he loved opening the window. Sometimes even had the fan on whilst sat next to the open window.

Me 13:13:
how come Steve has a different body temperature to everyone else? Sometimes I think he isn't human
Andy 13:13:
haha, has he got his fan on?
Me 13:14:
he has the window open. Last week the air was directed at us so we were freezing. Now we have got him to open a different window, it's not so bad. Although, after a while, it does get freezing but Steve insists he isn't cold. Meanwhile Liam just said "I'm wearing my headset to keep my ears warm"

Knowledge of Colleagues

“I know people that are relevant to me”

Steve
Matt: "Do you remember Colin?"
Steve: "No, of course I don't"

“out of all the companies I’ve worked at before, I can only remember about 2 names”

Steve
Me: "Why is Simon leaving?"
Steve: "I don't care"

After our team member Paula moved up to Scotland and worked in our office there, Steve asked if Paula “was on her own, or if there was someone else on her team up there“. Paula is on our team, therefore if someone else was on her team, they would be on our team.

Charlotte asked Steve who wanted all these database changes and he said “John Bundy”. There is no colleague called John Bundy, and there never has been.

Matt: "The documents work item needs moving off the board because the Documents team are doing it"
Steve: "who is doing that? is it Gary?"
Matt: "No, it's Tony. You emailed him about it last week"
Steve: "Oh yeah, I did"

In his update, Steve once said “A chap called Jon Reaves has made some changes”. Jon had worked there for several years and is well known to everyone. Saying “a chap called” suggests he had never heard of him and thought he was new.

Food

Having 2 glasses of wine a week is unhealthy. You should be aiming for 30 units a week, mainly from beer.

Steve

“I’d rather eat my own feet than a KFC”

Steve

“Giving up beer and pizza is never a good idea”

Steve

Tracey was explaining how she went to London and had a fancy meal in Gordon Ramsey‘s restaurant. Steve chimes in:

“I went to Sheffield and had a kebab”

Steve
Matt: "I tried loads of stuff in Vietnam, no idea what it was"
Steve:[loud and affirmatively] "Bollocks"

It could have been testicles, Matt was explaining the interesting and different meals they have there, but it was funnier the way he said it like he had no doubt it was that.

“Four pints is what I call breakfast”

Steve

Steve was complaining that the office canteen has had “Toad in the Hole” for 2 days running. I said “I bet you ate it anyway”. Then he replies in a passive-aggressive tone:

“what else am I gonna do? eat the vegetarian option? Not likely.”

Steve

We once had 2 offices located close together. Our team had moved to the other office but we received a mass email from Mark stating he had brought cake in and placed it in the kitchen. Steve started walking to our kitchen (in the different office), Matt told him it’s not in that kitchen… but Steve checked anyway! He was desperate for that cake.

“Chickens come from seed which comes from oil”

Steve

Matt was originally talking about cars. Then Steve said all food comes from oil, then said that. I was instantly lost.

Software Development/Attitude to Work

“Matt! Myself and Phil are having a bit of a disagreement, and it’s about to turn to blows”

Steve
Matt: "Steve, have you done your Information Governance training?"
Steve: "I did it last year"
Matt: "what does the email say?"
Steve: "It said it is fine"
Matt: "Read it again"

In our team “Retrospective” meeting, we had to vote for “Team Member of the Sprint”. Steve voted for me. Matt asked him for the reason and he said

“I was hoping there wasn’t a second round of questioning”

Steve

A few weeks after finishing the Online Request project:

“Do you know how to switch on ‘Online Requests’?”

Steve
Me 13:41
guess how many unread emails Steve has. It's like he has been on holiday for weeks
Dan 13:42:
100
Me 13:42:
way higher
Dan 13:42:
500
Me 13:42:
closer, higher!
Dan 13:42:
I give up
Me 13:43:
550

No wonder he didn’t know what was going on.

His manager, Matt once stood at his desk and simply stated “Steve”, and Steve was baffled. I correctly assumed it was his one-to-one meeting. Even after Matt told him to check his calendar, Steve was still baffled what it could be. Classic Steve. Probably a meeting request in one of his unread emails.

We once had a meeting located in the main office. All our team dialled in remotely apart from Steve. From the video feed, we saw him walk into the meeting room late and say something to Adam.

Andy 12:36:
did you see Steve randomly turn up to the meeting?
funny as can be
Me 12:36:
yeah
Andy 12:36:
Mia had tears streaming down her face
Me 12:36:
why?
Andy 12:36:
cos why did he turn up when everyone else on his team dialled in
Me 12:37:
did he ask Adam if he was at the right meeting?
Andy12:37:
yeah!

“I was thinking of going for ‘Looks Good’ because there’s too many files”

Steve on doing Code Reviews. Too many files gets instant approval.
Charlotte: "what did everyone think of the meeting yesterday?"
Steve: "What meeting?"
Charlotte: "the meeting with Ronnie"
Steve: "oh, that. I'll be honest with you. I wasn't listening. I have no idea what was said"
Steve took an extended lunch break, and then later he went for a long walk. Matt challenged him on it "Didn't you go out for lunch as well?"
Steve said "yes" with a right cheesy grin
Doesn't care.

“Soon, I’m gonna be introducing lots of bugs. I’ve nearly finished my work; and I’m not dev-testing it”

Steve
Dan 16:18:
is he… what!? is he trying to get fired in the same way you'd act like a jerk to encourage your partner to split up so you get to feel morally superior?
Me 16:18:
haha, great example

A similar example…

Matt: "Steve, are you sure these changes haven't broken anything?"
Me (with fake confidence): "Yeah, because he ran the unit tests"
Steve: "Have I? I only ran the build"

Steve wrote a unit test with the following test data (Michael Jackson).

string doesNotContainsNumeric = "you know I'm bad, I'm bad, you know it, I'm bad";

He often used his name in variable names. He was supposed to choose good names before submitting it to review, but he sometimes forgot. Examples:

boolSteve
strSteve
SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "IOn", Justification = "steve") 
Me 13:53:
user.Surname = "O'Cake";
user.GivenName = "Pat";
Andy M13:53:
i'm sure i've seen that before
Me 13:54:
reminds you of your days in Pre-school
singing children's songs
Me 14:14:
OMG STEVE IS HILARIOUS
Matt googled Pat O'Cake and its a character from Bottom. He asked Steve about it, and he said "I wouldn't Google them all though, sometimes I use pornstar names"

Then a week later:

private const string _vouchingUser = "Bearstrangler McGee"; 
Andy 10:52: 
wtf
Me 10:52: 
Steve special
I never dare search for anything Steve puts in unit tests after he said "I sometimes use porn star names"
Andy 10:54: 
haha
i hope that's not the name of porn star

Then there were some interesting reasons:

Me 14:48:
"CancellationReason\": \"patient has lost keys to handcuffs\"
why is Steve different?
Andy 14:48:
what the hell?
Me1 4:48:
const string cancellationReason = "patient was visiting a massage parlour";
Andy 14:49:
is he checking this stuff in?!
Me14:49:
yes, it's in our branch
Andy14:50:
he's an absolute lunatic

Steve was working on fixing a bug that Matt was also fixing (but we didn’t know it at the time). The next day Matt and Steve were both on annual leave, so Matt had handed his work over to me, and Steve handed his over to Jim. I finished my work, and Jim even passed my code review without even realising the similarity. It’s like a comedy show sometimes.

Steve had completed a feature, but his changes had broken Matt’s last bug fix.

“it worked for my user story”

Steve. It’s like the classic “it worked on my machine” that software developers love to say

Steve completed the work for saving Users to the database. I just tried it and it crashed. We asked him how much testing he did and he claimed it was all working. I showed him and he said “I forgot about that way”. There are only two scenarios, add from existing user, and add new user.

“I don’t think the Database Tool is working. I think it is completely goosed”

Steve

I just caught Steve smurf naming even though in his last code review, Phil told him not to.
So then he looks up Smurfs on wikipedia. He clicks Smurfette and says “I’ll see if she is fit“.

I have no idea who brought a “dunce hat” in, but we decided that if you somehow break the build, then you wear the hat. Steve wore the hat quite a bit.

“I don’t need to wear the hat; I haven’t broken the build. I’ve just broken the product”

Steve

Not sure how he did it, but Steve once sent code to review which had the same title as the previous change he did. It also had the wrong User Story linked to it. (-‸ლ)

I told Steve that he was supposed to roll back one of his work items. After a few seconds he said it was done. I was sceptical. He said that I had already deleted the other part of the change. So I looked, and I hadn’t. He then said

“to be honest, I didn’t even look at it. I didn’t even compile it”

Steve

Miscellaneous

“Any advice that starts with ‘do not expose’ is good advice”

Steve

Liam was telling Steve that an angry resident left him a note on his car telling him not to park there again. Steve then comes out with this…

“Just piss through their letterbox”

Steve

We were playing badminton after work, and Steve said he had to rush off. Mike asked “are you doing something interesting?”. He said his parents were coming over later and he had a massive stash of weed to hide or smoke.

“I accidentally googled porn with my mum on mother’s day”

Steve

He was helping her with a crossword and the clue was “goddess of nature” and he wrote “goddess of mature

Renaming “Master” in “Scrum Master”?

During the Black Lives Matter movement, the “tech community” debated whether the “master” branch (in terms of source control) should be renamed to “main” or similar. This was then adopted by GitHub as the new default.

Recently, I wondered if the same debate was had for “Scrum Master” in terms of Agile Development. The “Scrum Master” is a responsibility to organise the Agile meetings such as the Daily Scrum aka Daily Standup. The scrum nomenclature was adapted from Rugby.

I found a thread on scrum.org which argued for and against, but the community definitely settled on keeping the name. The difference between a “master” code branch, and a Scrum “master” is that the Scrum Master is about mastery, and not a master/slave relationship. So it’s the same word but different meaning and origin.

Thank you for your input and we will pass it forward to Ken and Jeff. Please remember as Ken and Jeff have always said, the role of Scrum Master is one of Scrum mastery and not in any way related to being the owner of the team as the team is self-organizing and self managed. Scrum Master  a role and not a job title taken from the ideas of the master carpenter which dates back thousands of years.  GitHub on the other hand literally used Master and Slave meaning that one controlled the other. 

That said, a lot of things are always being discussed and considered and your courage to bring this forward is greatly appreciated.  

Eric Naiburg

I’m sometimes embarrassed to tell people what I do because of how arrogant or self-important I think my job title and role make me sound. Whether one agrees the name should be changed or not, public opinion on the word “Master” exacerbates this problem.

Simon Mayer

Piotr Górajek calls people out for virtue signalling.

I will put here a little different perspective. IMHO this is ridiculous to push for change words only for the sake of pushing for it. How do you come to an idea that one word, put out of its’ context, should be changed because of “racism connotations”? Each word have a lot of meanings

Piotr Górajek

The word master is clearly a person that masters the framework, a coach, a person that has a mastery or “expertise” on something. With this line of thinking why we do not rename the Master degrees from Universities? MSc titles should be renamed as well?

Alexander Leanza Bøhnsdalen

There’s a good amount of sense in what Alan Eustace says

I wanted to observe a couple of things.

It seems like most, if not all of us, engaging in this conversation, are white. On what basis can we evaluate the impact of the terms we’re discussing?

Changing terms/language alone will not eradicate systemic and institutional racism. And yet language and symbols are powerful. 

Language changes over time to accommodate shifts in cultural sensibilities. There are plenty of examples of this.

Personally, as I mentioned above, even before recent world events, I have disliked the term “Scrum Master” for some time. I have not found it helpful, and continually have had to explain what is, and what is not, intended by the word “master”. 

Alan Eustace

“Organizations choosing not to respond to #BLM in a productive way will cause negative perceptions ranging from being perceived as tone-deaf (best case); indifferent to institutional bias; or racist (worst case).”

Phil Bryant

I’m not sure on Phil Bryant’s view. It defintiely seems like virtue signalling, and I’d say it’s quite tone-deaf changing things that don’t need to be changed and drawing attention away from the real issues. People are protesting against police brutality and we are trying to rename Scrum Master into Scrum Facilitator or something.

Now consider a team with a white Scrum Master. Every day, the members will hear their leader referred to as their Scrum “Master” – unless we make a change. As Agile practitioners, “We value responding to change over following a plan.”

Phil Bryant

Now consider a team with a non-white Scrum master. WHAT ARE YOU GONNA DO ABOUT THAT PHIL!?

The problem with choosing another word is that many other words can also have some kind of offence if you really study them. Sean Hoegaarden says

Scrum Wizard will be a problem for the same reason as Master (KKK), Scrum Captain too (slave trade ships), Scrum Samurai is obviously cultural appropriation, the Scrum Alchemist has antisemitic reminiscences… I hope we will not end up with something like an Agile Clown…

Sean Hoegaarden

Can I suggest we go to the home of where the terminology “Scrum” came from – i.e. Rugby.

The key role in a Rugby Scrum is the “Scrum-Half” for example.

Mohamed Hesham Jurangpathy

Sorry, but if someone starts calling me a Scrum Hooker instead of a Scrum Master I’m not only going to be offended, but probably initiate some fisticuffs!

René Gysenbergs

In conclusion, if the name is deemed inappropriate or irrelevant by the community (and we need non-white people to be part of the decision, rather than white folk just virtue-signalling), then the Scrum community can look to change it. However, deciding on a new name that doesn’t involve cultural appropriation or cause any other offence – seems harder than first thought.

Country Sales

Different departments across the business have been doing presentations to give other departments visibility of what they do. I think it’s a good idea, because as a Software Developer, I only hear the likes of Support and Deployment mentioned occasionally, but there are other departments like Sales, Marketing, Finance and sometimes it’s difficult to know where the responsibility lies with some aspects, especially when there’s teams within those departments with different responsibilities.

A recent presentation was by “Country Sales” and I still don’t know much about them.

Q Why is the team called “Country Sales”? I assume it doesn’t mean you’re all in waxed jackets, tweed flat caps and wellies.

A: “I think it’s just that we cover the whole country (we used to be North and South). We now cover England, Wales & Northern Ireland.

The thing is, we also do business in Scotland, and islands like Isle of Man and Jersey, so not sure who covers them then.

Even more confusion arose when someone said “we have an allocated area of the country where we work closely with customers“. So that sounds like they are assigned to a region, like a county, and not a country. Big difference there.

So now we have determined that Country Sales is just a fancy, and confusing name for a Sales, let’s attempt to understand what job roles are involved.

It seemed most people had a job role of Account Director. Director sounds like some massively important job, but then there were Junior Account Directors too so I imagine it’s just a standard job with a very pretentious title.

“we work with both current and non-customers and offer a range of solutions to fulfil their needs”

Is that another pretentious statement? What’s a non-customer? Surely if they engage in a sale then they are instantly a customer?

What skills are involved in the Account Director role?

  • build and maintain a rapport, and to understand roadmaps
  • self confidence in the product and yourself
  • active listening to understand customer needs
  • wealth of knowledge of the solutions
  • point of contact for queries and customer escalations

“You do not need a sales background for this role”

Account Director

Surely you do need a sales background, or you will start as a Junior. So this sounds like a pointless statement, unless you really can go in on a bigger wage without knowing how to sell?

“anyone with a role within the company can potentially sell the solutions. The majority of staff are more able than me in terms of solution knowledge”

Technical Architect for Sales

That’s going on his end of year review. Weird how you’d think it would be a skilled role and require charisma, and then he reckons anyone can do his job, and do it better than he can. It sounds like you can even become an Architect without actually knowing how to sell.

One of the questions at the end from the audience was:

Q: What are the reasons for losing business?

“I have my own suggestions, but I’ll pass this over to John. As someone who is new in the role, do you have a different viewpoint on this?”

Surely the experienced person should be able to give a detailed answer, and he never even told us what his “suggestion” was after John had given his opinion.

“Despite my haggard appearance, I am the baby of the group”

John

The new guy, John said this:

  1. When the software doesn’t do what they need it to do.
  2. They are currently on a different “sales framework” (whatever that means)
  3. Pricing – but he made out it was if it costs us too much to deploy it to them rather than our software being overpriced to them

My suggestion: what about bugs in software, our reputation etc. Surely these aspects would cause potential customers to look elsewhere, or existing customers leave. Conversely a very positive reputation would naturally draw in customers and make sales easier.

:man-shrugging::skin-tone-2:

Technology Vision Statement

At the start of the year, we were presented the “Technology Vision Statement” for 2022 by our CTO. Since we are around half-way through the year, I thought I’d revisit and critique it.

The year 2022 will be the year of delivering cloud-ready, higher quality software at a faster pace. Our data will be integrated across products and be accessible via standard interfaces and we will begin a common user experience across our settings. Our business transformation will continue with SAFe, nurturing our talent management and the introduction of DevOps.

Technology Vision Statement

So picking out keywords from this statement – are we on target for achieving this?

Cloud: Some teams are on projects involving “the cloud” but some of the projects are very basic and not exciting to the users. One project involves migrating a single column from a single database table into cloud storage. That’s right, one single column. The user won’t see any difference, it’s just some internal benefits but I think it has been a few months work.

Faster Pace: I completed a project back in January and I think we are planning on releasing it at the start of July. We are releasing software at the slowest we have ever done.

Data accessible via standard interfaces: I don’t know what this refers to. It sounds like we are implementing some amazing API that can work across all of our products.

SAFe: This is the Scaled Agile Framework for Enterprise. Most teams are working in this way, but my team isn’t.

Nurturing Our Talent Management: I think recruitment has been minimal and I think we have lost more than we have recruited.

Introduction of DevOps: We already had “DevOps”. I suppose we have improved the test environment pipelines so this might be the closest we have got to achieving this vision statement.

“Our people are valued, empowered and trusted. We are inclusive, authentic and thrive on our shared success.”

We were then shown a “hype cycle“. There wasn’t much explanation on this and I’d never come across this terminology before.

It looked pretty identical to this graph that I stole from the internet. 

will m : 
O less than 2 0 2 5 years 
.5 to years 
A ' O years

It had loads of products/features along a graph but the labels don’t exactly give a positive view on them. Are you hyped for a product that releases during the “Peak of Inflated Expectations“, or the “Trough of Disillusionment“. Maybe I need to read more into what this means.

Another similarity was that our graph had a lot of similar jargon-based features. Many that I didn’t think we would release, and I haven’t heard anything about these projects either such as: “Assisted Robots”, “Application Marketplace”, “Consumer Wearables”. Given the labels have products that are up to 10 years, I suppose they could just be conceptual ideas of where we want to be headed.

We then were shown a list of objectives under different categories which aim to “deliver the strategic vision“. Many are repeats from the vision statement, but then there’s added buzzwords and ideas like “innovation“, “increase efficiency“, “control costs“, “implement tech strategy“, and “implement agile coaching team“.

Shoes 2

It’s hard to believe this is my second blog on the topic of shoes – when this is a software development blog.

I recently discovered the BBC Archive channel which shows clips from back in the day. This one is from 1987 for “Smart Trainers”.

It’s interesting how they were trying to make products like this 35 years ago. I don’t think it’s very practical for outside use though, I wouldn’t trust it in water. It’s probably just designed for gym use only.

It’s funny how he doesn’t successfully demo it. I did wonder if it was just taking a long time to load and he didn’t have time, or if the program had legitimately frozen. Either way, the product didn’t seem very appealing. Wearable tech such as wristbands seem much more practical than Smart Trainers.

For Star Wars fans, I also liked this interview with Carrie Fisher and Mark Hammill

Farcical Development: Templates

The Plan

A developer in my team, Isobel, was free to pick up some work, and she knew another team had too many items assigned, so their Team Lead contacted us to ask if we could pick up the work instead. 

I wasn’t opposed to the idea, but we didn’t know what the enhancement was at the time, so didn’t know how long it would take and didn’t know if our Testers would be available to test it, or would the other team test it? It’s unclear, but their Team Lead wanted me to commit and accept reassigning it to us.

When I looked at the enhancement details, there was loads of confusion because it had loads of code changes linked to it, and was logged about a year and a half ago. It turns out, a year ago, a developer had done the work, checked the code in, but then got told to “roll it back” due to lack of testing resources. Then instead of going into the next release, it was somehow delayed a year… Now we have a lack of development and testing resources! 

There was this comment too:

The change will then need to go out as an urgent/emergency release. As the functionality is deemed potentially unsafe, we only have 7 days to get it out, it’s actually 6 now as it was logged yesterday.

1.5 years later… 

There was another item I was assigned recently, and that had similar chaos with how long it sat on our backlog

10th November 2020 - bug logged
15th September 2021 - assigned to the team

No wonder our users are often reluctant to report bugs because we don’t seem bothered about fixing them. Then our release process is also really long so sometimes there’s a 6 month lead time after we fix it.

I'll try and quickly explain the feature: Users can create these Templates which are composed of components. There's these special "calculation" components which use data added to the record and give you a score. Users can add data-entry components to the template which can be used by the calculation components. However, it's not clear which data is used, and we can change the calculation formula at any time; which makes it “unsafe”. You can also group several components together to make a Group Component. So the plan is basically to stop users from adding these calculator components, and they have to use our own Group Components which will have the calculator and the prerequisite data-entry components with it. For existing templates, we just have to show a message, telling the users their template isn’t recommended to be used.

I was invited to a meeting along with Isobel, and the managers tell us that all we need to do is take the old code, update some user-facing text which the UX team will confirm, then it just needs to be tested, but it should all work since it was ready for testing over a year ago. So in terms of development work, it sounds like we’d spend more time in meetings and generally discussing the work – than actually doing the work. (I later find out this is not true).

Assigned to Isobel

I tell Isobel to go through the changes and make sure they really do meet the requirements. A few days later, Isobel says she is on annual leave for 2 week but the changes are fine. The next day, I’m told I should look at it instead.

Assigned to Me

After an hour of testing it out, I find that there was:

  • A control partially truncated
  • Some extra spacing in one of the error messages
  • Some components that were disabled that shouldn’t be
  • Inconsistency in behaviour between “Templates” and “Templates Pro”
  • Group Item logic was completely wrong
  • Blank warnings were appearing for all other components

So how did the original developer think this was ready? Why did Isobel think it was ready?

So I start to fix the issues and I find copy-and-pasted code, redundant code, unclear code, code which could easily be unit tested but isn’t. I spent around 3 weeks sorting it out and it still wasn’t perfect. Meanwhile, I was invited to other meetings to say they changed their mind about some features. I had to undo some changes, change more UI text, and disable a few more components. In hindsight, I think I may as well have binned it, and started it again from scratch.

When I thought it was ready, I had the Pull Request created in the first week of January, ready to be checked-in for testing, however, there were no testers free, so it sat there for a month.

Eventually, the testers begin testing it and find a few problems with it. I fixed 3 out of 4 issues, but the last one seemed to be impossible to fix due to another bug which really needed to go to the specialist team that dealt with that area. 

The actual template knows where it came from, but the Group item inside doesn’t. There was this interesting variable name that made me smile.

isOneOfOurs

I showed it to a colleague

“seems like Britain First wrote this”

Bants from colleague

There was some code where we set the originID to either the user’s or our organisationID. However, it set it to 0 which then assumed it was one of ours. I tried looking at one of the other properties which was a different type of ID; a GUID, but it was blank, so it was broken there too. 

I couldn’t see a simple way to fix this. It would be far too risky for me to change, and I definitely didn’t have time. So I got told to abandon it and it would be reprioritised.

I think it was around 6 weeks later, it was assigned to another team. So it is now it’s with its 4th team, approaching 2 years later. Maybe we can call this a “pass the parcel” enhancement.

Assigned to Kumar

I was aware that the development re-started (along with some other requirement changes) when I saw a Pull Request for it. It was from Kumar, a developer in India that is absolutely rubbish. Not only that, it is quite hard to help him because his English is fairly poor. I also can’t tell if he is trolling, or if he really is that bad.

I would have thought that Kumar would have been told to speak to me about the work so I can “hand it over”, or at least he should have seen my name and comments on the item and shown some initiative and asked me about it. As it goes, this new change was something I already had fixed, it just wasn’t checked in. I could tell his fix wouldn’t work just by reading his changes. I message him telling him this.

He later responds with this conversation:

Kumar  10:11
Hi Mate
10:12
With the changes i have raised as a PR, I created a page as Group item and section as well with itself containing the components as Group as well as non Group items and it seems working  .
can i share you the screen mate ?
Me  10:14
so a user authored page/section Group item which contains one of the components - shows the message
and a Officially-authored page/section Group item which contains one of the calculators - does not show the message

Kumar  10:14 Exactly mate Kumar  12:34 Hi Mate, Shall i comment out that the fix has completed the scenario we discussed here ?

I didn’t believe him, so I checked his code out, built it and tested it out myself. Obviously broken as expected.

Me  12:50
just trying it now and it looks broken to me
got an Officially Authored Group Page and all the components have warnings next to them
Kumar  13:10
Ok dude, I will have a look on it.
Kumar  13:31
Hi Mate, As u said it was showing up all the warning
I might have not removed the Pages and section flag check for showing warnings
will debug the code mate,

The next day

Kumar  07:12
Hi Mate
Good Morning Mate

I look at the latest Pull Requests and see his new changes. Instead of taking my code that I know works, he has come up with his own solution. I think it might work, just harder to read.

Me  08:59 did you test my changes or just write that yourself? 
Kumar  09:11
no mate i have took it from latest service branch of my team
was everything fine mate ?
i tested that locally and working fine
Me  09:13
it is similar to what I had done, just more lines of code
Kumar  09:14
haha, ok mate i will make the changes as suggested in the comments
Thanks Mate

It’s not really funny. You just wasted a full day’s work because you didn’t just use my code.

I explained to him that this item is a bit of a nightmare since there’s multiple places you need to change due to “Templates” and “Templates Pro” which doesn’t share much code. Then there’s some existing bugs, and many different combinations of templates you can create. He doesn’t seem to test his work at all, so I think he had no chance of getting this working. I was trying to emphasise how much testing needs doing with every change to try and get him to put some effort in. Unit testing would help alleviate some of the manual testing. The next day…

Kumar  13:27
Hi mate, Good noon
It is becoming a night mare as u said :joy:, i have completed with the unit test case also have fixed other area like Warnings were happening in the “Admin org” too. i have fixed that now. Kindly review and guide me to proceed further
Me  15:58
<send him picture> that should have the main yellow banner at the top shouldn't it?
Kumar  15:58
If it was a “Admin org” org, it should not have mate
Me  15:59
it's not
Kumar  15:59
Then it should have i believe
haah, one more PR patch upcoming ..?
:exploding_head: literally with this work
Me  16:17
I suggested 2 unit tests. You have only done 1. I think it is the other scenario where it doesn't work
Kumar  16:32
Ok , but if the method will not execute if the template was Group template mate, so do i need to do that as well ? in turn it returns empty
Me  16:40
isn't your requirement that it shows the message regardless if it is Officially-authored or User-authored
Kumar  16:41
yes, that is the requirement
i will check on the code once again mate
haah lil confusing

Although the overall work is confusing, this is one of the simplest parts of it: Show a message regardless of who created it. If the method is “returning empty” then that is the bug, it should return a message.

There was a line of code like

if (!configEnabled && activeSubscription)

and he changed it to

if ((!configEnabled && activeSubscription)
||
(configEnabled && activeSubscription))

so I wrote: “so just activeSubscription then

Kumar: I am not able to get ur point here, kindly guide me

Me: “true or false” is always true isn’t it?

Kumar
yes mate, so shall it be framed like this
if ((configEnabled || !configEnabled) && activeSubscription)

NO! That still says “true or false”. I was trying to think of how I can write a response without telling him he doesn’t understand the very basics of programming. This is like Day 1 of learning how to write code.

Kumar: haah, I got it, just “activeSubscription” is enough isn’t it?

I was glad he seemed to understand in the end, because I was tempted to tell him to change his career…then he adds:

“correct me if I am wrong”

He has zero confidence.

The very next day he then tells me there is another requirement to remove the banner that he has been changing, so “is there any point carrying on?”. He sends me a screenshot of the requirement rather than giving me a link. He is definitely sent here to troll.

I’m sure he must have known about this, and I don’t know why he either:

  • didn’t make the deletions first (it would reduce the amount of code and reduce confusion)
  • not change any code he knew he was going to delete

So he made changes trying to fix a feature he knew he was going to remove. I had invested time reading the code, manually testing it, and all this back and forth communication. What a waste of my time.

Unassigned?

The good news is that he is leaving so he is going to be another company’s problem. The bad news is this enhancement is going to be reassigned to someone else.

I’ll probably write another blog about Kumar; I’ve got some more notes on previous development work he has done. If this enhancement ever goes live, maybe I will write a follow-up blog on it too.

Employee Forum

An “Employee Forum” was created recently. Each month, a group of representatives from different departments talk about suggestions and complaints – to try and improve life at work. These are then proposed to Senior Management or Human Resources to hopefully implement.

Personally, I can’t imagine this lasting because many suggestions are illogical or have just descended into madness – and there’s only been two meetings over the 2 months.

I think no matter how good things are, people will always suggest more time off, higher pay, or both. Many of these suggestions do involve more time off, and it seems we have tried every angle already.

Some of these suggestions have company responses already.

Offices are not being used. Are managers encouraging the use of them?

Response: Will re-communicate about the offices to encourage colleagues to use them.

My take: Since we now are all home-working, the office is barely used. It’s optional for people to work so some people work there permanently if their home isn’t suitable, or they come in when their team does. Now it ain’t an “office”; it is a “collaboration hub”. I think it’s important to include this one in the blog to set the scene. The office improvement suggestions are funnier given that the office is under-utilised; it’s like they want more perks than we had before when the office was 100% full capacity – which doesn’t make financial sense.

What is the official business position on dogs in the office?

Response: Dogs are not permitted in the office. Multiple reasons are behind this, such as colleagues with allergies, or aversion to dogs. A dedicated area for dogs within each office is also not permitted.

My take: Did people ever want dogs in the office before? This isn’t the strangest suggestion, but this is what I mean by descending into madness. How was this one of the first suggestions? Surely we should prioritise bigger issues.

Would we consider offering everyone an extra day holiday for life events?

Notes: Representatives discussed and came to the conclusion it’s fairest for it to be a birthday specific holiday because other life events, such as wedding day, may not apply to all. Will take this to HR.

My take: I like how the representatives consider a wedding day might not apply to all, but later they soon forget this and start demanding more maternity leave/pay; even though that is for child-bearing women specifically. You can never really be consistently inclusive anyway.

The general sentiment of a birthday holiday is nice, but then there will be people that will say they are too busy at work to take it off, so then will want the day off later. May as well just increase everyone’s holiday allowance by 1 rather than dictating a specific day.

Could we move to a 4-day working week approach that other businesses are adopting?

Notes: This means working 4 days of standard hours with the same 5 day salary.
Representatives discussed how this would work in supporting our main customers who operate 24/7. Will take this to HR.

My take: Imagine the conversation that person has with HR:
Representative: “what do you think of an extra day holiday?”
HR: “Rejected. Not gonna happen”
Representative: “Ok, next question, how about we only work 4 days?”
HR: “what? no!”
Representative (as we will see later): “How about loads more holiday?”
HR: “get out of here!”

I have heard some claims that working 4 days is more effective. I can actually see it both ways. When it is Friday, people often take longer breaks or work slower because “it’s Friday”/”it’s nearly the weekend”. If you remove the Friday, some people may work faster to get the same amount of work done, or they could just adapt the “it’s Friday” thought to “it’s Thursday”.

The Return to Work Program needs to be rethought.

Notes: An example of this is an employee who came back to work in December from maternity leave and was told from HR that the ‘Return to Work’ program starts in April (apparently runs every quarter) so she would have to wait a good 3 months to get the return to work support.

Response: We need to address this.

My take: Well, this just sounds like a dumb thing we do. How has the return to work program failed that much? What does this Return To Work program even involve? Are people introduced to any new employees and told about new/changed processes? Surely you would be aware after 3 months back at work anyway.

Offices used to have refreshment options available on site: vending machines, fresh fruit, and hot drinks machines, and a canteen serving hot food. The only facilities now are tea/coffee.

My take: What do you expect here? We had a canteen, fruit, and vending machines because the office was full. It currently operates on less than 10% capacity. It doesn’t seem feasible to supply fresh fruit. Vending machines are a possibility since the products will have a longer shelf life (but I bet those are pricey to rent anyway). Canteen was nearly shut down on a few occasions because it wasn’t profitable enough. A different office also requested they want a Canteen and even suggested people would pay a monthly fee to run it. It used to cost £3.75 per hot meal and I used it most days so I was spending ~£75 a month if there’s 20 work days. The fee would be significantly higher than this to make that profitable with fewer numbers of staff using it. No way are they going to pay that. Can’t people just buy some food on the way to the office? I think we still have microwaves if you want to warm food up. If not, ask for the microwaves back!

The UK Parental Leave policy is not very competitive

My take: Not sure how we compare to other companies but I’ve found that women can take something like 9 months maternity, get 1 month full pay, then can take 2 months unpaid leave, then return to work on reduced hours. What more do they want? Maybe it’s controversial and a minority view, but I don’t think people need to be encouraged to start families or be paid at their employers expense. We are paid to work, not chill out, but you wouldn’t think it with the requests for more holiday, reduced working hours, more social events etc.

Compared to many other companies, our Maternity policy and pay is very basic. This could be a deterrent to people wanting to start families. The return bonus is a good feature, however doesn’t assist with the cost of living whilst on Maternity leave.

My take: It is such an outrage; it’s on here twice! Seems the current policy is a “deterrent”, so I was wrong and people need to be encouraged to start families, then receive a “Return to work” bonus to get them back in. Insane. Also, what do they mean with “cost of living”? We mostly work at home now, so the costs of chilling at home shouldn’t increase.

Can we build a few bug hotels and bird tables in the gardens?

My take: “What? We can’t bring dogs in? What about bugs?” WTF. I hadn’t even heard of a “bug hotel” until now. Who is suggesting this nonsense? It’s making me angry reading this. Might make some sense if the offices were full, but they aren’t.

People who currently have an entitlement of 28 days annual leave should still be allowed to purchase 5 days, otherwise it is a scheme that doesn’t apply to many (it’s really 2 days purchase available).

My take: I think new employees have 25 days plus the usual bank holidays, then over years of service, it can go up to 28. But then you can purchase days up to 30. So the ask is that we should be able to buy 5 regardless of current allowance.

Recently, I was saying to some of my colleagues that 28 days is a fantastic annual leave and those in the USA barely get any leave at all which surely would make them go insane. But look at us chillers, we want more than 28 days!

Can we review holiday entitlement for length of service and/or senior roles? After 14 years, I have 28 days per year, whereas rival companies are on 35 to 38.

My take: They wanted to buy 5 days on top of 28 for a total of 33. Now they have increased their demands. “Can’t we just have 38 instead?” What’s the next demand? “Buy 5 days on top of 38”?
Do we still want our birthday off as well? These demands are just escalating.

Can we get a fleet of ‘Boris’ bikes to allow people to get off-site and obtain lunches from local businesses without the need to get in their cars or walk across muddy fields?

My take: Boris bikes refers to what they have in London where you can rent bikes to cycle around London. Here is a bonus fact: even though Boris Johnson was the London Major when the bikes were introduced, it was actually the former mayor Ken Livingstone that started working on the plan.

So we want to hire bikes to cycle to get food. The nearest supermarket is literally 10 minutes if you walk slowly and there’s only fields if you leap over the wall onto private land, so no idea where that false claim has come from. If you walk the other direction, there’s a few shops where you can buy food within 5 minutes walk (and can take a scenic detour through a park; no muddy fields this direction either), and a few pubs that serve lunch also within a 10 minute walk.

They want bikes because they are too lazy to walk, but would they cycle? isn’t that more effort? Locking/unlocking the bike at your start and end destination. Probably have to put a helmet on for health and safety. The extra hassle if the bike gets stolen… ain’t nobody got time for that.

Subsidised Pet Insurance – Wellness Allowance, £360 per annum to cover anything health related, Gym, massages peloton etc

My take: why not just ask for an extra £500 wage increase?

Anyway, I’ve got tired of critiquing these demands. I vote to stop the Employee Forum. It has clearly got out of hand already, and there is no way the majority of these are even going to be considered. I think all that will happen is that we will be encouraged to use the current offices more (and they may reinstate a vending machine if we do), and I could see maternity benefits being increased slightly. Everything else will be laughed at.

Hot Guids In Your Area

One of my colleagues showed me this nerdy website https://secretgeek.net/hotGuids/index.htm

It’s a parody of those “Hot or Not” style websites that were popular years ago. It shows you a GUID and you have to select if you find it “hot” or “not”.

A GUID is a globally unique identifier

It looks something like this:

{63ef87e8-8909-2540-f5c4-3f8777c64ab5}

GUIDs are perfect as a randomly generated identification number since the probability of duplicates is very negligable.

Due to that trait, I would have thought the features of the website such as “Popular GuidsGuids with more than 1 hot vote” wouldn’t actually be implemented because the chance of showing you a GUID that was shown to 2 people would be basically impossible – so that’s part of the joke.

More humorous than that is this:

Single women in your area who are interested in this guid:
There are no single women in your area who are interested in this or any other guid.

Then there’s purchase options like an adoption certificate or a t-shirt, although I don’t think you can actually purchase them, but I’m sure they would sell a few if you could.

“I was wearing a t-shirt of my favorite guid
when a girl approached me and told me it was also
her favorite guid. We are now married and have
several children.”

target customer

Maybe that quote contradicts the other joke… or maybe there was only ever one single woman who was interested in a particular GUID. Or maybe the (fictional) reviewer was joking.

In case the website is removed from the internet, here it is in all its glory.

Game Review: Say No! More

My previous blog was a review for the game “Game Dev Tycoon” which was relevant to this blog due to being directly about software development. “Say No! More” isn’t about software development, but it is about office culture and seems like a social commentary on people being overly obedient to please managers in order to progress through the hierarchy.

You play as an office intern who starts a new job alongside two others. The boss introduces the company and jokes that you have to say “yes” to go far. One of the interns is excited because she is someone who loves saying “yes” and pleasing managers.

Your character struggles to speak but he soon finds a cassette player with a motivational tape which teaches him to say “No” with confidence.

This manager has left his lunchbox at home so he steals yours. This leads you to chase him to his office to get it back, but you are constantly stopped by your colleagues with random requests. You shoot them down with your newly learned word: saying “no”.

“Can you get me a coffee?” “no!”

“Can you copy these documents?” “no!”

There’s even a few dialogues where you can wait for something different to happen, but there’s no negative repercussions if you do say “No” to them. The movement is automatic with on-rails movement and you just press a button to say “no” and move on.

In each chapter, your character listens to more of the motivational tape, and so he learns new powers like charging up your “NO” for a more forceful statement, or sarcastically laughing, clapping or nodding which catches people off guard, allowing you to shout them down. You also learn different tones: cold, heated, crazy, lazy. However, it doesn’t actually make a difference even though the Tutorial makes out that these different types are necessary against some people.

The game hasn’t really got any gameplay, it’s more of a humorous experience, relying on the comedy, quirkiness, and the ragdoll/destruction you see when you say “no” and knock them down.

I say it does succeed; it did keep me entertained for the 1.5 hours. If it was longer, then it would become tedious. It reminds me of Weebl’s cartoons; its wacky style, combined with some of the “No” voice samples which sounds like “Weebl and Bob“‘s way of speaking.

Game Review: Game Dev Tycoon

Since Game Dev Tycoon is about software development, I decided to review it and put it on this blog.

Game Dev Tycoon is a simulation game with a game development theme. You start off as a solo developer in your garage, making simple games in order to raise money to expand. Once you have accumulated enough wealth, you can purchase a new office which allows you to hire more developers and work on more complicated games. Later, a larger office is available which allows you to hire even more staff, and even have a Research, and Hardware labs (as long as you have a Design and Technology specialist).

When you start to make a game, you choose the game’s name, pick the Size (you start off with Small, then unlock further sizes as you progress), Topic (theme), Genre and Platform. A later upgrade allows you to choose the target audience; Young, Everyone, Mature. Then there’s 3 stages of development where you move sliders and choose extra features. 

  1. Engine, Gameplay, Story
  2. Dialogues, Level design, AI
  3. World Design, Graphic, Sound.

You move the sliders based on your assumption of the genre (RPGs have an emphasis on Story, Simulation requires Engine), and by the results and feedback of your released games. After release, you can then generate a game report which will give you hints on which aspects are important, and if the target audience and platform fit the style of game and theme.

For medium sized projects and above, you have to assign a developer to lead the development for each aspect. Adding additional features (e.g. Soundtrack, Surround Sound) and using game engines comes at a cost, but the more features usually means a better quality game. It’s not clear how random a lot of these elements are though, or if certain tech affects the genres differently.

Once you have created your game, you can wait a bit longer to put the finishing touches. The number of bugs will decrease and you can add extra points to Design, Technology. When you click “Release”, you will be given a review score and your staff experience within all aspects will increase. 

Money will come in from the sales with declining sales over time, and then the game is removed from the market. Your staff wages increase as they level up, and the general cost of development means it’s a good idea to have a large surplus of money if you can. If you do drop into negative figures you can get offered a short term loan but with extremely high interest. If you can’t afford that, then you are bankrupt. You are allowed to restart from your last save, the last office move, or you can just start again. The game can be tricky if you don’t land those big revenues at the right time.

As time progresses, games take longer to develop, require more staff and cost way more money. This is like real life when early computer games were developed by tiny teams over a few months. Those games may have been text only, or had primitive graphics with colours, but that was what the consoles could handle back then. Today’s “AAA” games take years to develop but have cutting-edge graphics and sound. So in this game you need to hire more staff, keep training their skills, and make sure you have the staff in the right areas. You can only have 1 game in development at any time.

As time progresses, new technologies become available for research, and Platforms are released or removed from the market. After a new Platform has been released, you can then buy a Development Licence to make games on that Platform (it would have been a nice idea to be able to work on games for the actual console launch though, then you would have the challenge of rushing your game out). The names and images of the consoles are slight variations to avoid copyright issues (or add humour to the game) but it’s easy to recognise what they are supposed to be. Each console is biassed towards certain genres and audiences. You start with the PC and Commodore, and it progresses to modern day with the Xbox Series and PS5.

You can take on simple contract work which gives you a small amount of money for a small amount of your time. The main advantage is to acquire more Research points. You can also develop games for Publishers but must create the game at a certain quality in order to receive the full amount. These contracts are more beneficial when you haven’t accumulated enough fans. Later on when you do have many fans, even mediocre games seem to sell themselves.

With your Research points, you can send your employees on training courses. You can Research new topics (which seems like a randomly ordered large list which is unlocked in batches), and technology. Once you have researched some more technology (mainly the improved graphics), it’s often beneficial to create a new Game Engine so you can use these features.

The Research room takes a lot of money to use. Even moving the slider slightly will cost $300k or so per month. You can research a Steam-like platform, the ability to make your own console in the Hardware Lab, create MMOs and a few other options. It’s quite hard to acquire these aspects before the game “ends”. You can carry on playing but new consoles won’t be released and there’s no “events” that trigger. 

There’s not many Genres but there are loads of Topics. However, I think some of the Topics should be classed as Genres such as “Racing” or “Sports”. Two other Genres that seem obvious to include would be Platforming and Puzzle.

I also wondered how the developer interpreted the genres especially when you unlock the ability to choose 2 genres (you cannot have multiple topics though). For example: what does “Adventure” mean? My assumption would be a point-and-click adventure such as Monkey Island, but then what does RPG-Adventure combo mean? Is such a combo doomed to fail, or do the developers have a different idea what this actually means? Maybe a certain Topic could fit this genre well? Casual is also down as a Genre, but I’d say this is closely tied to the size of a game. You don’t get major budget Casual games, although something mid-range like Animal Crossing. For the most part, the decisions seemed logical, but there’s probably some Topic-Genre combos that you won’t agree with because it is fairly subjective.

Just like most simulation games, I found myself playing for hours at a time and found it hard to put it down. It’s simplistic and definitely not for everyone, but I found it addictive and satisfying watching those number-bubbles float to the top and increment those total counts as your developers work on the game.

8/10