Should Software Developer Job Titles Exist?

I was watching a YouTube video about Job Titles in Software Engineering and there was a comment:

“labels like senior, medior or junior are illusions companies make to pay you less… we can’t put labels on people – everyone is different. This approach also supports imposter syndrome”

The comment got the following response:

“This is certainly a valid opinion, but it doesn’t change the fact that putting these labels on developers is a standard practice in the industry. And if getting a different label means having more opportunities, more money, and arguably more fun, shouldn’t we discuss how to get there?”

This response is definitely correct. If it is standard practice, then it’s beneficial to follow. If you are advertising a job and just write “Developer”, Seniors and above may overlook this advert because they may interpret it as below them.

As for the original comment, I would have thought the opposite is true. If you have the same title, it is harder to justify higher pay. If you have a different title, it is much easier to justify higher pay and you will also obtain higher rises as you jump from one role band to the next.

As for imposter syndrome, having the same title as someone you perceive to be much better can easily dent your confidence. If they have a higher title, then it’s easier to aspire to be the same rank as them; and you will feel confident with your own title.

I definitely think a hierarchy makes sense.

“Human Resources”

Managers often talk about “allocating resources” when discussing project teams. I don’t understand why we are dehumanizing people. Why can’t we just say people/staff/developers? If we are talking about money or hardware, then it’s fine to use the term “resources”. However, the term seems to be embedded in the business culture since the department that deals with people is often known as “Human Resources (HR)”.

I was watching all the Bourne films recently, and in the scenes where you see staff in the agency office who are monitoring security monitors – they say lines like “Asset is on the move”. It probably makes sense here to dehumanise people; because your end goal is to kill them, so calling them “assets” and using terms like “dispose”/”eliminate” probably removes you from the fact that this is a person who has feelings and a family, and you’re about to end them. Maybe managers talk about people in this way so it’s easier when it comes to redundancies. “Cut 10% of the resources, and move on”.

I think it isn’t even that effective to talk about people using their job roles. When managers only look at the Job Titles and not the individual skills, then they end up creating imbalanced teams. This could be that you need to spread a certain skill across teams such as SQL Databases, so a manager who only looks at Job Titles could end up putting the people with SQL skills together.

Additionally, some Seniors aren’t that great, and therefore lower-ranking Developers are better than them. I’ve definitely seen it happen where managers create a team consisting of 3 underperforming seniors, then wonder why it isn’t working. This was a source of my frustration a few years back and was some major motivation to start this blog. 

Creating a team based on 3 underperforming developers is a rarity, but a recent trend for us is to have only 1 Senior leading a few Developers and a Junior. If the Senior isn’t very good, then the team has no guidance at all.

In conclusion, I think managers should show respect to staff and refer to them as people (not “resources”). They should also try to understand where individual people’s skills are, rather than simply making assumptions based on a Job Title. This should lead to better balanced teams. Balanced teams should lead to high performance and morale.

Nerd Christmas

Joke

Several years ago, I invented a nerd joke and always recall it each Christmas.

Q: Who brings presents to Database Administrators?
A:Santa Where-Claus

Nerd Code

No idea where this picture came from, but I found it whilst looking through my pictures folder.

Nerd Christmas Tree

I found this in my chat history. It was a conversation between two software developers in the office which I overheard, then shared with other colleagues:

James: “Did you get your Christmas tree?”

Dave: “yes”

James: “Can you program it?”

I didn’t expect Dave to actually respond “Yes” then start talking about looping over the lights. It seems that programmable Christmas trees are a thing. I suppose it’s obviously a possibility to hook up some lights to an Arduino/Raspberry Pi etc.
It looks underwhelming to what I thought it would be.

Gender Pay Gap

We recently published our Gender Pay Gap figures, and HR and Directors love to hype it up. However, I read this definition we put out with our results, and wondered how useful it actually is:

The Gender Pay Gap GPG is the difference in the average pay and bonuses of all male and female employees across an organisation. This is different to equal pay which is the comparison of the amount a male and female gets paid for doing the same job.

Mean %Median %
Gender Pay Gap 20207.31.5
Gender Pay Gap 201911.25.1
Gender Bonus Gap 2020-28.514.1
Looks like we have reduced the Gender Pay Gap, although it looks like some women are getting massive bonuses to skew the mean
Pay QuartileMen %Women %
Upper7426
Upper Middle6634
Lower Middle7228
Lower6733
Seems around 2/3 of our staff are men, although women are getting those Upper Middle management jobs

