Recruiting Graduates #1: Discussing how to make a good test

Colin arranged a meeting with a few Senior Developers (including me) and a Senior Tester. He stated that we are going to do a big recruitment drive, specifically targeting Graduates in India.

He said he is disappointed with the current Indian staff in general, since many seem low skilled and poor communicators, so he wants us to come up with:

  • Multiple choice logic questions for a timed test
  • Multiple choice programming questions for a timed test
  • Verbal logic questions for an interview
  • Verbal programming questions for an interview

So we are testing them on both written, and verbal comprehension as well as programming. Fine plan so far.

In the next meeting, a few of the Seniors had come up with some questions which they said they got from some websites. I had spent a few hours scouring the internet for ideas but I had found many websites with poorly worded questions, ambiguous questions, or material that I just thought was irrelevant to the job (either not C#/objected oriented/not graduate level). So I only submitted a few questions but I needed to confirm what our aim was…

I noticed many of the suggested questions were specifically programming questions on C# which is what the job is for, but do these graduates we are targeting actually know C#? I ask the question and the Indian seniors say that these days, university courses are mainly Java and Python. So I tell them the test they have come up with isn’t suitable. For multiple choice, the questions have to be just logical questions using pseudocode. For the interview, it needs to be phrased like “using a language of your choice” and we would have to allow them to use Java, Python or anything else.

I also found that they had many questions that were wrong, ambiguous, or irrelevant. I don’t think they used the same bad websites I found, but there’s some terrible questions out there for sure. I think it says something about how bad our staff are when they are meant to be Senior and they are taking questions from online and not really thinking about if they can answer them or not. We are going for Graduates as well. Really the hierarchy would go Graduate/Junior->Developer->Senior. So surely the questions have to be easy for Graduates to do.

“Why are people who don’t know what they’re doing, setting these questions?”

Colleague

“so we can recruit more people that don’t know what they are doing”

Me

Another problem was that we scraped about 50 questions of questionable quality, then Colin says: “I want 60 questions for them to do in 60 minutes…also we need a second set of 60 questions just in case someone leaks the answers to other applicants”.

Everyone seemed fine with this, but I pointed out that 60 questions were a struggle to come up with, and I didn’t think it was possible to answer them in 60 minutes – I said 45 minutes is better. 60 minutes sounds like pure tedium to me. The 3 other Seniors and Colin were all adamant that “60 questions in 60 minutes” was standard in the industry, and a couple of Seniors said they did tests like this in recent years and it was fine.

When we eventually came up with a test, Colin says

“I tried the test over the weekend, I do not think we can do the test in 60 minutes”.

Colin

Wow, I was correct, and was shot down 4 to 1 votes.

He wouldn’t specify what score he got but was insistent that he passed despite not answering all the questions.

I am never a fan of doing programming questions in an interview situation (unless it involves using a computer). Sometimes companies give you pen and paper, (or a whiteboard), and you have to write code. It’s unnatural and very awkward. Also, they come out with cliché problems like sorting algorithms, or data structures. Sometimes you can blag your way through these scenarios if you practice them beforehand. I prefer a take-home-test to build a small application in a few days. I’m conscious that this can be a lot of work especially if you are applying to other jobs at the same time. An alternative could be to show a program you have previously written and do a presentation on it to demonstrate your understanding and talk through the design decisions.

We already had a take-home-test from previous recruitment, so I suggested using that. The Indian Seniors said this would be far too hard especially if it involved calling a Web API. I said the candidates don’t even have to complete it (fully working app with many features), you just want to see how far they get and see how they structure their code and how they break-down the problem. If you just tell them to write one method like a sorting algorithm, then you don’t really get to see how they structure code because it’s minimal, isolated code.

The Indians even suggested a compromise of giving a choice of programs to write, but to give extra marks if you choose the first example. It didn’t seem that fair to me and there didn’t seem any noticeable increase in difficulty. One suggestion was even to get HR to call them and ask them on the phone to decide which test they want. How would that call even go?

HR: "Are you familiar with Web APIs?"
Candidate: "no"
HR: "do you want to do a banking app with a database?"
Candidate: "no"
HR: "you have failed to get the job"

or

HR: "Which test do you want to do? one with a Web API, or a Banking Application with a database? You get more marks for the Web API"
Candidate: "erm…Web API then."

Eventually, they relented and agreed just to ask for a specific program and we would see how far they got. Next up was to decide how much time they actually got. I suggested giving them up to 10 days. One Indian Senior said 10 days was nowhere near enough time given the difficulty of the program. Another Indian Senior (who had previously stated this test was far too hard), then claimed he had a similar test that he successfully completed in 3 hours. I was like “wut“. How can he go from saying it was far too hard, to then saying it is easy and he can do it in 3 hours! He then suggested we should make them create and interact with a database which I think makes it way harder! I challenged him on this and he said he has never seen a university syllabus that has interacted with an API (which my suggested test required)… Despite him showing me a university that used ASP.net which is all about web apps and web services.

I did feel bad criticising their decisions when they had put some effort in, while I did think about the situation but didn’t have any good questions to ask. However, I didn’t think they had put much thought into the problem they were trying to solve.

Some lessons learned:

  • You need to decide what level of experience you want to aim for so you can set relevant questions e.g. Graduate, Junior, Senior, Expert.
  • You need to know what kind of programming languages your applicants will be using. If they are from a Java background but your job is C#, you may have to set the test in Java, but make it clear the language of the job is C#
  • Make sure the questions make sense, aren’t ambiguous, and the answers are actually correct (this will be discussed further in an upcoming blog)

Laptop Heat

We recently had a heatwave in the UK, and I think this was even experienced throughout the world. Even before that, one of my team member’s laptop battery bulged up due to excessive heat, which he noticed due to the raised keyboard. He ended up getting a brand new company laptop.

During the heatwave, another team member went into the office where it would be nice and cool, but I guess there’s a good chance it happened in transit (in his hot car) – he also noticed the raised keyboard, and so quickly disconnected the battery before it had a chance to explode.

“My new laptop is flipping awesome. I’m so happy we had this heatwave”

Colleague

I assume our IT department must have got many requests for new laptops, and then they sent out this very debatable advice.

"Your laptop may be struggling because it has to work harder to keep itself cool. Here are some tips to help get the best performance from the laptop until things cool down.
  1. Move to the coolest part of your home, or work in one of our air-conditioned offices. 
  2. Run updates and give your computer a reboot 
  3. Limit the apps running to those you need 
  4. In Microsoft Teams, turn off incoming video (this allows you to share your camera but reduce the impact on your laptop’s display)”

So for point number 1, my first team member works in his conservatory. I normally associate conservatories with being cold but we often compare temperatures and his room is usually 6-8 degrees celsius warmer than my living room where I work. We are in those rooms because it’s the only space we have available for a desk and monitors. It’s not exactly easy to just “Move to the coolest part of your home”. I suppose you could try working on your laptop with no external monitors, but the advice should be just “to take the day off”. They also say to come into the office, but then the second colleague’s laptop battery presumably broke on the way there.

Point number 2: other than the rare circumstance that software is causing extra work for the processor (and they have fixed the issue in a new software update), running software updates probably isn’t going to make a difference. Maybe the update process will cause your laptop to run hotter whilst download/installing. Or what if the new update has a bug that causes extra processor issues?

Point number 3: That’s just good advice in general isn’t it? Don’t load up loads of programs when you don’t want them.

Point number 4: I found this a bit weird. If everyone turned off incoming feeds, then no one is watching the video feeds. Why not just say “do not use your webcams”?

Even Valve and Nintendo were putting out advice for their Steam Deck, and Switch. Those small devices just aren’t good in the heat.

Other Departments: Bid Management

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. They just seemed like a Sales department but then they seemed to downplay the skills involved.

Next up are Bid Management. On the face of it, that sounds very related to Sales, unless maybe it’s actually about buying from other companies rather than selling…

I thought I’d do a presentation today on Bid Management.

When is a “bid” a “bid”? 

I wanted to find a Prince song, you know, The Artist Formerly Known As Prince, but I can’t because of copyright. 

Head of Bid Management

He has lost me already.

I have overall responsibility for Bids and Tenders that are submitted to customers. I work closely with my team and the wider business to ensure that the bids are of good quality and ensure that the level of governance has been applied, and all processes followed.

The biggest thing in bids is organisation and time management. We are effectively Project Managers that work to tight deadlines and have to take others from the business on the “bid journey”. You need to have resilience and good negotiation skills as things don’t always go your way.

Head of Bid Management

So this sounds like sales then.

The only thing I have won was a children’s joke competition.

Head of Bid Management

Don’t you have to be good at winning bids to become the Head of Bid Management? 🤔

People see our role as admins that set up calls and format documents. We are like a project manager, but our customers are internal.

Head of Bid Management

Wait…what? Customers are internal!? If that is true, why wasn’t it in the introduction?

People assume we have answers to tender questions which we can copy and paste…there is a lot more work that goes into it. We do have previous content which we repurpose, but it will always need tweaking.

Head of Bid Management

So you do copy and paste; but you call it “repurposing”.

0-3 monthsCustomer carries out market tests on suppliers
3-6 monthsCustomer produces a business case to purchase
6-12 monthsCustomer kicks off a procurement exercise
12-18 monthsImplement the new purchase
The bid buying cycle

Conclusion

Well, yet again, we learned nothing. So Bid Management might be exactly like Sales, apart from it might not be because it could just be internal. But what are departments buying from other departments? Who knows, but it will take 12-18 months. 

What is the point of doing these presentations when they are just full of corporate jargon?

Remembering the failed the Software Development Apprenticeship hiring 

About 4 years ago, we started hiring some “Apprentices” from a Bootcamp company. They only had a few months training, and it wasn’t even targeted to the languages we needed. So we basically were paying fees to this company for them to give us random people we could have just got ourselves. Recently, a few more of these people have left the business, so I wanted to look back and reminisce on the disaster.

“in partnership with Bootcamp, the Apprenticeship Scheme was launched in April this year and currently supports 14 apprentice software developers, including four employees who have moved within the business. Apprentices spend 20 percent of their time learning new skills and the rest based in the work environment. The company is hoping to take on more apprentices in 2020.”

Local Newspaper 2019

It’s interesting reading this quote because the 4 people were actually from another Bootcamp company we hired from a year prior. I think we switched companies because of some management issues (leading to a lack of communication) at that company. Those initial guys were quite good overall, but then the second company gave us generally poor people.

The part about 20% of the time learning was just nonsense. We never had a plan for them. Some people got moved about between teams every few months, sometimes being told to learn a different language so we never really allowed them to become good. But then most of them that I interacted with just didn’t seem to care; we were giving them money for nothing. I guess they had way more than 20% to learn since we often didn’t assign them any work.

“We are embracing this way of attracting people from less traditional backgrounds and allowing people like Sadiq to challenge themselves. In the process, they are to contribute significantly to our future success.”

HR Director 2019

“we don’t want another Sadiq Situation”

Colin (2022) – on the plans to hire more Juniors. We actually need a training plan for them to succeed.

It’s evident that Sadiq didn’t contribute to our future success.

It would be interesting to know the reasons why each person left since I think they were on good money for their ability, and it’s a low-pressure environment. Most were working on our new software that hasn’t been released so maybe they got frustrated about never having their code reach production.

Anonymised NameStatusEstimated Time Spent
MasonLeft4 years
ElijahLeft2 years
TesterResigned (Health issues)~ 1 year
ChrisLeft3.5 years
DanielStill here3 years
SadiqStill here3 years
PaulStill here3 years
JonSacked 3 years
BrogrammerLeft3 years
SimonLeft (Failed Apprenticeship exams)6 months
The MountainLeft (Decided to change career)<1 year
KatStill here3 years (1 year Maternity leave, yet to come back)
HarryLeft3 years
JohnLeft2 years

So there are only 4 left. Sadiq and Paul have been asked to go through some Training that we have put together, and could be sacked if they don’t show signs of improving. I don’t know much about Kat, but she’s taken a year of maternity leave. Daniel is the only one actually contributing and seems a quick learner. So after ploughing money into the future generation of developers, we ended up with one (maybe 2) future developers. Some of the others did contribute but then thought there were better opportunities elsewhere.

I found these chat logs about the initial batch of Apprentices, mainly targeting Elijah. It was a slow start until they got stuck into proper work, but Mason and Chris were actually really good developers.

Me:
what approach are we taking with these Bootcamp guys?

Steven: 16:23:
I think it's the "lounge about all day and get paid to learn how to write crap code" approach
because the company thinks it's cheaper to do that
the guy next to me has written an app that takes a list of countries and people, and would assign each person to a random country - a sweepstake generator
he seems right impressed with it
called one of his mates over to see it

Me: 16:27:
for the World Cup?
doesn't Different Elijah Wood sit next to you?

Steven: 16:30:
yeah!
he sounds like a robot
robot Elijah clone
I think he must smoke 75 cigs a day

Me: 16:30:
does his random algorithm work correctly
better not be newing up instances of Random at the same time and generating the same numbers

Steven: 16:32:
that's a good point
I haven't code reviewed it

Me: 16:32:
has he written it at work?

Steven: 16:33:
yep
yesterday and today

Me: 16:33:
our guy, Mason just reads Reddit all day
he was running the Build last time I saw him though

Steven: 16:33:
he's got a learning C# book
was reading about collections today
I've been given no info on these guys
so don't know what to do about it

Me: 16:33:
are you looking forward to training him up to expert level

Steven: 16:33:
well that's the thing, I'm not employed as a teacher
I expect everyone to be capable
and if not I'll be raising it as an issue

Me: 16:34:
what information do you want? what they should be working on?
I was expecting some info on that as well

Steven: 16:34:
yeah
should they be reading BBC News or learning all day?
or should they be picking up WIs?
what even is a junior dev?
if a junior dev doesn't even know how to code
seems a big risk to me
not even sure why I went to uni
anyone can code, right?
bring your gran to work day
I didn't manage to write any code today, but I did write a poem. <Pats gran on the head>, yeah gran you've done well today, here's a hundred quid, maybe tomorrow you'll be using the collection pattern

Me: 16:37:
I don't mind teaching people but they do need to pick things up quick
otherwise the extra member is just losing time for someone else
so it's a net loss
I think they should be like the old "Apprenticeship scheme" we had - get them testing, that way they can learn what our software does and learn when they are waiting for work

Steven: 16:37:
I don't mind teaching more advanced stuff, or anything not intuitive
yeah, I think that's the best really

Me: 16:38:
but they don't need to be a Software Tester for 3 years; just 6 months or something

Steven: 16:38:
help the "tools guys" make our Internal Tools decent
or have templates for test environments
the tools team don't seem to have time to make any tools

Me: 16:39:
and I guess they could do some kind of assessment to see if they are ready for simple WI
and if not, then they get out
or stay as a tester

Steven: 16:39:
they're more bothered about useless stuff no one wants

So even when the initial apprentices joined, Steven and I were sceptical that they could contribute since we didn’t really have a plan. It seemed I had a good solution though – by starting them off as Software Testers. They can learn about our Software, Agile Development, Processes, Internal Tools etc. Then later start learning C# more and gain experience with the codebase. I think this is roughly what Colin has in mind for the new recruits…

We are going to be hiring again, but going for Graduates this time, but are we going to do better?

Apprentice – X/Y problem

Recently, I came across the XY problem

The XY problem is a communication problem encountered in help desk, technical support, software engineering, or customer service situations where the question is about an end user’s attempted solution (Y) rather than the root problem itself

The XY problem obscures the real issues and may even introduce secondary problems that lead to miscommunication, resource mismanagement, and sub-par solutions. The solution for the support personnel is to ask probing questions as to why the information is needed in order to identify the root problem X and redirect the end user away from an unproductive path of inquiry

My apprentice is terrible for this as he comes to me with vague problems without telling me what the context is. Many times he has asked me to diagnose errors and then I realise that he isn’t even configuring the correct thing, or someone has told him the hard method of doing something.

Example 1:

He was following some instructions to set up Online Requests. The “offline” version requires no configuration, but the Online version goes out to an API and requires configuration.

Apprentice: “I don’t have the users tab that step #6 refers to”

Me: “not sure why it says “bottom of the screen”. Isn’t it a large panel to the right?”

Apprentice: “Yes!”

Me: “So you ignored the large panel?”

Apprentice: “Nah, I carried on but still couldn’t create the Online Request”

First of all, it’s usually pretty vital not to skip steps when setting things up, because if it wasn’t a prerequisite – it wouldn’t be on the instructions. Also, the next steps involve configuring a URL, username and password which he never asked for.

Me: “but this is the X/Y problem again. You have a problem doing something a certain way, but we don’t know what the “something” is”

Apprentice: “The something is me wanting to make an Online Request but haven’t been told that it has to be done the way it does”

Me: The something isn’t the Online Request, but WHY you want to make an Online Request. Do you have a Bug to fix? a Test Case to run? What is the actual main objective?

Apprentice: I’ve been asked to look at a Bug yes, debug and provide the root cause of the issue and yet haven’t been able to recreate because I haven’t been able to create an Online Request

Me: What’s the issue?

Apprentice: Essentially, have been struggling to create a Online Request only to learn I probably couldn’t have done anyway lol

Me: We still don’t know the Bug number though.

He finally provides it. I read the bug description and realise that he doesn’t even need the API configured. He just needs the “offline” functionality which I could have shown him within seconds.

Instead, he spent an hour trying to find and follow instructions for the “online” functionality. Then I spend time giving him more background info on how we set up Online functionality. Then after asking him to keep giving me info, we find out that it’s all been a waste of time.

It definitely was the X/Y problem.

Example 2:

In this example, the Apprentice was following a wiki to set something up. However it had links to other resources and the servers that hosted them had been decommissioned. He wanted to know where they were migrated to so he could update the main wiki. I don’t know what Bug he wants to recreate, or how he found this wiki. There’s no context provided to me again, so I have to ask questions to get the info out of him.

Apprentice: Is there a definitive way of checking if docs like the below were migrated? And if so, is there a methodical way of checking where exactly said docs will have been migrated to pls? (sends broken link to the old Environment Store wiki he wants to find)

Me: why do you want to add Test Environment details to the Environment Store anyway? XY Problem

Apprentice: I don’t even know what you mean by that.

Me: I’m saying you have decided you need these docs but are blocked by the fact you can’t find them. But what is the actual problem you are trying to solve which led you to the conclusion that you need these docs? Maybe you don’t even need them.

Apprentice: I just thought I’d replace the docs links with the correct one
I’m not working on the actual item yet anyway

Me: What are you currently working on then?

Apprentice: After my Agile Development Training, I can work on my current bug fix. But if you’re sure I don’t need those docs, I’ll leave that be.

Me: I don’t know what document you have

Apprentice: So why are you so reluctant in my getting to the bottom of ensuring the docs have the right links?

Me: you were desperate to know the location of another wiki that I didn’t think you needed because it would be unlikely you would need to add an environment to the Environment Store. If you are trying to keep documentation up to date, then great, but I don’t even know what this documentation is that you have.

Apprentice: I’m not sure what another wiki has to do with this one, but if I’ve been given a doc, with a Bug Report, and told to follow that up, I’m obviously going to want to replace the broken links within that doc aren’t I mate.

Me: I don’t think you had told me much, that’s why I have to keep asking questions. You still haven’t told me what doc it is after all these questions🤷

Apprentice: I only wanted to replace the links for the next person (who may not have someone like you to help them). These are the docs I’ve been given for the Bug Report:
(sends documents)
I thought maybe I could get a headstart on the Environment setup but that link wouldn’t work

Me: you just need to ask your Testers if it is set up somewhere already

Apprentice: This is the Bug Report: (sends link to the Bug)

Me: this guide is written from a Tester’s point of view. You can just set this up on your machine and skip the Environment bit.

It’s really hard work isn’t it? All that back and forth repeatedly asking him what his objective was, and he just wanted to update a Wiki that he didn’t even need to read. (-‸ლ)

Example 3:

Apprentice: Is there an Installer on RDA?

Robert: RDA?

Apprentice: I’ve connected to the Server as I need to switch to a specific environment

Robert: Are you developing against the tester’s Server? Why do you need to switch from the Server?

Apprentice: I’ve only been asked to get myself connected so far. I tried to through the Installer on my own computer, but it wouldn’t and then Becky said I need to do it through the Server

Robert: What is she wanting you to do? I’m not sure i follow.

Apprentice: Don’t worry geeza, I’ve messaged her – but thank you of course.

Me: sounds like an XY problem again.

Sometimes I think people like Becky just say some words to the Apprentice, then he just says an interpretation of those words to us, and we are like 🤷🙃

Apprentice: RDA is my fault. I thought it was called Remote Desktop Application

Robert: Ah RDP

We still didn’t know what he actually wanted to do.

Conclusion

I think the X/Y Problem is a great thing to bear in mind when asking for help. Make sure you explain the root problem, then describe your attempted solution. You might not need help with your attempted solution, but help coming up with an alternate solution to fix the root problem.

Glint Survey: Findings

In the last blog, I discussed a survey my employer sent out to all employees. If they use the results, then they should address highlighted issues (if any), and aim to keep positive aspects unchanged. This blog is about the results.

The findings were presented to us by some of the Directors. It was full of hype as expected.

“We will provide an update on our journey to become an Employer of Choice and outline the key work-streams that underpin this business-wide programme; many of which will be supported and informed by the feedback captured as part of the Glint survey.”

Director

Firstly was a sales pitch of why Glint is good (some good business jargon and hype here):

  1. “Strategic approach to measuring engagement”,
  2.  “ownership for engagement is enabled”,
  3.  “Improved effectiveness and efficiency of surveying”,
  4.  “Improved understanding of how we compare externally”,
  5.  “Employer of Choice programme enabler.”

87% participation, standard participation for Glint is in the 70-80% range. Our Group-wide Engagement Index score is 70 (100-point rating).

The score is calculated from the first 2 questions of the survey, which were:

  • I would recommend The Company as a great place to work
  • How happy are you working at The Company?

The other questions in the survey are basically to drill-down deeper. Or in their words:

“to improve engagement, we need to focus on improving the more tactical areas included in the survey”

The questions were responded to on a 1-5 scale. The Rating breakdown was as follows:

  • 67% positive (4,5)
  • 23% neutral (3)
  • 10% negative (1,2)

As a side-note, one department leader discussed his department’s score:

“our department engagement index is 55 which is a little bit lower than the company at 70”.

Departmental Manager

That kinda looks significant to me. 55 sounds very poor in isolation, and lagging behind the 70 as a whole.

There were around 2,000 total comments, left by 37% of respondents. They determined 58% of the comments were negative, 34% positive, 8% neutral. I assume this was judged by an AI, categorising the sentiment. Unclear if Glint provides this but it is a great feature if they do.

 “It’s in the comments where the richest data is available to us”

Director

Why wasn’t it mandatory then? I felt it was way too easy to not think about the question and just give a random score without justification. I discussed this in the previous blog.

We were shown a tag cloud which is quite meaningless in isolation. Included words like:

  • Development
  • Action
  • Knowledge
  • Pressure
  • Raise
  • Barrier
  • Manage
  • Team member
  • Deliver
  • Workload
  • Responsibility
  • Request
  • Software
  • update
  • Remote working

We seemed to score particularly high on “Camaraderie” (Question: I have a good working relationship with members of my team); and “Work-life Balance“: (Question: I am able to successfully balance my work and personal life). I personally scored these high.

 “These particular results show that The Company, on a personal level, is a welcoming, fulfilling and supportive place to work where colleagues feel safe and cared for, in particular by their immediate teams, and can enjoy a role which does not infringe on their personal lives. This is a reassuring picture, reflecting the nature of our business, the quality of our people, and the importance of our values.” 

Director

We were really bad at “Barriers to Execution“: (Question: We do a  good job removing barriers that slow down our work); “Collaboration“: (Question: Teams collaborate effectively to get things done); and “Culture“: (Question: has a great culture). Personally I was unsure about Barriers To Execution and Collaboration, and I feel Culture is too vague without examples of what it actually means. I would have thought Barriers and Collaboration would vary drastically between departments, so amalgamating the score as a whole seems a bit random to me.

 “Our opportunities reflect a picture that shows colleagues are most frustrated when it comes to being able to effectively do their job to a high standard, especially when this involves working with wider teams or departments – either due to internal processes and tools or a lack of effective cross-departmental collaboration, communication, appreciation or awareness.”

Director

The HR director was appalled that we also scored low in “I believe meaningful action will be taken as a result of this survey.”. Despite hyping up our focus for this Employee of Choice thing, our employees don’t believe the Senior Management will improve things! 😀 

“We know from the survey that many colleagues are sceptical as to whether this new approach to measuring employee engagement and responding to employee feedback will result in any meaningful action being taken.”

HR Director

One comment they picked out suggested that people complain about things but don’t actually raise these issues with management, so suggested we need more “Director Q&A” Sessions, or an “Employee Forum” where we can ask questions or raise issues. Maybe we really do need a culture change.

The thing is, we once created a Slack channel where we could contact the Software Development department managers (so that was specific to my department only). The Managers did respond to some concerns and one issue I remember we complained about was communication, where the Head of Development sends an email to 3 managers below him, and then those 3 managers forward the email on to their line reports, who then have to forward the email on to their line reports; but someone will be on leave, or just didn’t forward it on – then people miss out on info. After promising they would put an end to the madness, I think 6 months later it just started again. Then after a few more months, the Slack channel was completely dead. I think another issue is that it seems so obvious when there are issues, it seems crazy to think that managers don’t know about them. I mean, that communication example is an obvious problem! So then people may feel like they don’t need to raise it, or think managers won’t change their ways. It also doesn’t help that the HR Director keeps dismissing people’s rants on Glassdoor. She is always like “this doesn’t reflect my experience“. Well yeah, you are on a high paid job sat in a fancy office, of course you don’t know what it’s like on the ground. 

 “I want to reassure you that we are committed to learning from these results and will dedicate time to identify what actions are needed or where further exploration is required, at a Group-wide level. By providing line managers with rich and actionable data via personalised dashboards, we are empowering you all to drive change within your areas too. This is not a top-down approach but a collective one where we all have a role to play.”

Director

Group-wide Objectives

  1. Improve cross-team collaboration
  2. Improve understanding of cross-team priorities including wider strategic clarity
  3. Ensure better communications between teams and business areas
  4. Equip colleagues to have honest conversations
  5. Create a mind-set change

Personally, I have no idea how you implement these. Surely some departments have these problems and others don’t. Only the individual departments would know if they can be fixed.

Q&A

Then in the Q&A section at the end, there was one complaint from Development, highlighting the increase in attrition and the general problem of us replacing Seniors with Juniors which was affecting the ability to complete projects on time.

Another complaint was how we posted record profits, boasted about the generous pay rises they dished out…but was still below the rate of inflation.

Another staff member challenged how someone had a correction to their pay due to the “gender pay gap”, but then excluded from the pay review because they already had a pay-rise that year. A similar thing happened to me actually where I was underpaid for my role and level of experience. It shouldn’t matter why you had a pay-rise before, you should get it adjusted for inflation as standard, and not be told you’ve already had a rise. All the current mindset does is re-introduce the pay disparity they were trying to address.

Another person made the point that sometimes Directors respond to questions on these Q&A sessions by saying they will “take it offline” and answer the person one-on-one. This means others in the company never see the answer to these tough questions – which then breeds a bad culture and then the feedback is only given via channels such as this Glint survey.

Closing Thoughts

You can easily understand why people doubt meaningful action will be taken from the results of the survey. We often highlight problems and then they just get shrugged off. I understand people always seem to moan about pay, so it is easy to shrug that off as “not an issue”.

I’ll be intrigued what they actually do to meet these objectives, and to become this “Employer of Choice” they keep stating.

Glint Survey

Introduction

In this blog, I discuss a survey my employer sent out to all employees. If they use the results, then they should address highlighted issues (if any), and aim to keep positive aspects unchanged. 


“We are on a journey to become an employer of choice. This survey, and your feedback, will enable us to identify what to prioritise and focus on. We want to be guided by your experiences. Help us to help you.”

 
We have done surveys like this before, but then I don’t think anything really changes based on the feedback. I also find them quite vague and open to interpretation. If I was creating a survey, I think I would add examples to clarify the questions, and would also force people to justify their answers with comments. If you simply score 1-5, then when it’s a 5, what makes it so good? If it is a 4, what change would perfect it? If it is a 3, why so mediocre? or is it simply you just don’t have an opinion on it/don’t find it relevant etc.
 
I ended up clicking 3 for most of the answers, and didn’t feel it was worth spending time writing the optional comments as I felt it wouldn’t make a difference. Some questions were ambiguous, or unclear what they meant so I didn’t feel like I could score accurately. I think they will just look at the average scores and not really drill down into the details. Although that does go against their ambition of being an “Employer of Choice“. If they really want to be this (is this some kind of award/vote thing, or self declared? What does that really mean anyway?), then they need clear guidance so should ask for justifications.

Employer of Choice Programme

”This is a business critical programme with a number of SLT-sponsored work-streams that are focused on making us an employer of choice; where we attract, recruit and retain the people we need, enabling everyone to be their best self and deliver high performance.”

The Survey

So here are the questions, and my thoughts on each. 

How happy are you working here?

Quite a tough one to answer really. I find it is very comfortable as weeks can go by without much progress and managers don’t seem to care. I like the low-pressure environment but then I just think it’s becoming a bit stale in recent times.

I would recommend here as a great place to work.

Is it really possible to be really happy but not recommend it, or be really unhappy but recommend it? Surely these 2 answers will go hand-in-hand. Maybe there’s some edge cases, as I think if you like chilling, then it is perfect to work here. So some people could be unhappy but recommend it to others in that case! The last batch of people we have hired have basically done nothing for 2-3 years so I am sure they are happy in the short term. 

If you want a job where you are learning a lot, I think maybe it’s best looking elsewhere. There is a big push to create new features “in the cloud” but then these projects sometimes seem a bit forced and end up being scrapped. 

I think over time, long-term employees have been moving on. I think that’s a general problem seen across the industry now many software developers work at home. It’s easy to switch jobs without having the hassle of moving or large commutes. I do think this is a big reason. So with an increasing number of cancelled projects and more jobs moving to India (although recruitment over there seems to be struggling as well), maybe it’s not so great for people to start working here.

I understand how my work contributes to our success.

People got quite excited when starting working on a successor to our ageing, flagship software. But it’s been 3 years, the projects have been restarted or changed direction/vision. There’s general disillusionment when developers say “none of my code has reached production in 3 years”. Even people that are working on the flagship software have seen projects being delayed from release by 3 months sometimes. So it’s quite hard to see how your work contributes to success when many features just don’t seem to get released!

I feel a sense of belonging.

A few years ago, I think most people you could ask would say the people are brilliant. Unless you were the sort of person that came in, kept quiet and did your work, I think people would cite having several close friends. This has definitely dwindled over the years, especially since switching to home-working. Then like I stated before, long-term employees have been leaving recently which has eroded the “classic” culture.

I am able to successfully balance my work and personal life.

I think we score highly here because we are never pressured. Even if you miss deadlines, managers often seem happy just to delay things. One colleague recently stated he “has never known a deadline that couldn’t be extended”.

I have a good working relationship with members of my team.

My team is actually composed of long-term employees so I think we have a good mix of knowledge of the company and determination for the software to be of good quality. I think in general, small teams do work well together.

I feel satisfied with the recognition or praise I receive for my work.

To be honest, I am always ranting about how managers just hype up everything. It seems really disingenuous. Then there have been instances where projects are a mess but you get praised for getting them over the line. It’s gonna get done if you extend the deadline long enough!

People then get praised for dealing with a tough project even though it was clearly bad decisions from the team that caused the delay/bad quality. It means when you do get praised for doing something good, it’s hard to know if it is actually sincere.

I feel comfortable being myself at work.

I’m not really sure how to interpret this. In today’s woke culture, it sounds like it’s asking if you are comfortable stating your sexuality or something. I don’t think I have to pretend to be someone else, so I guess this scores highly.

I feel empowered to make decisions regarding my work.

Not sure about this one either. I do question requirements, but ultimately it’s the Product Owner’s decision, and they are taking orders from above.

I have good opportunities to learn and grow.

I think each day is the same really, so no new challenges.

My working environment allows me to work at my best.

I did wonder how people interpret this question. If we work at home, is it a critique of our own space? Do people just consider their work equipment (computer, mouse, keyboard, monitors)? Would people interpret this to be about software? People they work with? Managers?

I have the resources I need to do my job well.

Now this sounds more like hardware and software, but is it?

I am excited about The Company’s future.

With our ageing flagship software and our upcoming software keeps changing direction/restarting/delayed – the future seems grim in my opinion. I was discussing this with a colleague recently. If a competitor releases new software before we do, then we could be screwed if ours still needs years to be suitable for release. We announced it early too which means other companies could be provoked into making a similar product in order to be competitive, especially since we hyped up key features that weren’t even being developed at the time.

The Company has a great culture.

“Culture” is a very vague term really. I think this is more of a culmination of aspects. Your peers, managers, processes/rules, unwritten rules (e.g. expected amount of overtime). It’s a bit mixed really. I generally like the people, but there’s a few people who definitely chill out, recent recruitment has been poor, and some processes are just box ticking…

We do a good job removing barriers that slow down our work.

Not sure again. I think we have been increasing focus on security and that slows you down, like losing Administrator rights to our computers. Want to install something? Have to go through IT. Sometimes we seem to add more “box-ticking” exercises for things and there doesn’t seem to be much rationale/benefit for these.

There is a good flow of communication between leadership, departments, and teams.

We like to organise “Town Hall” meetings, or Directors may make little blog posts on Yammer etc. But then we do the weird thing where managers send an email to their line reports who have to send the email on to their linereports who have to send the mail on to theirs. Then someone in the chain doesn’t then people don’t know about key information.

Teams collaborate effectively to get things done.

I think the projects are often self-isolated so I haven’t had much experience of this recently. But when I did work on our upcoming product, the teams were duplicating work or doing work that would be useless – like making an API that no other team wanted.

Regardless of background, everyone has an equal opportunity to succeed.

Never noticed any classism, racism, sexism. I think sometimes the promotions can be quite cliquey and women seem to be allowed extended maternity then come back into a promotion. So I think some evidence of positive sexism, if anything.

Employees are held accountable for their work.

Disagree with this one. The most delayed project I have ever been on resulted in a one-off bonus of £1500 on completion. Others cashed in on overtime. Yet, if they were held accountable, then they should have been criticised for their decisions which led to such delays.

I have confidence in the leadership team.

I don’t know who is accountable for what, but since our new software has overrun by years, and obvious mistakes have been made, I’m not sure what they are doing about it or why it took so long to respond to it.

My manager keeps our team focused on clear priorities.

Hard to answer again. Sometimes people moan that they get asked to fix a bug instead of carrying on with their projects. But obviously high priority bugs will always take priority. Managers in charge of several teams love moving team members around as if staff are purely interchangeable. This has been a problem for a while, but particularly in recent years.

My manager provides me with feedback that helps me improve my performance.

Well, we often come up with some super new appraisal framework then never really use it: we come up with objectives but then don’t review them and change the process again next year because it was deemed the current one didn’t work.

I am satisfied with the benefits offered.

We hype up generic stuff like “cycle to work scheme” which makes no sense when you work at home. Sometimes we promote voucher schemes and stuff but you often just save 2-5% here and there.

We are committed to protecting the environment, promoting social equality and diversity, and supporting our communities.

Sometimes we promote initiatives like tree-planting and some charity fundraisers, but aside from that; no idea.

I believe meaningful action will be taken as a result of this survey.

Since we have done these surveys before, I think little action will be taken. I think because the questions were a bit vague and open to interpretation, it’s probably hard to glean much information from it. If a question scores an average of 3, what does it really mean? You would have to analyse the comments. But then if people have interpreted the question differently, then the score becomes meaningless anyway.

What else is on your mind?

I generally don’t like surveys 😀

Conclusion

I probably could provide good insight to the senior management, but A) the questions werent that clear and B) comments weren’t mandatory. Even though I didn’t write comments, it still took me 20 minutes or so to complete the survey. I discussed it with a colleague and he said it was easy to fill in and took 5 minutes. Then when I asked him how he interpreted certain questions like the “work environment”, then he admitted that he never considered all that detail. So the results of a question like that isn’t going to be useful.

