Self-Assessment

Recently, we were filling in our forms for the end of year performance reviews. We have tried all kinds in the past, but have settled on something simplistic in recent years. It’s basically structured around open questions of “what went well?”, “what didn’t go well?”, “What have you learned?”, “What would you like to learn?”. 

Since we had already just evaluated ourself, it was  a surprise to get an email directly from the CTO wanting us to evaluate ourselves.

Hope you are well. 

We are currently conducting an assessment exercise across our Portfolio to establish our strengths and areas for improvement, with the goal of growing our capability as a department and to drive to our long term vision of moving to development on our new product.

To facilitate this process, we have developed an assessment questionnaire that will help us understand your capabilities and your career trajectory.

Could you please complete this form by selecting the option that best reflects your current capability or skill.

It’s an unexpected email, states urgency, and contains a suspicious link. All the hallmarks of a phishing email. I waited for a colleague to click the link before clicking mine. Given that it asks similar questions to what is on our performance review, as well as many others that are specific for our job role; why wouldn’t they just standardise the review process in order to get the information?

Clicking the link loads up a Microsoft form with Employee ID and Name filled in with editable fields but the question says “Please do not change this”. My name had double spaces in it which was really annoying. What would happen if I did correct it? Does Microsoft Forms not allow you to have non-editable fields? Seems a weird limitation regardless.

The questions were labelled with the following categories:

Delivery, Code Quality, Problem Solving, Accountability, Technical Proficiency, Domain Proficiency, Cloud Knowledge, New Gen Tech Stack Proficiency, Joined Up, Process and Communication, Innovation. 

I really didn’t like the way the questions were written. There are 5 answers labelled A-E, but C is often written to sound like a brilliant option when you would expect that to be average. B and A just sound like behaviour reserved for the Architects/Engineering Managers/Principal Developers.

Given that the answers just seem to link directly to your job role, then it reminded me of those online quizzes where it is gonna decide what TV Character/Superhero you are, but you can easily bias your answers because you can see exactly where it is going. In this case, this assessment just seems like it is gonna rank you Architect, Expert, Senior, Junior based on your answers.

Some of the wording for the lowest answers seem like a strange thing to admit.

“Only engages in innovation efforts when directly instructed, showing a complete lack of accountability. “

Why would you admit to showing a complete lack of accountability? Most people probably don’t “innovate” but selecting an answer with “showing a complete lack of accountability” seems crazy.

So given that some answers are never gonna be selected because it’s a difficult thing to admit, and given some answers were clearly based on your job description; then people would just select answers based on what they SHOULD be doing, rather than what they ACTUALLY do. So therefore, it’s a pretty pointless survey. Also there is bias that it was given during the review period so people would suspect it would be used to decide pay-rises and promotions rather than just for some team reshuffle. 

This one on Code Quality is weird because B and C seem similar in standard, but then when you read D, it sounds like you admit you are an incompetent Software Developer.

Code Quality 
(cq.a) Established as code guru and plays a key role in shaping optimal code quality in the team through effective reviews, acting on insights from tools, identifying and resolving inefficiencies in the software and process.
(cq.b) Effectively uses insights from tools like Sonarcloud and influences team quality positively by enforcing standards and showing an upward trend of improved quality and reduced rework.
(cq.c) Upholds the highest standards of unit testing, coding practices, and software quality in self-delivery and ensuring the same from the team through effective code reviews.
(cq.d) Rarely identifies refactoring opportunities, misses critical issues in code reviews, and struggles to positively influence the team's approach to code quality.
(cq.e) Engages minimally in code reviews, allowing issues to slip through; unit tests are skipped and/or yet to begin influencing the code quality of the team.

This one seems applicable to only the top people, or ones that love the limelight and want attention from the managers.

Joined-up
(ju.a) Designs personalised learning paths for team members to ensure comprehensive skill development.
(ju.b) Takes ownership of training needs, seeking opportunities for personal growth. Takes the initiative to identify advanced training opportunities for skill enhancement.
(ju.c) Demonstrate robust team communication, encourage team to contribute in weekly Lunch and Learn sessions, actively recognising peers, support juniors wherever needed. Be active in recruitment.
(ju.d) While excelling as an individual contributor, there is an opportunity to engage more with team members by sharing ideas, seeking input, recognition and offering support in team/organisation initiatives
(ju.e) Need to start taking on a mentoring role by sharing knowledge, providing guidance, and offering constructive feedback to the juniors help them grow and succeed.

I think it is difficult to make meaningful surveys or assessments, but you need to put some thought into the value, and the accuracy of the results.

