Nerd Elitists #2: Dark Theme

In a similar fashion to the Anti-Microsoft mentality, there is a group of Dark Theme extremists too (although I think many people are the same as those with the Anti-Microsoft agenda). Every so often, someone will post some kind of meme criticising those that use Light Themes, and they have also created some alternative Dark Theme emojis, some of which they have intentionally made so they appear invisible to Light theme users (white text on a transparent background).

https://preview.redd.it/ie0vsl7ar3311.jpg?width=960&crop=smart&auto=webp&s=0fbe8a072ea85c185bc01422faf2acd228f0b9c6
How it feels to be a Light Theme user

Any news of companies now supporting Dark Theme is celebrated like some kind of big event. It’s almost like they are a minority group that have successfully fought for their rights.

How did these people even survive before Dark Themes even existed? I think the advice when this became available was to use Dark Themes at night, and Light during the day. I find that my eyes feel strained if I have been looking at something light then dark, or vice-versa. I think it only works if everything is Light, or everything is Dark.

Light Theme Dark Theme Swaping Betweern Dark and Light ...
Dark Theme users are apparently smarter than Light Theme users. True enlightenment is actually swapping between them.

When doing some quick research, I have often read statements like this:

“In terms of readability, the verdict is clear: black text on a white background is the best”.

https://www.maketecheasier.com/are-dark-themes-better-for-eyes-battery/