Employee Profiles: Jeremy

Yesterday’s Employee Profiles, “Steve“, took me hours to put together, so here is a shorter one (but sadly not as interesting).

At the time I knew Jeremy, I think the older software Developers tended to be Seniors or Team Leads, then the majority of developers were in the 22-30 age range. Jeremy was probably early 40’s and was just a Developer, so that fact probably illustrated how good he was.

To be honest, I didn’t really know the quality of his work in detail, but just like Steve, he didn’t know many staff members, was quiet, and just generally came across as a bit dim. (Steve was actually a decent developer, he just lacked attention to detail, and then often just played it up for comedy).

“I barely know what I’m doing, never mind innovating”

Jeremy (his thoughts on “Innovation Week”)

There was one time he was waiting to speak to someone so he stood behind their desk, but he was perfectly still; just completely zoned out. I slowly pulled out my phone to try and video him but he suddenly sprang to life.

One day, I overhead his team update, he said:

 “I don’t understand what you want; but I don’t think I can do it anyway”

Jeremy

It’s an interesting quote when you think about it. If you don’t understand the requirement, how do you know that you cannot do it? But then you could look at it in another way: If you didn’t understand what they were asking, maybe it is just way above your ability, so you knew you couldn’t do it.

On a colleague’s leaving do, the team went bowling. One person was entering the names but missed Jeremy. It’s not a problem, it was easy to add players in.

“I seem to have been missed oooooout; I want my money baaaaaack”

Jeremy

He actually said calmly, but his slow way of talking just made it hilarious.

There was a manager, Jill, who was leaving. On her last day, she went over to Jeremy and asked if he could give an updated estimate on his work. For some reason Jeremy flipped:

What do you care!? it’s your laaaaaaast day!

Jeremy

Since he was quiet, it was really jarring to hear him raise his voice like that. Must have just had a bad day. I think I will always remember that day for his out-of-character outburst. That’s his legacy.

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