Manager feedback

When it comes to performance reviews, I find it hard to fill in the forms about myself, but it’s even harder to fill them about others. I often think you can write something to describe people’s general approach/attitude to work, and maybe point out a few strengths and weaknesses, but trying to answer specific and sometimes cryptic/ambiguous questions just frustrates me. I always think it should just be:

  1. Strengths
  2. Weaknesses
  3. Other comments

But instead, last year we had to fill in the following about our manager. I think it was generally just scoring 1-5, but with optional comments to justify it. Some questions are easy to answer, but questions with nonsense buzz phrases like “change agent” and “builds internal networks” just frustrate me, and destroy the little enthusiasm I had for filling this in. I would have thought having fewer questions would mean people spend more time thinking about each one, and therefore get more accurate results and better comments. 

  1. Mary leads by example aligned to Our Values. Mary exemplifies values within their own teams and organisationally: Collaborative, Responsible, Supportive and Transformative
  2. Mary is responsible for their team and takes accountability for delivery
  3. Mary provides guidance and support in the setting of performance objectives at individual and group level
  4. Mary manages performance of objectives (individual and group level) ensuring achievement of objectives through reviews
  5. Mary builds an environment where people understand, and recognise, the contribution they make and how their role fits into the wider organisation and its performance
  6. Mary is a change agent, leading change to ensure delivery through people with effective communication, support and results
  7. Mary builds people knowledge and business understanding through regular communication with their people and teams
  8. Mary engages with their team, encourages engagement amongst their team and cross-departmentally to drive solutions through collaboration
  9. Mary builds internal networks to drive and collectively deliver through positive relationship-building and understanding
  10. Mary embraces and encourages collaboration within their own team and between teams managing problems directly
  11. Mary is aware of, and responsive to, the changing needs of their people (own team) and their wellbeing at work
  12. Mary supports the engagement, retention and loyalty of key people as well as providing an environment where new people feel empowered and trusted
  13. Mary is solutions-focused not problem-focused bringing all relevant parties together to deliver
  14. Mary provides opportunity for all relevant parties to contribute, build and achieve collectively whether in their own teams or broader cross-department teamwork
  15. What one thing is Mary doing that is having a positive impact on the team?
  16. What one thing could Mary do to have a greater impact on the team?

Performance Review 2023

Last year, we felt slightly aggrieved that our employer made out they would match inflation with our pay rises, but then disguised it with: a one-off profit share, pension payments, and optional benefits. Our wage only increased by 2% but inflation was currently around 7% and predicted to rise further. Better than nothing though, so can’t really complain.

With inflation being 10%, we wondered what we would get this year. Then came the communication that stated that they understand inflation, and remarked that we are still highly profitable so can cover the costs:

“Further to our communication at the end of 2022, I can now update you on our remuneration approach for 2023. We know and understand that employees are continuing to experience cost pressures and we remain committed to ensuring that the overall pay budget for this year reflects the continued external inflationary environment we are in. Whilst this has been possible due to the ongoing success of the business, it will require us to again manage our costs in 2023 carefully.”

HR Director

However, then they reminded us that they gave us: 

  1. an extra £200 one-off payment
  2. Increased leave for parents
  3. the option to work bank holidays and take a different day off instead.
  4. they will give us a one-off profit share just like last year

So with them clutching at straws for things they have done, you know that means they weren’t giving us 10%. Maybe we could get 5% as a compromise then?

“The exact amount of any increase to an individual’s salary and timing will be agreed locally, as normal, and will be dependent on a number of factors including performance. I believe these measures reflect our responsibility to be aware of the external inflationary environment, our immense gratitude for your efforts over the past year and our desire to become an employer of choice.”

HR Director

What did I get?

0%

immense gratitude for your efforts over the past year” 🤨

I’ve mentioned in previous blogs that judging performance is very subjective and often bent to fit a narrative, and I got completely screwed. So let’s get into it:

The Review

“You had an average year in 2022, working on only a couple of projects, one where you worked as an individual contributor then moved onto a pair project”

Well, that seems to imply just being on 2 projects in a year was a bad thing, but that’s not really my fault is it? Since I single-handedly delivered one project, then was in a team of 2, surely that should show I can handle responsibility and pressure?

“You were good in many technical aspects but were not able to step up to the plate as a leader in the team.”

I was in a team of 2 as a Senior Developer, and I got really good feedback from that team member. What more do you want?

“You were given an opportunity to lead on defining our interview process. I expected you to lead on this but have not shown much interest in it. Ultimately someone else led it, creating the interview pack, redefining interview questions and leading live interviews, which I think is a missed opportunity to shine.”