Yet, these Dark Theme fanboys will keep moaning against the research. I do wonder if it comes down to the individual though. There are some sites like Megan Laura John’s blog (e.g. https://meganlaurajohns.blogspot.com/2016/12/entrepreneurship-success-and-impostor.html) where I think “ooh this white on brown looks nice”, then after 3 paragraphs, my eyes start to struggle to focus, and it gets to the point where I can no longer look at it comfortably. I ended up reading that blog post in an RSS reader just so I could read it with black text on a white background. People must be able to comfortably read it though, or so I assume.

If it does come down to the individual’s eyes, then mocking people for it isn’t acceptable. It’s like mocking someone for being short-sighted. There’s no place for it in the workplace. I don’t understand why people can’t just quietly use a Dark Theme. Instead, they have to go out of their way to attack those that don’t share similar views to them. Like posting a tweet saying that people aren’t real developers.

Nerd Elitists #1: Anti-Microsoft

Recently a group of people have started responding to questions about why things aren’t working with the answer “because you are using Microsoft” (or similar). A conversation may play out like this:

timeinints: I’m getting a crash when installing Software X

Elitist: Are you using Windows?

timeinints: (excited because they know how to solve it) Yes I am

Elitist: Well, there is your problem!

It reminds me of my university days when people said similar things. Also, people were just obsessed with Linux, but even though the Graphical User Interface was perfectly fine, they would always use the command line. Those Linux extremists would then respond with statements along the lines of “it would work if you did it on the command line”.

Recently, we have been having troubles with conference calls on Slack, but when we try using Microsoft Teams, the audio is perfect. After announcing that we will switch future meetings to Teams, we had several Slack fanboys react to our announcement with an “anti-Teams” emoji on our Slack channel. These people don’t usually contribute to our channel, they were just lurking, but they jump at the chance to show their anti-Microsoft agenda.

I don’t think that elitism creates a good working environment, especially when people are struggling with some problem, then they get an arsey, dismissive response instead.

Manager Step Down

Our team was initially managed by Jane. A few weeks into the project, Jane explained to a colleague that she was leaving the team. Only when she noticed I was eavesdropping did she then tell us that I probably need to listen too. She told us which team she was moving to but she didn’t even give a date when this would happen. I thought it was bizarre that she announces it so casually rather than having a formal meeting.

The next day, when we were on a conference call with some remote workers, they were waiting for her to join and didn’t want to start the meeting without her. Jane did join on request, but she still didn’t tell them she wasn’t in charge, or even had left the team.

Afterwards, a team member in our office was outraged about it, because he wasn’t aware. She claimed it wasn’t her responsibility to tell people; the responsibility should fall with the new manager, Adam.

I’m thinking it totally is her responsibility. Adam shouldn’t just state he is in charge now – it should be announced by Jane, who then explains we need to listen to the new guy. It wouldn’t be her responsibility to hand over if she had been fired; only then you would expect the new guy to announce he is in charge, or someone further up the hierarchy to announce and introduce the new manager.

The funny thing is, months later, Adam suddenly leaves the business. His replacement started joining the stand-ups but didn’t speak for a few days, didn’t even introduce himself. When he finally introduced himself on the fourth day, he then had the awkward task of telling us Adam’s last day is today and will leave after he completes his handover.

Ignoring Instructions

I was about to leave work when Colin asked me if I knew how to set up a messaging system. I said I couldn’t remember the exact details but I’ll have a quick check because I was sure I had written a guide on how to do it.

Anyway, I emailed him some details. I attached a security certificate to the email but explained it was probably expired, but he could grab a current one from the test servers. I also added a SQL script to modify his database settings to match the certificate.

The next day he never told me he had problems, but I heard him talking to the Lead Developer about his issues around 11:30. The Lead Developer told him that he hadn’t updated his settings. When Colin showed him what he had changed on his database, the Lead Developer told him he had updated the wrong table.

How could he have updated the wrong table? I had sent him the script.

Anyway, 10 minutes later he got it working with the Lead Developer’s help. Another developer comes over and asks Colin what he did to fix it. Colin says “my certificate had expired, and I had updated the wrong table”.

So the two things I told Colin to do, he didn’t bother doing. If he had followed my instructions he could have saved around 2.5 hours.

Code Amnesia

On Monday, Colin was struggling to recreate a bug even though he had recreated it on Friday. I knew he had been struggling for a few hours, so I decided to go over and talk to him. I always love a challenge of recreating obscure bugs.

He gave me a quick demo of what he was doing, and gave me a quick glimpse of the code.

I went back to my desk, and within minutes, I had successfully recreated it. Then I asked him what the difference was between my version, the version he recreated on, and the version he was struggling to recreate on. I knew my version was a version or so behind. The test environment he had previously recreated it on could have been updated Monday morning. So it seemed the simplest explanation is that someone had already checked in a fix sometime on Friday.

Then I remembered part of the code he had showed me, and thought that one of the methods sounds like it takes this scenario into account. So I ask Colin to show me the code again. I read the code.

Timeinints: “That code should stop this issue from happening. “Who wrote it?”.

So Colin annotates it. The annotation states “Local”

Timeinints: “Colin, you wrote that code”

Colin: “Did I? I don’t remember.” He stares at it for a few seconds. “Oh actually, I did write that as a speculative fix, but then I couldn’t test it out at the time”.

So he had spent most of Monday trying to recreate an issue he had already fixed on the Friday. He just didn’t remember fixing it.

Innovation Day

Every so often, people raise the idea of tech companies having an Innovation Day. So maybe every Friday, people can put down their usual work, and do a personal project instead; maybe using a language they aren’t familiar with. Sometimes we have explored this idea, but usually just for one or two days.

I’m always skeptical, because I often find fixing a bug, or making a simple feature will take a day or two, often even longer. To expect some kind of prototype in such a limited time always seems an impossible ask to me.

Recently, a group of people have been allowed to have a full Innovation Day each week. I was speaking to one of the guys and he was saying that they plan to stop it since one day a week isn’t enough time. A month quickly goes by and that’s only 4 days work.

When the innovation is supposed to be meaningful and integrated into new projects, these new projects will have come a long way and then it’s awkward to utilise it. Recently there have been projects that have been scrapped or required a major overhaul because of ideas that have either come out of the Innovation Day, or by some idea someone suddenly had. The earlier people know about requirements, the easier it is to integrate into the project. Trying to implement it later is hard, or even impossible; so the project gets scrapped and they all start again.

Another problem with just having a single day is that you could book that day off as annual leave, or maybe you are ill. If it is a team thing, what happens if someone has the day off and you end up being on your own?

Anyway, I was low on work, so thought I’d pay a visit to a particular pair of developers that were working on a feature relevant to my project. Turns out one of them was ill, and one of them had some important meetings in the morning so would be a few hours late.

Anyway, I end up meeting him and we had problems getting the previous week’s changes to build. There were quite a few people missing from the overall group too, and some developers seemed to take an overly long lunch break – like 1.5 hours. Then when they did return, they ended up switching conversation between work and banter, so much so; that I reckon they only were productive half the afternoon.

So how much benefit can a day a week really be? It’s seems unreasonable to expect zero complications and 100% efficiency, so it seems a waste of time.

I was speaking to another colleague about the Innovation Day and he was surprised that it was limited to a select group of people. He said entire teams should be innovating so they buy in to the ideas, rather than someone else saying “I did this in the Innovation Day, so your team should do it too”. It also links back to the comments on time; that you don’t want a team to have got so far into the project, then be told to rewrite it with a different style architecture.