So I’m not sure what these figures mean. I think these vague figures mean that we are grouping together Directors, Managers, Developers, Support Staff, Admin staff, maybe even cleaners. Then we split them by gender and publish the average.

Even if it was grouped by department, I’m not sure what you could take from the results, although I would quite like to see it. There’s not many women Developers in the UK offices, but there’s a fair amount of Software Testers, and plenty of Managers. I’ve no idea if the average manager gets paid more than the Developers but it could be possible women get paid more in our Department.

I think the second set of figures show how I imagine the Development Department is. There’s generally more men everywhere but the managerial roles that women seem to favour – are higher paid. So the highest proportion of women are in the “upper middle” (34%).

But you can’t conclude anything from these figures other than we probably need more women in general. What we need are the Equal Pay figures, but even then, I think there will be plenty of people that aren’t fairly paid regardless of gender. I wrote about how I was unfairly paid recently and I ended up with a promotion and ~£14k rise.

These somewhat cryptic statistics don’t really mean anything and just seems like a token gesture to appease those that would actually benefit from them if they were accurate. What I always find strange is that the HR department is mainly composed of women, and if these women are actually seeing a problem with Equal Pay, then surely they should sort it because they should have the power to do so.

Stevie Martin

Stevie is hilarious. Absolute perfect sketches mocking problems with modern technology.

Not A Robot

Mocking different types of Captcha

Printing 

Ink cartridges, paper jams…why are printers so bad?

Passwords

Stupid password restrictions that you won’t remember

Purchasing Online

Marketing emails and recommending items you already bought.

What Is A Programmer’s Life Like?

I was listening to Fredrik Christenson’s podcast “My Life As A Programmer” and he was answering the question “What is a programmer’s life like?”.

I did wonder what the person who asked the question expected to hear. Did he expect a millionaire lifestyle or something?

Fredrik began by answering the question by describing a simple day: Stand Up update (progress update with your team); picking up new work; helping coworkers; maybe some meetings scattered throughout the day; but rest of the time coding. He then mentioned how programmers are just normal people and live normal lives and most people wouldn’t be able to tell a programmer by talking to them.

I do recall a time where I’d finished playing 5-a-side football and my friend then said how I must be really different compared to the rest of my colleagues. I looked at him a bit confused and said “what do you mean?” and he said “well, you play sports, I bet everyone else doesn’t”.

It seems he was just thinking in stereotypes. There’s loads of developers that I work with that are into fitness. There’s some weightlifting enthusiasts, some play Badminton, some play Football, one plays American Football, a couple of people play Field Hockey. There’s plenty of people that are into jogging, and a group of people routinely went jogging every lunch time.

There are definitely a few people that do conform to stereotypes but I reckon there’s more Software Testers that conform to that than Software Developers. So you do get socially awkward types, but there’s plenty of people that are just ordinary people.

Secure Files

At university, the operating system we used was Linux, and although there was a graphical user interface, we were always encouraged to use the command line. For some people, this was very uncomfortable, and often people didn’t really understand the commands they were typing.

Sometimes we were assigned group coursework, so someone took the lead, and then changed the permissions on their folder so that their team could access it.

The thing is, people didn’t understand what they were typing, or cut corners. This meant that some people gave access to EVERYONE to access that folder. Others granted access for EVERYONE to ALL FOLDERS.

I reported this as an issue because someone could then grab people’s code or written reports, change a few lines and submit it. Easy. It could even be a privacy concern if people have personal files saved on the university system. If you were given permissions to modify, you could delete their files.

The IT guys told me that changing permissions was an allowable feature and it is up to each student to grant the correct permissions, so they rejected my concern. 

They could have at least put out a mass email telling people to check in order to alleviate the potential damage.

The good thing was that when I wasn’t sure of what to do on future coursework, I could then check this new source of information for inspiration. 😀

Final Inspiration To Create This Blog

I noticed a folder in Outlook called Conversation History that has a log of all my conversations from when we used Skype. It’s a proper treasure trove of banter and funny stories. I’ll definitely be posting some of these conversations in the future.

I found this conversation pretty interesting. It’s from 6th February 2019. I checked the date when I started this blog. 6th February 2019