I blogged about this process. It was a mess, but at least I tried my best to direct it. We created an interview process for Graduate Developers from Indian universities who were using Python, but set them C# and Object-oriented questions…then asked questions on Software Testing which they also don’t do. I was pretty clear we needed to focus on the people we were targeting (Python and Web programming) and not on what the job was (C# Developer); (or even better, change the people we were targeting – but that was already decided upon). I got outvoted by the other Seniors. I felt I couldn’t lead in the interviews because I didn’t believe in the questions.

“I can see that you might not see Unit testing as a productive way forward, and the target set might not be accurate”

In recent times, managers have been demanding we achieve 80% test coverage and I have highlighted how poor many tests are that people write, and the 80% is a random target. It’s not improving the quality of code at all. Due to the fact I wrote little (but high-quality tests) I got criticised and talked about between senior management. I raised in my review that I believe managers now see my output as low quality, so I will need to repair my reputation.

I also raised that I was annoyed at the frequency of team member changes. My projects had Testers switched in and out, we changed Product Owners, Software Architect, and there was talk of more changes that didn’t happen. Colin then stated “I never raised my concerns at the time”, but I definitely did.

Some of the comments received from your colleagues:

“I think that he has been a good technical lead. His knowledge is excellent, and this has been shown in how he has been able to help me with any technical problems. He has constantly been available, has a great attendance record, and will defer annual leave for the good of the project. His code review comments are always clear, concise, and helpful. He is always available to help with Testing as well.”

“He has a good insight into what he thought was and was not possible”

“He needs to make sure that just because an issue is raised he doesn’t jump on it right away as there is a priority order for things”

“He’s reliable and just gets on with the work”

“Can be a bit quiet on calls at times but whenever I specifically call him out in calls, he would answer questions”

“At weekly meetings there wasn’t enough substance in his updates. He doesn’t come across as a leader to me or perhaps he just did not want to be at those meetings.”

I definitely got good feedback from people but then the positive ones were ignored in the discussion. I had good arguments against some of the negative points as well. I think I only picked up non-prioritised work when I had finished the work that was. What do you want me to do? Just sit there idle? I often knew it was issues related to recent work so it was obviously gonna be the highest priority, and as Team Lead, I think I can make that call myself. 

I’m always annoyed when people criticise me for being quiet on calls. If enough people are saying the things I am thinking, then I don’t need to speak. If no one has raised the issue I am thinking of, then I will provide it. Then, if people specifically ask what I think, then I will say, even if I am repeating what others have said. That final feedback was about a meeting similar to a Scrum of Scrums where many teams get together. But the meeting was mainly for Colin and he rarely attended. So I had the attitude of quickly going through my points then moving on. I thought the wording was harsh – they have no idea what it is like to work with me directly.

I have no idea how they can justify giving me nothing. That’s like a 10% pay-cut with today’s economy.

Colin isn’t my manager anymore, so let’s hope my new manager will actually put things right.

Employee of the Month

Managers seem to love the concept of Employee of the Month/Quarter/Year. On paper, it sounds good because it recognises the efforts of an employee, but I often find that managers don’t really understand the effort that goes into something, and they also don’t have knowledge about the entire development process.

So what will happen – is that there will be a shortlist of nominations, then managers will get together and debate on who should win. Some of the nominations will have been highlighted by any staff members, but some will be the manager’s own opinion. Regardless, the emphasis is really delivered by the manager who is representing the nomination. So a more persuasive manager will hype up their candidate more than someone with less persuasive skills.

As an aside: as a non-manager, I can only judge by their description of why they gave the award, and I might have my own view on who deserved it based on my limited knowledge of the projects that I have heard about. So their judgement may be misguided, but so is mine because I also don’t have full knowledge across the department.

Another thing to bear in mind is that managers can be biassed towards the financial gains of the project. Team members don’t decide what projects they work on, so as long as they don’t completely mess up the project, sometimes it seems pre-determined who wins.

I remember talking to a colleague whose team had won the “Team of the Quarter” award. He said it was an absolute joke because the project had overrun by 3 months or so due to mistakes within the team. He said there were all kinds of arguments and team morale was low. They knew they had cost the company money, but the late fines were insignificant compared to the money they gained when the project was delivered. Then, because it was worth loads of money, the managers gave them the award and cited “tough challenges” that were overcome.

Recent Awards

