Recently, I replaced all the windows and doors to my house using a local company. Most windows were installed well, but some windows had minor scratches/scuff marks which they replaced, but they replaced them with scratched ones. They replaced them again…with scratched ones. More importantly, I had one window where there was a draught coming through each of the 4 sides of the window, and when they put a new window-ledge in, they managed to crack the wall all the way down to the skirting board.
“FENSA is a government-authorised scheme that monitors building regulation compliance for replacement windows and doors.”
I kept on giving them a chance to fix the issues but they often delayed. I thought I could complain to FENSA, but in hindsight, they seem useless. You can opt in for an inspection, but they may not inspect your property if they have done enough inspections for that particular company within the year.
When I received a FENSA certificate, I assumed that I would not be getting an inspection. The FENSA certificate should be their approval to say it has passed their standards, but receiving it without an inspection seems like it’s not worth the paper it is written on.
A few days later, I received another letter from FENSA. It was a duplicate certificate. How do you manage to send 2 certificates out? A bit of a shambles.
A few weeks go by, then I receive a call from some other inspection company saying they would like to come round for the inspection. I was quite excited for it, because surely they would fail the inspection and I could get them to reinstall windows that actually work, and fix the damage to the wall.
The guy that turned up was in a FENSA uniform which was confusing since that wasn’t the company that called. I thought FENSA was outsourcing the inspection, but he seemed like he was actually from FENSA. He “inspects” the downstairs windows, and by that, I mean he glanced at them and used some sort of electronic device against each pane of glass (he just pressed it against it and it beeped, no idea what it was actually doing). He then said “I think that’s all done then”, and I was like “erm, don’t you need to go upstairs?”.
So he goes upstairs and does the same with the bathroom and hallway, then he was about to go back down until I reminded him that he hasn’t looked in any of the 3 bedrooms. In one of the bedrooms, he used the device against 1 glass pane and was about to walk out, but I pointed out there was another 2 panes above the main window.
We get into the problematic bedroom, and I explain the problems with the draught, and the crack in the wall. For the draughts, he said he could see sealant around the windows so it was fine. I told him originally there was no sealant, but I got the window company back in to seal it. However, there were still a few sections where a draught was coming in, and if a draught is coming in, there must be an entry point outside the house too. He said he wasn’t gonna check outside. He basically said that he just checks there are windows, and there’s a decent amount of sealant around them. Any draughts or other damage are outside the scope of what they check. For the crack in the wall, he said it looked like the crack had been there a while, so he thought I was falsely blaming the window installers.
I expected FENSA to act as an Ombudsman that would step in to resolve disputes. I thought they would have a high standard of quality and actually carry out a thorough inspection. You know; get ladders out and check the minor details with fancy equipment. Then give you a certificate only if it passes their rigorous standards.
What happened was: they sent me a certificate to say it has passed (twice in fact), then sent someone round as a token gesture who couldn’t wait to leave as soon as he came through the door. Probably wasn’t even 10 minutes to check 9 rooms and 2 doors.
I thought it was like when software developers create a “Pull Request” for their peers to review against the “coding standards” and “best practices”, but all their colleague does is casually glance at it and click “approve”. There’s no real “quality gate”, people are just box-ticking without any thought to bypass the process.
Recently, my employer announced an “Employee of Choice” scheme. It wasn’t clear if this was an official award or a self-awarded title. Essentially, they want to improve a few key aspects so that current employees would recommend working here.
There were a few key pillars: Culture, Leadership, Employee Rewards and Terms, Work Environment, Processes, and Branding.
Many people were sceptical that there would be any meaningful improvements.
A post was recently published, detailing the current and upcoming improvements. I feel many aspects are just “clutching at straws”; it just feels like they are blagging aspects. Although some points are nice sentiments, they don’t offer real value or a long-term change.
Claimed Improvements
CULTURE
1. For the Employee Of The Month/Quarter awards, we shared video testimonies from nominators.
2. Webinars, and suggested further reading.
Coming Soon:
Comprehensive induction for new starters, and a “New Starter Pack” of company branded items (drinks bottle, pen and paper etc).
Improve support/recognition for long term employees (7+ years).
Provide examples of ‘collaboration’ (which was one of the lowest scoring attributes on the survey)
Verdict: I’ll probably write a blog on Employee of The Month, but I think they often get unfairly awarded. Making someone (who nominated the winner) record a video could just discourage people actually providing nominations. The webinars could be appreciated by some people but it’s basically a motivational talk which not everyone will care about.
GREAT LEADERSHIP
1. Webinars.
Coming Soon:
Comprehensive induction for new managers.
Consolidate materials from across departments to increase consistency.
Calendar of events.
Improve training resources
Verdict: Basically everything is just “coming soon”, so no changes here.
WORK ENVIRONMENT
1. Delivered DSE (Display Screen) Assessment presentations to all departments.
2. We’ve analysed employees’ postcodes to see if they are in reasonable travelling distance to an office.
Coming Soon:
Promotional videos for our offices
Presentations for hints/tips on the O365 software suite.
Review of office usage
Exploring different approaches to support more social interactions
Exploring options to support colleagues wellbeing
Verdict: We used to get asked about our equipment on a regular basis, and you could request a new monitor, ergonomic keyboard/mouse, chair etc if you stated your current equipment wasn’t suitable. Weirdly, I don’t think our department was asked this year despite their claim (I hadn’t heard of it and asked several colleagues too); so that is a step backwards. After claiming the majority of colleagues were in traveling distance to an office, they announced the closure of a couple of offices. How can you say “we’ve analysed employees’ postcodes” is a delivered thing – it’s just analysis for a potential improvement, and they removed an office option for a group of employees.
EMPLOYEE REWARDS AND TERMS
1. Amazon vouchers for employee rewards
Coming Soon:
Maternity Returners’ workshop
Improved “Benefits Portal”
Flexibility in the Working Week
Maternity and paternity leave are being reviewed
Verdict: Managers can award prizes that you can redeem for vouchers. There’s plenty of options already, and I suppose Amazon is gonna be a popular choice.
PROCESSES
1. Successful completion of Security training
Coming Soon:
Process Improvement Framework
Considering the blockers
Verdict: How do you determine if training was successful or a failure? Surely you need to test people on their knowledge, or ask for feedback. I actually thought one (of two) of the presentations was abysmal and I couldn’t believe these guys were security experts and charging for these presentations. He was supposed to show the basic steps that hackers would take to hack a website he had created himself (and therefore had basic security flaws), but many of the attacks he tried didn’t actually work.
I asked some colleagues if they turned up to the session:
“We didn’t even book a place on it. we never have to consider security stuff. Everything’s done in the safety of our framework. I’ll let someone else worry about it”
colleague
With that attitude, that shows that we do need training!
BRANDING
1. Updated main website
2. Booked into a few careers fairs
Coming Soon:
Guides on how employees can promote the company on their own social media.
Reviewing our recruitment practices and processes.
Enhance the Careers section of the website.
Blog posts/testimonials from employees to share across social media.
Verdict: Basically just “coming soon”. Booking careers fair is an upcoming thing with an unknown benefit.
Conclusion:
When you look through what has been delivered of actual value; I would say very little change has happened so far.
Recently, the company announced an “Employee of Choice” scheme. It wasn’t clear if this was an official award or a self-awarded title. Essentially, they want to improve a few key aspects so that current employees would recommend working here.
There were a few key pillars: Culture, Leadership, Employee Rewards and Terms, Work Environment, Processes, and Branding.
Many people were sceptical that there would be any meaningful improvements.
Increasing Notice
Shortly after this was announced, I was notified that my contract had changed.
Your contract of employment is for an indefinite period but subject to notice (and to the terms of this agreement). The period of notice to be given in writing by the Company (or by you) to terminate your employment shall be three (3) months’ notice.
Contractual Change
A 3 month notice period is a lot. I think it’s only beneficial if they want to make me redundant, but if I want to leave, having to give 3 months could put other employers off hiring me. I’m not planning on leaving, but the increase from 1 month to 3 months seems to be contrary to their aims to improve “Employee Rewards and Terms”.
I contacted one of our Employee Representatives. They have meetings with Senior Management/HR to discuss improvements/complaints.
Becky
I thought it was based on length of service: The longer you’ve been here, the more notice you give
Me
I think it used to be. I think now they want Seniors to have 3 months and Experts and above to have 6 months. If you want to leave, what is the point in keeping you here. 3 months is excessive, 6 months is pure bonkers
Becky
ohhh that’s alot….I’ll put this to the forum
Me
put my quote in there as well. Needs to say “pure bonkers”
Response
“In line with current markets and business critical roles, some notice periods have been reviewed. Colleagues should refer to their line manager for further information”
HR
Basically they claim to look at what everyone else is doing and want to mirror them. Yet the whole point of the “Employee of Choice” scheme is to do better than the competition; and not copy them. Increasing from 1 to 3 months is a step backwards.
I went back to Becky, but she said she wasn’t actually there in the meeting so had no idea what was said. However, she did say she will try to re-raise it because she didn’t think their response was acceptable.
The disadvantages of working at home is that I don’t socialise or exercise as much as I used to. So I thought I’d rejoin a local sports team. These days, you are supposed to buy your own kit, so I had to purchase from the supplier https://stag-sports.com/
After selecting what I wanted to buy, I read the following on the confirmation page:
Please review your choices below before finalizing your purchase. Please note that we only accept payments through PayPal, where you can make payments via your own PayPal account, or accepted Debit/Credit cards.
I thought this was saying they accept PayPal only. To use PayPal, you have to have a linked card, so the bit at the end just seemed to be saying that.
You then have to fill in your address and agree to their terms. You’d expect the terms just to be privacy and/or returns policy, but it takes you to their page on hoodies!
After clicking the Submit Payment button, when you haven’t specified any payment details at all, it takes you to a page which says:
Thank you for choosing to pay £54.95 to Stag Sports by card, please add your card details below and click ‘submit payment’ to complete your order.
Which suprised me because A) I thought they only accepted PayPal, and B) I never specified how I wanted to pay.
The form was for filling in a credit card, but then there was a PayPal logo image lower down; which then launched the usual PayPal pages.
Conclusion/Judgement of Stag Sports
If I was purchasing a product and had the choice of using a competitor, each of these aspects would just encourage me to look elsewhere. For me to complete my purchase from an unknown seller, they have to raise my trust by having a good user experience, have the correct information I wanted to find, and have no mistakes or bugs. The website is what really drives sales, so it’s important to get right.
How the exercise is going
When I used to go to work, it involved a 20 minute walk each direction, and I went there 5 days a week. After we started working at home, I’d probably get 30 mins walk a week on average, and I hadn’t actually tried running in 2 years.
In my first session back, I fell over a few times. Second session – I somehow manage to pull a muscle in both my thighs simultaneously. Third session – my legs generally ached and I felt a small tweak in my right thigh. Fourth – I got knocked to the ground and had scratches up my right leg from the astro-turf. Fifth, I ended up hurting my left knee on the way there!
I think what I am concluding is – that exercise is actually bad for you, and I am probably old now.
I’ve been playing with one of those AI picture generators; stabilityai.
I was trying to think of ideas that are a play on words, or scenarios that you wouldn’t imagine a character to do – similar ideas to what Jim’ll Paint It would do.
I had this Wizard of Oz idea where the Lion is Simba, Tin Man is Iron Man, and the Scarecrow could be Scarecrow from Batman. The AI seems to like Iron Man, and has created some horrific concept of Simba in an Iron Man suit, but I don’t know what is going on with the rest. The ground looks quite sandy, so has the yellow idea but no bricks.What have you never seen Iron Man do? ride a horse. May as well be competing in a horse race. I like how in the last one, he has somehow caused an explosion and his horse is no where to be seen. I thought I’d try one with Batman. I was thinking how he seems to work at night and has all this tech. Then I decided I wanted to see him just working on the software. The AI decided to draw some kind of comic.When working, Batman is sometimes like a detective. I wanted to see him team up with another detective. The first image is brilliant. The third is funny because Sherlock has turned up with a Batman cowl.Every so often, people remember that Mario is a plumber. You see him pretty much do everything but plumbing!I chose another game character and came up with a simplistic play on his name. It’s strange how the AI has taken Crash’s design and environment colour scheme; but then decided to make it really surreal.Another simple play on the name. Seems to love Daniel Craig.Indiana Jones and Tomb Raider are fairly similar. I wanted to see them together. The bottom two images are just Lara clones though. It’s interesting how it has chosen similar outfits which makes the top 2 images look like a real crossover.I did have a brief thought about how Link from Legend of Zelda gets attacked by a horde of Cuccos (chicken-like birds) if he attacks them. I thought I had more chance of generating someting good if I used normal chickens, and decided that Kentucky Fried Chicken’s Colonel Sanders should lead them.A good play on the Lord Of The Rings character’s surname has generated these amazing images. I love this one.You can see the pain and torment the actor is going through.Film director solving a Rubix cube, or maybe even making themHalo’s Master Chief participating in a cookery competitionThe Pokémon Pikachu living up to his name
Recently, I came across a new jargon term, the T-Shaped Engineer. I think the general idea is that you used to have a “specialist” or a “generalist”. Now the perception is that it is good to have a compromise between them.
A generalist is like the adage, “A jack of all trades, but a master of none”. You learn new technologies but not achieve a deeper understanding – since mastering anything requires you to dedicate massive amounts of time to the craft. When challenging work needs to be done, engineers with deeper knowledge are needed; aka the specialist.
Specialists devote their time to a narrow set of technologies. They probably don’t learn the newest technology unless it falls into their specialist domain.
Work was often prioritised based on what resources were available. If a feature required more developers with a certain skill-set, and they weren’t available, then the development had to be postponed. If the company hires more developers with the required skill, when priorities shift, you can end up with spare/unassigned developers. This was a hard balancing act for the Product Managers. Sometimes, the developers could end up being asked to take tasks they wouldn’t normally do.
This has led to a new kind of engineer – the “T-Shaped” engineer. This describes a person whose knowledge distribution looks like the letter T. The horizontal line represents a broad knowledge in multiple areas, and the vertical one represents a specialisation of a topic.
Theoretically, having a full team of T-Shaped engineers with their own specialisation means that work can be prioritised. Whilst they may have a broad general knowledge, managers need to remember they can’t perform exceptionally everywhere. The concept isn’t a silver-bullet.
If “Pi-shaped” and “comb-shaped” developers exist, then you would think those would be the developers to hire. I suppose if you do find them, then they will be rare and demand large wages.
Not a software development post, but an interesting one in the general topic of recruitment.
I think the idea of a reference letter is a good one, but in reality, can it really work? If a new employer asks your old employer about you, why should they respond, and how much detail can they even provide for you?
I suppose if it is a legal requirement, then they have to provide one, but if they write disparaging remarks then you may never be able to get a job.
I don’t work in HR so I only know what people tell me, but my colleagues have said that in the UK, references these days are basically “I confirm the said employee worked here as a developer between the years 2015-2022“. So they confirm that the former employee isn’t lying to the new employer about working there for X years with Y job title. But how well they actually performed is a mystery…but maybe could be guessed by the length of service. I suppose simply confirming this basic info means applicants cannot lie about former employment, or at least the last place they worked (they could lie about the day-to-day role, responsibilities, and performance).
A couple of months ago, I came across this post on stack overflow:
It is a very interesting thing that happens in Germany. The original poster says that he has been writing his own reference letters, then gets his employer to make minor edits before signing off on it. It seems they get the reference letter before they actually start a new job so it is ready for when they go to job interviews. There, the original poster has said interviewers have questioned if he wrote it.
It is becoming increasingly common that employers ask you to draft your own reference letter. Some people consider this practice ethically wrong, some consider it illegal. I usually agree to draft my own letter, on company time because it’s the company’s responsibility to produce the letter. Then I get my boss to edit and sign it. For jobs that play no significant role on my CV, I tend to just go without the letter.
For various reasons a prospective employer might ask if I wrote my own reference letter. Maybe it’s something about the style, I slipped in details the employer wouldn’t emphasize (or even know of), or the letter is too good, or too bad, or matches my self-image too closely, or I don’t know what.
The top answer made me laugh at how there’s a secret language employers use to communicate to get around the legal restrictions:
As you probably know, German reference letters are a highly coded thing. While it looks like proper German sentences, it is actually code, wrapped into a natural language.
German courts ruled that those reference letters have to be “constructive and not detrimental to finding new employment”. So basically what happened is that German HR departments invented a code, so that they can have a positive sounding sentence that have a negative meaning. So they can still express the fact someone was not that good at their job, without being sued.
This code is far from secret. You can buy fistfuls of books from Amazon. You can even buy programs, where you can enter school grades for different parts of the employees job and the generator will generate nice and positive German sentences from it. Even if you entered all “F”s (or “6”s in the German school system’s grading system) it will read like the employee of the year to someone unaware of the code.
Obviously, any HR department worth it’s salt also has the magic decoder ring, to know, when reading those sentences, what they actually mean.
I’m always joking that “very social and good with rescue equipment” in such a reference letter means “was fired because they attacked their boss with an axe when showing up totally drunk the fifth day in a row”. So yes, this is an art form.
However… once in a while, something unexpected happens. Someone actually writes those references. With the best intentions. They write it without knowing too much about that code and they find nice sounding sentences. And they mean those sentences at face value. “good employee” actually means that it was a pretty good employee. While in HR terms, “good employee” ranks maybe second to last on their scale.
As you probably speak German, an example in German: “zu unserer vollen Zufriedenheit” (to our full satisfaction) for example sounds like a great phrase. Completely satisfied with their behaviour. Great. Until you realize, in HR speak that is barely a “c”. “zu unserer vollsten Zufriedenheit” (to our fullest satisfaction) is one better and “immer zu unserer vollsten Zufriedenheit” (always to our fullest satisfaction) is another one-up.
So when people ask whether you wrote the reference yourself, what they probably want to know is: was this written in codified HR language, or did you wing it?
Because references that someone without HR knowledge writes to the best of their abilities and well-meaning, when read with the magic HR decoder ring, sound like that person is maybe vaguely qualified to stand in for a potted plant. Temporarily, until you get a real potted plant that might do a better job.
So as for many questions here, the answer is simple: tell the truth.
If someone from HR wrote it or you wrote it and you consulted one of those books with the “secret” (as in “sold on Amazon for 5.99”) knowledge, then tell them. If someone wrote it with no knowledge of that and just wrote what should be taken at face value, tell them, too.
Because if you read one of those things with the wrong expectations, it will be about the exact opposite of what the writer wanted to say.
This codified language reminds me of how medical staff apparently write disparaging remarks on your medical documents as an in-joke between staff. It’s all fun-and-games until recent software programs and data protection laws have enabled patients to review their records.
I don’t recall specific examples of what was quoted, but these sound roughly what I was told. It was on the topic of how attractive you look, or what your attitude was.
I’m not sure how many people we offered jobs to during the recent recruitment drive, but 3 new Graduate Software Developers have started. We have never had a good induction process – we usually just expect people to start working on Day 1, but people won’t be familiar with our software, and the process.
Additionally, we always supply people with a stock laptop that could have been given to anyone in the business; so it doesn’t come with any development tools at all. So you need to install Visual Studio, SQL Server, and a few other things. However, these days, our IT has ramped up the security so now you cannot install anything without them remoting on to type in the administrator password, thus exacerbating the poor induction experience.
I wasn’t involved in creating the Induction process, the group of Senior Developers and Testers in India somehow went ahead without us in the UK.
They decided to use a Kanban board to track the tasks for the new recruits. They created tasks for each aspect like “Laptop configuration”, “Agile process overview”, “C# basics” and many others that made sense to me. The kanban idea was a good way of tracking their progress but it already seemed messy with 3 new starters but there’s more coming. I suggested that they use “Swimlanes” which can split the board into sections which can be used per person, but for some reason they rejected my idea in favour of their disorganised mess. So if there’s 10 tasks for each person, there’s 30 tasks that were initially on the backlog, and as they move to In Progress/Done, you cannot really tell how far each person is through the scheme without using additional filters, or configuring colours. Then when more new starters join, it becomes a complete mess with 10 more tasks being added.
I felt some of the tasks weren’t mandatory for the induction. One of them was Automation. Some developers in some teams are involved with automation, but it is usually given to the Software Testers. I think there’s different types of automation depending on the team you are in. The Seniors listed several types of automation, and provided links to LinkedIn Learning or Youtube – courses that were sometimes a few hours, but some were up to 8 hours. Then some were C# based, some were Java based, and some were Python based (it included JMeter, Selenium, Behave, PACT, Python, General automation). So you had to learn the base languages as a prerequisite.
“the videos are short, many around 7 hours, some are 1 hour”
Indian Senior Tester
When I saw that they had created a task that could potentially last 50 hours and wasn’t required for the job, I voiced my opposition to this idea and Becky, a Senior Tester agreed with me.
I said they aren’t going to learn if they are just watching videos, and won’t remember which is which. The constant switching of programming languages will probably hinder their retention. It’s very boring with the amount we are asking to do. This “Automation” learning task would already take a month to do if you are actually going to follow along and experiment with it. Then you have all the other induction tasks which involve reading, watching videos, and installing more software.
Becky pointed out we don’t even use this type of Automation in our particular teams so we shouldn’t ask them to do it. But then they said we “want to train them just in case it is used in the future“. We said we could just train them when it was needed, but they insisted it should be part of the Induction. Becky could sense they weren’t gonna back down so she asked that we inform them about which teams use automation and how often it is used so they can make their own judgement to learn it. They replied
“why should we inform them? we don’t want to set the expectation that they won’t ever use them”.
Indian Senior Tester
Towards the end of the meeting, he then said the new employees have already given feedback on the process. He said that all three agreed that:
“it’s hard to concentrate with all the videos we want them to watch, and all the reading we want them to do”.
Indian Senior Tester
Let me get this right. I said there was far too much for them to watch, and he argued with me about its importance, and then he said they have already complained about that exact problem, and they had only been here a week. Brilliant.
Fredrik Christenson (I didn’t make a note of the exact video it was from)once stated good developers can be judged by:
How they reason about a problem
Their way of communicating with people
How they voice their concerns/make decisions. Asking the right questions, pushing back in the right circumstances in order to get the right requirements; have “Guiding conversations”.
I think the general set-up of our interview can lead to this. The first part is for them to present the take-home test we gave them. They have to write a simple application with a UI and present data it retrieved through an API. The second part is to do some live coding, and define a few technical terms. Then the final section was some behavioural questions led by Colin.
Colin’s Update
Colin had interviewed several candidates for the Graduate Developer role in India. I asked him if the interviews had been going well, and he said the Graduates “couldn’t write code“. He said there was someone with a Masters degree, who then said they
“just learnt the course material a few days before the university exams then instantly forgot it”.
applicant
I guess at that point in a programming interview, when the interviewers are asking why you can’t write any code, then there is probably no way to get yourself out of that situation.
Saying you are forgetful is just instant rejection, although points for honesty, I suppose.
My Preparation
When it was my turn to do some interviews for the UK-based applicants, I was worried. I hadn’t been given any training or guidance, and the questions we had come up with were poor and I didn’t feel comfortable asking them. I was also scrutinising their applications and was trying to come up with questions based on their descriptions of their university course, or small amount of work experience. However, when it actually came to interviewing, there was actually someone else leading the interview, and Colin turned up too. So Colin had misled me that I would have a big part in the interviews. Also, Colin said he never asks questions about their CV, and sticks to coding or behavioural questions – so I’d wasted my time.
To be honest, I’d wasted my time anyway – because the first 2 interviews I was lined up to do were cancelled with half a day’s notice. Not sure if the HR team were slack or if the candidates backed out late. Colin speculated that people were dropping out because they couldn’t do the take-home test we gave them (which they would present in the interview). Maybe that means it is a good test. Colin said that he didn’t give the take-home test to the applicants in India, which could explain why he ended up interviewing people that couldn’t write code at all.
He didn’t give them the test due to our Indian Senior Developers saying the test was too hard for Indian Graduates to do (see Recruiting Graduates #1). To me, this seems like an admission that Indians are generally inferior, especially if they are happy for us to give the challenge to the UK applicants. This seems a very strange admission indeed.
The Cheats
Colin also said many of the applicants were caught cheating. On the questions where they were asked to define technical terms, they were reading the definitions from a website. He said some of them hid it well in terms of eye/arm movements (since they had to have their webcams on). However, the phrasing was a bit suspect, so Colin Googled the response and found the website they were reading it from.
He said another candidate seemed to pause whilst they thought about a question, then all of a sudden pasted in a block of code plagiarised from a website.
“HERE’S SOMETHING I PREPARED EARLIER”
fictional quote, inspired by the classic Blue Peter line.
Scoring
Colin did actually hire a few of the Indian applicants though, but when I looked through their Interview Feedback, the interviewers were scoring them 2/5 on most sections, but then a few sections were 0. So the scores were clearly a fail but we were hiring them anyway.
I also noticed that candidates who provided the programming answers in Python were scoring lower, even though, when I looked at the code – it looked correct. The problem is that it is a C# job and the interviewers only know C#. However, many of the Universities we were targeting used Python as their main language and we knew this up front.
So for the same job, we have a stricter process for UK candidates, and are also biassed towards C# candidates even though we only ask for knowledge of programming and don’t require prior C# knowledge.
Applicants
If people with English degrees bragged about their abilities like (some) software engineers:
“I’ve been speaking for 36 years and writing for 33 years. I’ve professionally used words from 10 different languages. Most days I speak or write 1000s of words to 10s of people.”
I did read through the CV’s of the people we hired. We hired Time Magazine’s “Person of the Year 2006”.I did wonder if Colin or the other interviewers had read that because it’s an instant red flag to me. It doesn’t sound like a legitimate claim, but then if you research who the award went to, it went to YOU. To put that on your CV is a joke though, unless you really did contribute significantly to online content. So if the candidate couldn’t justify it, I would just reject them.
Game Developer
For one of the guys that dropped out, I had some concerns with his application. Maybe he was legitimate but I think his claims weren’t backed up by the evidence he provided.
The first thing I noticed is that he stated “deep knowledge and proficiency in Java, Python, HTML, CSS, and JavaScript.” but I didn’t see any examples on his GitHub page, and there’s no commercial experience listed in his Work History. I wanted to ask him:
“Can you tell me what kinds of applications you have developed using these?”
My proposed question
He did say that his GitHub profile “included group projects.” but which ones were Group Projects? Working on group projects is fine, but I think it needs to be clearer so you can judge what he has done on his own. If they had used source control properly, you would see the commits by each user – which is where I saw the major red flag. All the commits were actually done by someone else. The only thing the applicant had done on the entire repository in his name was to initialise the repo, and fix a build issue at the end.
Your profile has another “contributor”, can you tell me who that is? – They have committed all the games to this repo.
My proposed question
Many of the games on the repository were Unity games, and I downloaded them, looked through the source code and play-tested them. For someone who had done a Games Degree, I was disappointed in the quality. Most of them I felt I could have made, and there were some really basic game design mistakes, and he said one of his University modules was “Advanced Game Design”. I wanted to ask this:
“If you worked on these games again: to fix bugs or improve the game design, what would you change about them?”
My proposed question
Example answers would be: In the Platforming game, you can stick to walls and the sides of platforms if you hold down the arrow key – which seems like an obvious bug. In his Snake game, it wasn’t clear what was happening, and you can move over enemy spawn positions to instantly kill them as they spawn in.
For his experience working in Home Bargains, he claims he
“Engaged with customers and built relationships to advise customers on products they’d like to know about”.
Candidate, clearly blagging
Home Bargains is basically just a supermarket, and he is hyping it up as if it is a sales job and personally gets customers returning. That doesn’t sound like a valid description of this role. I shop at Home Bargains and I don’t ever recall seeing anyone talk to the staff there unless there is some kind of dispute.
Python, Machine Learning Expert
The first guy I actually interviewed was about to finish his Masters degree, and has a Machine Learning degree. He seemed decent enough at Python to be able to do the take-home assignment, which he said he rushed through in a few hours because that was the only time he could dedicate to it. However, he seemed to struggle on the live coding part. I tried to prompt the candidate to talk us through his code, but he seemed to prefer coding in silence. I even helped him out by pointing out a bug in his code, but he ignored me, then wasted another 5 minutes working it out. I did wonder if he understood what I was saying. His CV claimed “Good communication and Presentation skills” but his presentation was full of “erms”, and during the live coding, he barely said anything, even when I reminded him to explain his thought process in order to gain more marks. By our scoring system, he scored very average but he has good credentials and I think there is potential there. You would think with his credentials, he would aim for a fancier job which could utilise machine learning though.
Possible Cheat
The second guy I interviewed got off to a good start. The program he demonstrated looked very complex. He said he was new to C#, and had good knowledge of C++, but he used our task as a good opportunity to learn C#. He actually used ASP.Net with Razor. It was mainly C# but it also contained some Javascript. He explained the program reasonably well, but then suddenly seemed to doubt himself and say that his program wasn’t very good. I assured him it was actually very impressive. However, when we moved onto the technical definitions, he couldn’t answer them very well at all. He really struggled with the live coding questions, then reminded us he is a C++ developer. However, after letting him re-attempt using C++, he still struggled to get something even close to what we asked. I find it hard to read C++ but he came up with some strange approaches and couldn’t explain his thought process at all. It made me think that he got someone else to write the take-home test.
3rd Guy
The third guy I interviewed seemed like a much well-rounded person. He explained his code well, asked questions when he was unsure of what we were asking, and showed he could debug (well, to a basic level anyway) when his code didn’t work. I made it clear to Colin that I thought he was the best candidate, but sadly he got offered a job elsewhere for way more money than what we could offer.
In this blog, I’m going to discuss some of the proposed questions as mentioned in #1, and discuss some questions that possibly or were asked in the actual interview process. The job is a Graduate Developer. The applicants will primarily be Indian but there are a couple of job positions available in the UK.
Many of the proposed questions were misleading/ambiguous/wrong.
Here are some highlights:
Multiple Choice Coding Questions
How many values a method can return in C#?
A) Any number of values
B) Only 1 value
C) Depends on the argument passed
D) Depends on class
Answer B
A method can have 1 type defined in the return, but this can be an object which contains many values. You could also say the List type is “many values”, and you can also define out parameters. A) seems a better answer in my opinion.
Multiple Choice Testing Questions
The expected results of the software is __________.
a. Only important in system testing
b. Only used in component testing
c. Most useful when specified in advance
d. Derived from the code.
The answer is A apparently. I think it should be C. Although it’s not “most useful” – more like essential. Why wouldn’t you think it is important at any other time? Don’t you care about expected behaviour during Regression Testing? Don’t you care for Unit Testing?
A test technique that involves testing with various ranges of valid and invalid inputs of a particular module or component functionality extensively is ___________.
a. Gorilla Testing
b. Monkey Testing
c. Agile Testing
d. Baseline Testing
Answer is Gorilla Testing, but I’ve never heard of it. I was a Tester for around 4 years, and have worked with Testers as a Developer for several years. I sometimes use the phrase “Gibbon Testing“, but that’s an unofficial testing practice that involves furiously clicking with the mouse, or bashing frantically on a touch-screen. What use is a question like that if it isn’t known by the average tester?
When an expected result is not specified in test case template then ___________.
a. We cannot run the test.
b. It may be difficult to repeat the test.
c. It may be difficult to determine if the test has passed or failed.
d. We cannot automate the user inputs.
Answer: C
I assume “Test Case Template” just means “Test Case”. I think the answer should be A, B, and C, but if you can only pick one, I would go with A because that implies B and C.
Which testing cannot be performed on first build of the software?
a. Regression testing
b. Retesting.
c. Sanity testing
d. Only A and B.
e. All of these
Answer: E
E doesn’t quite make sense because D states ONLY A and B. Of course, the answer is E. I suppose you have to actually assume “All” just means all the testing methods stated, rather than “all of the above” like it usually means on tests.
Face to Face Interview Questions
Behavioural
I found a document which I assume to be the face-to-face interview that Colin was doing. On the few interviews I have been on so far, I was only invited to the coding part of the interview, and even Colin’s notes from each candidates interview weren’t shared with me.
Here are his suggested questions. I think you are supposed to answer in the STAR format (Situation, Task, Action, Result), but it doesn’t quite apply to these. I really hope he didn’t present them to the candidates using this poor grammar, or vague statements.
Will you be interested in picking up the testing activity?
You get some clarification on your query in a work item from product, will you communicate the updated to other stakeholders or not, If yes why?
Will you handle the non-reproducible bugs in the dev environment? – Fixed bug working fine in dev environment but not in test environment
Will you be interested in picking up the testing activity?
Evaluation:Should be ready to pick itShould be ready to share the team’s work
The sentiment of the question is fine because sometimes when the Testing backlog is piling up, it makes sense for Developers to help out Test (as long as the Developer is not just testing their own fixes). In the past I have heard many developers complain that they are asked to do this. The thing is, even if that is your attitude, why would you answer that question honestly?
His evaluation criteria seems to imply, you are supposed to answer “yes” then mention something about “teamwork” then you get the points.
You get some clarification on your query in a work item from product, will you communicate the updated to other stakeholders or not, If yes why?
Evaluation:
Shall reduce the repeated work from the whole team
All will be in same page
Will help more for dev for coding and unit testing
Will help more for tester to complete the test design and review
Good, all stakeholders in the same page and sync
Will decrease PO effort in communicating the same thing to all team members
Translation: I think this is saying that you have to implement a new feature, but you question one of the requirements. After you ask the Product Owner to clarify, do you share this information you have learned?
It really sounds like you are supposed to say “yes” to it, then mention something about communication. In reality, I think the Product Owner should change the wording of the requirements on the “User Story” or add extra notes to the discussion section. If the information is recorded there, then any Developer/Tester/Manager who views it will see a record of what was discussed and no communication issues should occur. So I’d say Colin’s suggested points are fine, but the overall answer is really: “no, the Product owner should be responsible for updating the User Story”. However, Graduates won’t have experience working in this way, so I think they would just make assumptions and blag an answer.
Will you handle the non-reproducible bugs in the dev environment? – Fixed bug working fine in dev environment but not in test environment
Evaluation:
Whether raised bug is within the scoped limits
Patching done without any errors
Reproduction steps
Verifying the environment client version
Test evidence in the bug
Conducting a triage call with the production team for more info
Verifying the environment details
Translation: This means you have provided a fix for a bug, but then when on the Test System (or could have gone to the Live Environment), it isn’t working as intended. So what is your strategy for deciphering what has happened?
This is a good question, but maybe hard for Graduates if they have no experience. I think the answer is more along the lines of
Check the test environment definitely has your fix on it (patched to the same version number)
See if there is any difference in Configuration (maybe some Deployment options, Organisation options, User options etc)
See if you can see any difference in the selected data. So if you select a Customer then view their contact details, is there any difference in contact details on their system – compared to when you tested it on your computer?
Debug the code against their environment to work it out.
So Colin’s notes covers some of the points, but then his other points are vague and only he knows what it actually means.
Database Question
On the technical part, the candidate was sent a question pasted in chat. The grammar was whack and the formatting of the data was abysmal. How are you meant to work with this?
Select Project names which is having employee working in multiple project
Logic Questions
Question: Measure 4 Litres of water, only using a 5 Litre cup and a 3Litre cup (assume that you have an unlimited supply of water).
Answer: Fill 3L cup with water. Fill the 5L cup with the 3L cup. Fill 3L cup again. Fill 5L cup again with the 3L until it gets filled with water. This will result in you having 1L left in the 3L cup (and 5L in the 5L). Empty the 5L cup. Pour the 1L from the 3L cup to the 5L cup. Finally, fill 3L of water in 3L cup and transfer into the 5L cup.
I think when I first saw these type of questions I was baffled, but once you see an answer, you can easily answer variants of them. I recently played Tomb Raider: The Last Revelation and the final set of puzzles were variants of these and I did them with ease.
Question: In this scenario, you are standing in a room with three light switches. Each corresponds to a different light bulb in another room that you cannot see. If all the light switches are off, how do you find out which one turns on which bulb?
Answer: I will turn on one switch and leave it for a few minutes. When I turn it off, I will quickly turn on another switch. I will go to the room which shows what light turned on from the second switch, then feel the other bulbs for which is warmer (which would be the light I left on for a while). The third switch belongs to the bulb that is off and cold.
This question is nonsense. It never says you can leave the room, and it says “you cannot see” which implies you can never see them from a distance, or get close to them to touch. If you can leave the room, you could turn one on, go and look, then go back and turn on another. I think the question needs to stipulate you can only leave the room once only.
Question: You are driving a bus. There were 10 passengers already on the bus. You pick up 8 people from Stop A, drop 12 at Stop B, pick up 5 from Stop C and drop 9 at Stop D. Then, what is the age of the driver of the bus?
Answer: Your own age.
Question: You have to enter one of the three rooms. One room is on fire, another is occupied by a man-eating lion who is hungry for three months, and the last one is occupied by a terrorist with a fully loaded AK47.
Answer: The 2nd room because the lion is dead because of hunger. (Hungry for 3 months)
I’m not a fan of a question like this because wording it as “is hungry for three months” implies it is still alive and hungry. It needs to say “hasn’t consumedany food for three months”. I think it is intentionally been written like that to reduce the likelyhood of coming up with the answer. One of the aims of the test was to examine people’s understanding of English, and throwing in questions that are ambiguous, misleading or containing poor grammar isn’t the way forward.