The Skype conversation starts off with me pasting in comments from a Code Review. Colin had fixed a minor issue, but hadn’t added a new Unit Test for this scenario. I had flagged him up on it.

I was ranting to a colleague about Colin’s response. Colin had thought I was asking if the existing unit tests have been run, rather than me asking him to write new tests for the new functionality.

Me 13:22:

         Me
         unit tests?
         Colin
         Not failing
 
 
oh that's ok then. Just fix a bug and don't cover the missing scenario
WHY DO I WORK HERE?

Colleague 13:22:
Why would you not write one??

Me 13:22:
it may fail if you write one

Colleague 13:23:
Lol
 
Me 13:27:
I might write a book on my programming experiences

Colleague 13:28:
Lol, I'm sure it'd be a bestseller 😛

I think I did consider the idea of starting a blog because I thought I had good stories to tell, and was ranting about stupid things my colleagues did. However, I wasn’t 100% convinced it was a good idea. It seems like my colleagues’ reply was the final motivation for writing about my experiences as a software developer. 2 years on, and I am still enjoying ranting, and feel I have plenty more stories to share.

The secret features that Google didn’t want you to know

I do love a stupid clickbait title. These features are quite hidden though.

This particular link takes you to dice rolling app which would be good for board games. If you happen to lose your dice – then Google saves the day.

Google’s “Roll dice”

To switch to the other exciting apps, you can click the chevron, then there’s two tabs, GAMES AND TOYS, and TOOLS

Games and Toys

Earth Day Quiz

Tic tac toe

Snake

Spin a dreidel

Animal Sounds

Solitaire

Pac-Main

Minesweeper

Fun facts

Tools

Flip a coin

Meditate

Colour Picker

Calculator

Metronome

Spinner

As a bonus hidden feature, I always think Ngram Viewer is interesting when you want to get a rough idea how popular certain words are. Today, a colleague used the word “banjaxed” and I thought “that’s a very archaic word”. I think I had only heard it once and that was in a song (ALESTORM – Shipwrecked). It seems Alestorm used it at the peak of popularity.

For more secrets, check out The secret Touchpad features that Microsoft didn’t want you to know

The eight factors of happiness for developers

Maybe it is a bit philosophical and pretentious but I thought it was interesting. In many ways, it is like the antithesis of Stranger Coding Tings. For example, my blog is about thinking about past grudges, and venting frustration at things I can’t change. 

Check out the full blog here:

Simply posting a link probably wouldn’t be that exciting and entice you to read it, but pasting the full article is just plagiarism – so I’ve put together a summary from the opening lines in each section as a compromise:

1. Resentment

Harboring resentment or anger toward another team member can be a significant source of unhappiness. 

2. Not living in the past

Don’t dwell on that job that you didn’t get or that project that went bad. If we live in the past, we are doomed to repeat it. As developers, we need short memories and one of the best ways we learn is through failure. 

3. Cooperate with life

The Serenity Prayer asks us to accept the things we cannot change, change the things we can, but also have the wisdom to know the difference.

4. Stay engaged with the real world

As developers, it’s easy to withdraw into our own world. It’s often a reclusive profession, and without even trying, we can have very little interaction with others. But humans are social creatures.

5. Love yourself (and others)

Programming is hard and don’t let anyone tell you it’s not. The problem is coding is a technical skill and there are rock stars and ninjas, and there is the rest of us (I’m in this camp). We must have empathy for ourselves and others as we move around in this profession.

6. Be virtuous

As engineers, we live in a highly technical environment so we think that gives us a pass on virtues like love, compassion, and empathy. 

7. Lower your expectations of yourself

Shoot for the moon, if you miss, at least you will be among the stars. We’ve all heard this a million times, but, as I said earlier, coding is hard, so I am going to propose that we cut ourselves some slack and don’t expect so much. Just by virtue of our chosen profession, we are overachievers and we make things doubly hard when we expect to progress too fast.

8. Serve something bigger than yourself

Self-centered and narcissistic people are the least happy people on the planet. The happiest people have found some balance between serving and caring for themselves and serving their family, their co-workers, and those in their community. I once heard someone describe the three pillars of human happiness as fulfilling the need for meaningful work, the need for lifelong connections, and the need to serve something bigger than yourself.