Strangely, in our last awards ceremony, an award was given to a team whose analysis and discussions led to the cancellation of one of the highest-value projects we had gone for in recent years. The CEOs seemed to make a big joke out of it, but were probably crying on the inside as we had not only paid 20+ people a year or so salary, but lost out on potentially millions of revenue.

There were also some great examples of somewhat-predetermined winners. The team leading the “Employer Of Choice” scheme won an award based on “improving work conditions“. Who else was gonna win that? The team was literally formed with that objective. Should you get it for merely delivering it, or should it only be given if you exceed it?

There was a recent problem where some users were experiencing a 20 second wait time to load up a customer’s record. A developer was assigned to the bug and put out a fix. He won a “customer satisfaction” award. Whichever developer was assigned to that was gonna win – it wasn’t anything to do with his contribution at all. The thing is, if you look at his change, and look at the code review, it was a bigger team effort:

  1. 2 expert developers had left all kinds of comments on his review and made him come up with an alternate fix. So the solution he came up with by himself wasn’t adequate.
  2. One of the comments stated how his fix simply moved the problem from “first load of a customer record” to “when the user logs in”. This was stupid for 2 reasons. That very same developer had fixed a problem with excessive login times 2 months prior so he should know it wasn’t a good idea to extend the log-in time. Secondly, some users like System Admins may never look at customer records, so extending their login time in order to save time when loading records is terrible.
  3. Then the developer had also stated that part of the actual fix was created by a senior developer.

So really, barely any of the solution was actually produced by the developer that won the award. It was a team effort and they didn’t get recognised.

What annoys me, is it was for the “Year” period, but some nominees had already won when they did “Employee of the Quarter”, so they ended up winning twice. I suppose it is stupid if you don’t win the Quarter award but then win for the Year, but maybe they could have come up with different categories, so you can’t win both.

In recent times, we have been producing some video interviews with the winners along with the people that nominated them for the award. The video is full of soundbites and emotional music. It’s so unbelievably pretentious. One video was hyping up a newly-hired manager’s Employee of the Quarter award:

That’s what I have brought to the business. Don’t make a decision unless you understand all aspects of it.

Winning manager

Kinda sounds like he is having a dig at the current managers and their rash decisions!

“interpersonal connectedness. He is driving that agenda which is great”

The nominator

“I’ve got a long way to go but yeah, I’ll get there, and I’ll bring the business with me”

Winning manager

My Win?

Several years ago when I was a Tester, there was one particular awards ceremony that I’ll never forget. When the awards were read out, the managers created tension by reading out what the winner did before announcing the person’s name. So they were like “this person worked on Project X, and this person took on challenge Y, showed positive attitude” etc. I couldn’t believe it because it described my work in my team! I was overjoyed how my team had recognised my work over the months and had put me forward. In that team, I had successfully delivered the previous project when I was the only Tester and we had no assigned Team Lead. Then I had moved onto a new project with the same team, plus one new problematic team member. I felt like I deserved something to make up for the fact we had a really problematic team member who caused me a lot of stress. Then when they finally read out the name – they gave it to the problematic team member! I nearly swore and stormed out of the room.

Virtual Praise Cards

We did come up with some virtual praise cards that you can send to your colleagues. There’s certain people that frequently give them out, so it leads to the same names that gain them. Often you see them just handed out for doing basic things. Like I was saying before; you are just literally doing your job and you get praise. There was one that I was joking about with my colleagues because it just seemed like – either the employee was trying to get in his manager’s good books, or was just having a laugh with the system.

 “Thanks for sharing the updates time and again. Literally under good leadership.” – Praise card for a manager

I also got quite a few of these cards during the first year of them being implemented, but then it seemed like a fad and I have rarely received them since.

LinkedIn Learning

I was recently watching a course on LinkedIn Learning about “Recognizing and rewarding great performance”. There were some good lessons in there: 

  1. Employees will respond more to non-money recognition once they are already paid fairly 
  2. Monetary reward should be proportional to the work value. If they save the company £10000, don’t reward them a measly £20. 
  3. High performers are best rewarded with growth opportunities 
  4. Peer to peer recognition is powerful  
  5. Be careful with incentives that creates more losers than winners. – might not help people you are competing against 
  6. Be mindful that incentives can be manipulated 
  7. Flexibility is a reward every employee can appreciate. Extra day off.

Promotion Special

One reason I thought writing a blog would be good is that it would document my software engineering story to become a Senior Developer. That was always my ambition when starting out as a Junior Developer – to become good enough to be recognised with a fancy title.

An industry standard for Senior is probably 5 years experience, but that’s just a rough guide. I mean, 5 years of consistently being bad shouldn’t get you promoted. I’ve written about Performance Reviews in the past, and stated how the process never seems to work, or not for me anyway. So I think it’s been more like 6.5 for me.

Recently, I reflected on my promotion from Junior Developer to Developer in the blog Comparing to Others, and that was to build up to this one. Obviously you can tell from the blog title and the words that I have written so far – I have been promoted. Senior Developer. So let’s reminisce and discuss the movements over the last year or so

A few years ago, I was working on our upcoming software, but I was asked to return to the previous software I worked on, with a strong hint I would be promoted. In my performance review, my manager Chris then made some excuses why I couldn’t be promoted and hinted it should happen in January 2021. But in January 2021, Colin got promoted and I didn’t. He moved from Senior to Principal, so there should have been a free role available. My team members think I am a far superior developer to Colin, so how does it make sense that he is now 2 ranks above me?

My team members started being annoyed. I had people say to me they were frustrated I wasn’t being respected. Even Colin said he had been talking to the Head Of Development about how insane it is that I hadn’t been promoted.

everyone “technical” thinks you should be a Senior

Colleague Developer

and all the Spanish think I am a Señor

Me

I changed managers and my new manager said he would look into my claim that I was underpaid and would try to find out how to come up with a solid plan to also get me promoted. However, I had a performance review with him, and in the review, he read out the feedback my previous boss gave me, although Chris’ notes were vague. So he asked me to explain the “unprofessional comments”. I explained that I have a running-joke where I state “the project is in ruins” when theres a minor change to the scope. It’s an exaggeration and purely in jest, although someone in the team has raised a concern about it. I was really grateful for his response because he laughed and said the person that complained was wrong to do so. However the reason why I panicked when he first brought it up was – I remembered that I responded to Chris’ question on Slack a few days prior with the text “lololololol”. So I then realised that I hadn’t taken Chris’ comments on board whatsoever.

Months went by, and my new manager assured me he was trying his best to promote me but was just getting pushed back by managers. Eventually, after another team restructure, I changed managers again.

In my first one-to-one, my manager asked if there were any concerns I had with the company. I stated that I was underpaid and was getting overlooked on promotions so dropped hints that I would be looking to move on. A week later, he calls me and said he was “absolutely shocked” at how low paid I was so would be taking it to HR urgently because we can’t afford to lose great developers like me. He managed to get a £5k payrise although HR still insisted to underpay me for 2 months before they actually gave me it.

Another month went by and he confirmed I would be promoted. I stated in the past, HR don’t allow big payrises so would probably say I’d already had one and reject the request. He assured me he wouldn’t stand for that. He kept his word, although yet again, there’s a compromise. I get a further £7k but have to wait 6 months until they approve it. HR are just the worst. You would think they would know how to make staff happy. That’s their job, yet they treat people like numbers and not humans.

The good news is that I finally get a good salary and it matches the respect I get from colleagues. It’s not even a change in responsibilities either, so I got £12k extra for doing exactly the same job as before. I probably should have been on this wage/role at least a year beforehand though. Don’t get me wrong, I was grateful for my previous wage. I always remember the times I was unemployed and have known many friends to struggle on low paid/part-time jobs. It’s just frustrating knowing someone could easily join the company and be on a much higher wage than you, and sometimes you even hear underperforming colleagues boast about their higher wage.

The thing is, in the past, our performance reviews have changed several times and we have tried: filling in a form; interviews; filling in multiple spreadsheets and forms; manager’s opinion only – and you could say none of them have worked out for me. It was only when I essentially hinted at leaving did I get the promotion. It shouldn’t be this way. Great people can leave, and the most confrontational get their way. Surely, that is the worst system.

I think I can easily be happy with my job title and wage now. I shouldn’t be complacent because you never know what the future will bring. Maybe one day, I could even come up with an idea about how to fairly appraise people, because we obviously have no idea, and I’m pretty sure it’s a common problem in the industry.

Comparing to Others

I came across these quotes a while ago and thought I’d blog about the topic at some point.

“Comparison is the deadliest thing we can do to ourselves because we will always come up short. All it does is it exaggerate all of our insecurities,”

Simon Sinek

“It’s healthy to grow our own strengths rather than being intimidated by the strengths of others.”

(I think this was also Simon Sinek, but it wasn’t clear in my notes)

I have seen similar advice in tech blogs and this very much links in with the problem of Imposter Syndrome.

However, I think I have the opposite approach. I think it is very difficult to gauge how good you are as a Developer. After a few years of experience as a Junior, I had a one-to-one with my manager before an upcoming performance review. He asked “how do you think you are performing?” and I said something along the lines of “I just do my work and I’m okay at it”. He responded along the lines of “that simply isn’t true. You’re much better than that. Try to answer that again”.

I didn’t know what to say, but then he said “compare yourself to your teammates” (who were mainly developers but there was one other Junior rank, but all had years more experience than I had). When I thought about it, I realised that on average, I was probably just as productive as they were, but had a higher quality record (as in Testers didn’t find bugs in my code). Aside from the Team Leader, I also did the most code reviews, and people appreciated my reviews. When Testers needed help, they often came to me because they thought I was helpful, friendly and knowledgeable than my peers.

I said these things to my manager and he said he had already decided that I was ready to be promoted, so I’d lose my Junior status. I was well surprised because I’d never thought I was that good. I’d never considered I’d be close to a promotion until that very meeting where I just compared myself to my colleagues. I’d left the meeting a bit shocked. I’d finally be a “proper” Developer and maybe I was a lot better than I thought I was.

I still find it difficult to assess myself, but when I think about my team members, it is easy to see my qualities and what I offer to the team. There’s loads of developers that I know are significantly better than me (but they often have higher ranks anyway), but then sometimes that’s a good indication of what I need to work on. 

It’s good to think of people who you don’t rate very highly, and think about what aspects justify that opinion. These aspects are traits you value and could be your strengths. If these aspects aren’t currently your strengths, they are what separates the good developers from the bad ones, and gives you aspects to work on. 

I always considered what makes Colin and Derek bad developers, and then I pride myself on what I do differently. Mainly it comes down to: my attention to detail, care for the quality of the codebase, being able to debug more effectively, and being able to review other people’s code.

Maybe it depends on your personality type. Comparing yourself to others could lead to confidence issues and Imposter Syndrome. For me, it’s exactly what I need for the opposite feeling; not relating to poor developers such as Colin and Derek justifies that I’m good at my job.

It also raises the point that maybe managers shouldn’t wait until people ask to be promoted. Those that are bad at appraising themselves will be left behind, whereas those that are deluded will get promoted.

Development Department Objectives

About a year ago, the Head Of Development shared a list of development objectives that she was responsible for. Although each point sounds good, how do you even achieve these? and how is she held responsible for them if she succeeds or fails?

1 Reduction in Major Incidents

A Major Incident can simply be a bug that many users would see and was introduced in the most recent release. It could also be a high-severity bug; e.g. a feature is completely unusable, or if you could see someone else’s data.

You could have some kind of policy enforcement, like increasing automated tests coverage which you run on every release. It’s not going to catch everything though, but it’s a start. I think this objective is okay.

2 Reduction in Major Incidents fix time 

How long does it take to fix a bug? Every bug is different. You need to recreate it, then come up with a fix, then test it. Sometimes the feature may partially depend on a 3rd party and you may need some complex set-up to get the feature working. Each of these aspects can take between a few hours and weeks. It’s out of your control. 

What you can change is the time between the user encountering the issue, and it being assigned to a developer. I have found that sometimes issues are discussed on a Wednesday, then somehow get assigned to me at 3pm on a Friday and there’s discussions on who can work weekends for it to be deployed on Monday at the latest. Yeah, we can definitely improve that process, but the overall metrics are essentially just going to be based on luck.

3 Increase rollout pace

I’m not involved in the deployment process, but sometimes this is beyond our control anyway. Some of our customers will refuse updates, or request we delay patching them to when fewer users are using their system.

4 Reduction in issues 

If it was so easy to not introduce issues, then surely we wouldn’t introduce them. Maybe some people think developers introduce issues on purpose to keep us in jobs! However, there’s plenty of new feature requests and improvements we could be doing, but we spend so much time fixing bugs. We would much rather be introducing new, cool features.

Again, you could improve processes like automation coverage, but it’s easier said than done. Even if developers write Unit Tests, we have Manual Testers verifying our changes, and sometimes other Automated Tests – bugs still get through.

You could reduce the chance of issues by making the releases smaller. Fewer changes mean lower risk of breaking anything. Not releasing at all means there will be zero new bugs. You could make this metric appear better, but by lowering the productivity in the department.

Conclusion

I actually don’t know if we achieved these. I wouldn’t have thought so, but the Head Of Development got some kind of promotion, and some award for her work. If we did succeed, it would be by pure chance. I don’t recall any kind of initiative or process change that made a difference.

Colin Promotion

I did mention that Colin joined this team because he saw it as a good opportunity for promotion. I thought he was absolutely nuts because he didn’t even deserve his Senior position, yet he was aiming to be among the “big dogs” in the company (often known as Principal Developers). I’m sure you will agree that he has ‘ideas above his station’ if you read the stories I write about him.

Well, now I have egg on my face – because he has been promoted yet again, and I’m still not a Senior. He is two ranks above me now, can you believe that?

I sent messages to some of his old colleagues to inform them of the news. Usually, if you tell someone about a promotion, you will get neutral responses like “ok, now I know who to talk to about X”, or maybe some positive responses like “brilliant, he really deserved it”. Out of 7 responses, what percentage were positive or neutral?

0% positive, 0% neutral. 100% negative. Some people even accused me of lying. I don’t normally put swearing on the blog, but I’ll include this one. Here are the responses:

“What!? I don’t know what to say to that.”

“haahaha are you fucking joking?”

“wtf..what is wrong with the managers?”

“Be prepared for more mistakes”

:joy:Is he your team leader? That should work out well :face_with_rolling_eyes:

 “wow, how did that happen? God help the world”

 “Don’t lie”

I’d like to point out all I said was “Colin has been promoted”. I didn’t tell them what I thought, or preceded it with any statement to influence their opinion.

So the promotion definitely doesn’t have the backing of his colleagues. It makes you wonder how a promotion can go ahead when it is unanimously deemed a bad idea. Well, I’ll keep trying to think of how to make an accurate and fair promotion process.

I did have a conversation with my manager to ask why my promotion didn’t happen. He gave me the usual response I’ve heard in the past to do with budgets and no free spaces for that role. I pointed out that Colin has just vacated a Senior position which I can have.

He was still adamant that the budget was gone and there’s no free spaces anyway. He promised he was doing as much as he could to promote me, and he said he was constantly asking the Head of Development to promote me.

I have to put faith in him, because later that day the Head of Development sent me a message saying how she understands “I am doing a great job and it is appreciated”. 

The funny thing is, I’m not even doing a good job at this current moment. I’ve had lots of annual leave, and haven’t had much work assigned since we decided to cut the scope of our recent releases. I’ll probably write about this in more detail shortly.

Mid Year Review 2020

Intro

I’m not sure if the “end of year” coincides with the tax year, or if this “mid year” should have been a few months back, but the organisation of our performance reviews has been poor this year.

I think we were supposed to agree on some objectives back in January or something, which got delayed, I think this was mainly due to managers having to decide which crazy criteria we are judged against this time. I have ranted about different ways of evaluating performance, but they usually seem unfair and favour those who love to exaggerate or are a bit dishonest; which isn’t who you want to give pay rises and promotions to.

Anyway, the mid year review was booked in and I pointed out to my line manager that I have no objectives and haven’t prepared anything. Then he said “don’t worry, I’m just gonna free-style it”.

So much for being fair! In previous years we were told the strict process and consistency across the departments was for fairness. Now we have regressed for a pure free-for-all.

However, I’m not complaining because I hate the majority of reviews. I think you do have to be purely subjective when it comes to analysing developers, and I think you have no choice but to judge how well they fit in the team, which the manager should have awareness of. So I have more chance of finally being promoted under this unorganised style.

The Review

So my manager Chris, begins the meeting by explaining that he has got some notes on his own opinions:

“you’re the strongest developer in the team, or you are up there with the best”

Chris

and he has also asked for feedback from my colleagues.

“the biggest problem with working with him, is that he is too good”

Anonymous

“why isn’t he a senior yet?”

Colin

I know that one because Colin had personally called me last week and told me he had questioned it with Chris. No idea why Colin is lobbying for my promotion. 

I’m good friends with one of the Software Architects, and he has also been trying to influence Chris on my behalf. So I have 2 people protesting about it which is funny.

‘The promotion is finally here’, I thought. Then Chris starts saying that there’s been a bit of negative feedback too, and it’s my communication.

He said that I’m too cynical and sometimes put a downer on the outlook of the project. I wasn’t sure what he meant at first, but then I later realised that as a joke, when the slightest thing has gone wrong, I do say things like “the project is gonna be cancelled!”. Are people actually taking that seriously? It’s just over-dramatic comedy. Instead of Chris asking “how are your projects doing?”, he always asks “are there any projects on fire?” How is that any different?

I do wonder who doesn’t like my humour, since when I am on calls and say things like that, people in the team do laugh. Given that I write it on a lot of Slack posts, surely people understand it’s just a recurring joke; like a comedy sketch show. There’s plenty of witty humour too, not just recurring phrases. I bet it is Becky or someone with a similar personality because she just seems a bit out of touch with technology, and is a bit too serious. She also asks stupid things so I can be quite snappy in my responses on Slack, so out of everyone in the team, I bet her opinion of me is the lowest. At least I answer her questions, most people don’t even attempt to help.

Chris did say to maybe not joke around so much, apart from when I’m with him because he loves my humour.

Chris also started saying he needs even more evidence of my Senior qualities to take to Senior Management to persuade them of my promotion. Therefore I need to accept more responsibility and take the lead on projects.

I think I argued my case really well. Firstly, I said “how can I lead when we have loads of Seniors in the team?” They should be leading because it is their job to do so. The fact that not many show much leadership anyway means they are underperforming, and also I am held to different criteria. It’s also Chris’ job to decide who works on a particular project. So if I’m never the most senior in the team, then I can’t lead. That’s not my fault.

I also stated that I have been given these challenges like mentoring and I do show senior ability by doing all the Code Reviews, then nothing comes from it, not even a wage rise.  He kept on saying he needs evidence to convince the senior management, but I said that he has enough; he had said he regards me as one of the best developers in the team, and realises I was essential in dealing with all the recent urgent fixes that everyone shied away from. He can see that I’m one of the few developers that engages with the conversations on Slack/Teams. What is everyone else doing? Either doing their own work and they don’t care about the rest of the team, or they are simply chilling out.

He did ask why I thought I hadn’t been promoted in the past but others have been. I said others are probably a bit more firm in their demands and threaten to quit if they don’t get what they want, whereas I just get on with things. Also, the way we attempt to measure developer’s performance is just nonsense.

He did say to improve my communication, I need to show more authority and be more firm in my views. So I asked him for a payrise, otherwise I may have to quit!

Result?

It was funny how he said my humour was perceived to be a negative aspect, but I was running the Performance Review like a comedy show. I can’t help myself chipping in the humour. Although there is truth in my demand. If someone joined the company in my role, you can guarantee they would be on equal pay or higher, because I’m somehow still bottom of the salary band. He did promise to look into that.

He did conclude he would sort out my promotion, but when I pressed him on timescales, he refused to comment. No doubt I’ll have to wait another year or something daft.

Who is a Software Developer?

The following blog Are You A Developer was recently shared amongst my colleagues.

The blog addresses Imposter Syndrome. It then reassures people they are a developer if they meet this definition:

A developer is a person who writes code.

David Walsh

I think it is a serious trivialisation of what a developer is. Several of my colleagues apparently agreed with this blog “100%”. I don’t understand how you can agree with it.

One of my colleagues not only agreed with this blog’s definition, but proceeded to say that developers and testers shouldn’t have different job titles, they should just be “Engineers”. Absolute nonsense. Not all Testers are interested in writing code. Some are interested in writing Automated Tests which requires programming knowledge, but other Testers just enjoy Manual testing which has no required programming knowledge.

So let’s address the quoted statement with some analogies.

If I cooked a meal, can I call myself a chef?

If I pull up a weed, am I a gardener?

If I paint a wall, am I a painter?

If I kick a football, am I a footballer?

It’s obvious you need a certain level of competency to be able to call yourself one of these things. If you play football in your free time, you can say you “play football”, but not many would say “I’m a footballer”, because it comes with the implication that they have an exceptional level of skill.

I was thinking you can’t simply state you can call yourself a Developer if you receive money for writing code. If it was a simple website you did for a friend, maybe you wouldn’t be skilled enough to be employed in a full time job.

Conversely maybe you make brilliant websites in your free time but you have other passions for your full-time job. Maybe you are good enough to declare yourself as a developer, but you just aren’t a “professional” developer.

What about developers that don’t receive money but only work in Open Source projects? At least the community would give them recognition, so at that point, I think they can call themselves a developer.

So it definitely seems money isn’t a factor.

So who determines whether someone is a developer? Do you self-assess? or is it when you get a certain level of kudos from your peers?

When you look at the people I often write about like Colin and Derek, are they developers? Well, they have had a job for years, and managed to get lucky to be promoted to Senior. On paper they are more successful than I, but I think you’d be crazy to imply they are at the level I am; and I’m not anywhere near the best in the company. Maybe we are all developers but there’s good ones and bad ones.

Ideally, Job Titles should reflect people’s skill but they aren’t a perfect system. But I think it is clear you have exceptional/great/ok/poor developers, and everyone else below this skill level, just isn’t a developer.

So if you have followed a tutorial, copied some code and ran it; are you a developer?

No. But keep working, and maybe you will be. Then work your way through the ranks.