An advantage of remote interviews

There have been plenty of articles and comments about the (dis)advantages of home office vs in-office scenarios over the past two years. One critical aspect of home-office is definitely about creating a personal relationship with people that you never meet in person.

One situation where a personal relationship is quite important is an interview with candidates (be it internal or external). Besides the technical expertise you also want to know whether or not the candidate is a fit for the team. In the past 2+ years, we interviewed dozens of people for positions in the team. I say “we” because we usually are 2-3 internals holding different positions in the team (dev, ops, product owner, …) interviewing the new candidate. And in the past 2+ years we did all those interviews remotely via video-conferencing.

It took me 2 years until I realized remote interviews have another advantage.

just me

For me, it was never a question whether we do the interviews remotely or not as the situation didn’t offer any alternative. I also never complained about not meeting the person well … in-person. Of course, it would have been very nice to meet new people directly – just to feel the personal vibes. But the obvious advantage to easily interview people independent from their physical location is not the only one. It took me two years until I realized remote interviews have another advantage: There is no seating order / seating arrangement!

Imagine the last interview-situation with one candidate and 2+ interviewers. As soon as it is not a 1 to 1 interview anymore it quickly feels like a tribunal. Worst situation: a rectangular table with the interviewers on one side and the candidate on the other. Multiple 1-to-1-interiews might be more comfortable. But it is also interesting for the candidate to see the way how the interviewers interact with each other. And sometimes someone from HR just wants to attend.

So, what is the advantage of doing an Interview remotely via video conferencing? Well – it totally removes the seating / placement! What does that mean? Now all members in the situation are equally distributed. An “observer” (HR) can / should(!) turn off the camera and hide from the conversation. Depending on the software (s)he can also focus on certain people during the conversation. Last but not least – and maybe most important: The interviewer is in his/her own chosen safe place and has control over the situation. Ways more control than in a classical interview situation.

And – from my experience – it helps the candidate relax. And you want to experience a relaxed candidate in order to be able to meaningfully assess whether he or she fits into the team or not. Also, a relaxed candidate will surely perform more authentic and honest.

In the end I’m glad I realized this advantage of remote interviews!

My critical view about “the Metaverse”

Recently the term “Metaverse” is across like in every IT related news. Noone really knows what it is but it seems to be the hot shit you have to be into! And it seems to be THE ultimate solution for so many odd problems AND a totally new business market!

The “metaverse” topic has followed me now a couple of months and I had a couple of discussions already about my critical view about the topic. And if it was worth discussing so often – it might be worth writing it down as well. 😀

What is “the Metaverse”?

To make it simple: It’s a marketing term. An extremely fuzzy marketing term. I won’t do an intense review or aggregation about all the articles. Just do a search about “What is the metaverse“. A lot of explanations are horrifically vague.

Gartner writes it a bit incomprehensibly: “The Metaverse is a collective virtual open space, created by the convergence of virtually enhanced physical and digital reality. It is physically persistent and provides enhanced immersive experiences.” (Eh – WHAT?)

Wikipedia is very focused on AR and VR: “A metaverse is a network of 3D virtual worlds focused on social connection. In futurism and science fiction, it is often described as a hypothetical iteration of the Internet as a single, universal virtual world that is facilitated by the use of virtual reality (VR) and augmented reality (AR) headsets.

Wired.com states it pretty nicely: “Ninety percent of the time, the meaning won’t substantially change. That’s because the term doesn’t really refer to any one specific type of technology, but rather a broad (and often speculative) shift in how we interact with technology.

Meanwhile I hear talks and presentations about Metaverse that simply span over all kinds of “new business models”, including VR, AR, digital assets (NFTs), and blockchain technology in general.

And sometimes “the Metaverse” is also used for a community of people with an interest in new technology / business / …

So … it’s about all and nothing.

My Problem with “the Metaverse”

In my opinion there are a couple of problems which I’ll outline a bit. The following listing doesn’t claim to be complete. It’s just a couple of problems that I came across recently:

It’s so Vague

As written above: The term is simply too vague! It describes all and nothing at the same time. For me it has evolved to a synonym for “modern computer stuff”.

It’s not New

Regarding all that I’ve seen so far – it’s just not new. The term itself isn’t new. AR and VR aren’t new. Niantic published the AR games Ingress in 2013 and Pokémon Go back in 2016.

Microsoft published the AR Headset Hololens in 2016 and found a niche in the business sector.

If you define “a metaverse” as a place where people come together in a virtual space in order to interact – congratulations, it’s there already as well: In fact, since the first Multiplayer Mode in any Game was introduced. In nowadays MMORPGs thousands of gamers come together in virtual worlds to interact, buy & sell virtual assets, chat, hangout, have fun together. World of Warcraft might be one of the best examples: Launched in 2004 it is still an active cash cow in 2022. And – according to GameRevolution.com – it has an impressive revenue: “At its best, it held North of 12 million paying customers, equating to roughly $180 million per month in subscription revenue, or $2.15 billion per year.”

Even Blockchain technology is not new. Bitcoin was first published in 2008 and had its breakthrough more or less already. The hype around NFTs has really taken off in 2021. It’s not yet clear if the NFT hype peak is already been passed or is yet soon to come.

No Killer Application in VR

The problem with AR and VR is that the devices are still ways too expensive and / or too inconvenient for long time usage. But the real issue in the consumer market is that there is still no the real killer application. True: there are VR games that seem to have an immense immersion effect (have just played a single one myself).

But still, it’s by for not the case that a game is per se a VR game. And this in a market with solvent customers (Gaming PCs, graphics cards, …) and a business case (the VR game). Of course, this may change when the hardware is getting cheaper and more convenient. – At some time in the future.

Illusion of Interoperability

I’ve heard so often said that in “the metaverse” all kinds of digital assets can be imported from one world into another etc. Yet it’s never explained which worlds we are speaking about and where this would be applicable. – Except in Video Games – where it doesn’t make any sense if you invest just a minute to think about it. Game Two published an excellent ~1h discussion about this topic. That’s why I won’t go any deeper into it.

TL;DR: just no.

Technology vs. Solving a Problem

Most of the use cases that are presented have the simple problem that they do not solve a consumer or business problem. Instead, they highlight the use of fancy technology (usually blockchain / NFT). Hardly any consumer ever wanted to use a blockchain. People want problems solved or needs fulfilled not technology applied. Technology is just a tool to solve a problem. And in 99% of the cases you would not choose a blockchain due to its obvious disadvantages (which are also advantages at the same time).

Also, the example of a virtual world where people can buy houses and hang out. Sorry – we had this in Second Life. And it failed. Because there was no need fulfilled for any person (except journalists who didn’t realize World of Warcraft did a better job already).

Too much Simplification / Abstraction

As written above: the term “Metaverse” is extremely vague, it covers Software / Hardware / Technology / Cyberspace in general. – And with the naming “The Metaverse”, like there is just one, it creates the subtle illusion of an abstraction layer over all these technology and business cases. As if suddenly all those cases could play magically together, are interoperable, play fine into one big thing – the metaverse.

Doesn’t sound too bad, he? But by such a definition the whole internet as we know it through the browser would be the one of Googleverse (or Bingverse). Maybe more precise: all online shops would have to be the one of Amazonverse, Aliverse, Ottoverse. And all the Onlineshops would interact magically (payment, user accounts, returns, shipping) – which – they just don’t.

It’s just the same concept. It simply simplifies too much.

The Disruptive UseCases

I’ve seen / heard SO many disruptive Metaverse use cases. Almost all cases so far were simply naive or the people presenting their idea had absolutely no idea of the business area that they want to disrupt. If you want to disrupt a business area it’s not enough to throw in new technology. You need to know all the players (stakeholders) in the field and identify whom you want to disrupt and why one or some other players have an advantage of it. If no one profits from the disruption, there is no business case.

Also, for every business case: always ask yourself: this sounds so obvious – there was really never ever someone before having this idea? And surprise: It’s not uncommon that companies tried this “disruption” before and failed. And in such cases: look carefully WHY they failed. Was it too early? Was it just bad luck?
Or: Did customers simply not want the product? (In that case: get your hands off!!)

The Name

Okay, this might be a personal thing. But Facebook rebranded itself to Meta and fired the Metaverse hype. Assuming the new business cases really do work etc. Do I want to have it brand-wise all connected to Facebook?

In parallel to the above: I don’t want to call every online shop “another Amazon”. It’s a drama already that “googling” became a synonym for “searching”. But I personally do not like to have Facebook standing as a brand over everything that relates to VR, AR, Blockchain, Virtual Worlds, …

Is Metaverse all Crap?

Let’s make it short: No!
There are applications for AR.
There are applications vor VR.
Blockchain does have use cases.
NFTs do have use cases.

But I also do not see a Metaverse-Layer connecting all kinds of technology and businesses.

So – Who is the Target Audience?

Well, I’m not particularly sure. But playing the sarcastic guy I would say:

Investors: Maybe you find a stupid investor that are totally blinded by the hype train. Maybe you have to have “Metaverse” somewhere in your pitch to be hot.

CEO / Management: If you want to sell a shitty product. Place Metaverse somewhere in your product presentation! It sounds awesomely modern! It makes the impression that you are totally interoperable (so cheap to integrate) and open a totally new business with lots of revenue. (Funnily the same story as “Data is the new Oil”)

Shareholders: If you have a big company, claim to do some Metaverse projects! You show that you are on the bleeding edge of technology! You are ahead of competitors.

Journalists: Ah well – Journalists should have learned from Second Life.

Compensating time shift / Changing File Creation time using Windows Powershell

I don’t want to blame the time shift 2x a year. At least as long as I do not forget to change the time on my camera as well! As I am doing most of my photography on hikes and geo tag them afterwards, It makes quite a difference if the file creation time is right or wrong. – This year I forgot to change it on the camera and needed to bulk-change the file time later.

Luckily this is pretty easy using Windows Powershell and the Windows PowerShell ISE (Integrated Scripting Environment):

$files = Get-ChildItem "C:\Users\[....]\*.arw"
foreach ($f in $files){
    $d1 = [System.IO.File]::GetCreationTime($f.FullName)
    $d2 = $d1.addHours(1)
	[System.IO.File]::SetCreationTime($f.FullName, $d2)
    echo $d1 
    echo $d2
    echo ---
}

Just copy it into the ISE, execute, done.

How to make efficient status meetings

Do you know these horrible status meetings? Every week, every two weeks or – when it is critical – 2x a week? Especially with multiple members? And you never know whether it’s important to go there or not? But you need to go there because there might be a relevant information?

The myth: “If there’s nothing to say, we can quickly close the meeting after 5min”. Seriously – I’ve not seen this happen very often. It quickly drifts into a common chitchat or Q&A. Don’t get me wrong: socializing is important – but a status meeting isn’t a socializing event.

I had a couple of such meetings in the past. When it was just one it was okay – but as I got involved into multiple projects, my schedule started filling up with such kind of meetings. And this became very unsatisfying as it sucked a lot of my time – and even worse: It sucked a lot of overall team-time!

My advice: GET RID OF THOSE MEETINGS / OF THIS MEETING STYLE!

By applying some simple rules such meetings can become ways more effective. but beware … discipline is required.

Preparation:

  • NO STATUS!
    A Status should be transparent in another system (like any Issue tracker / Todo / something – no need to go through that separately)
  • The agenda is in a shared document (Confluence, Wiki, OneNote, Word, Textfile, …) where every member can edit – not just the host – everyone! We don’t want no bottleneck!
  • If a member has a topic do discuss or an information to distribute: This person writes it into the agenda by him/herself in self-responsibility (example: “@name: my topic”).
  • You can also make this document available in a larger audience for transparency.
    Reason: This is raising trust; it allows others to follow and react upon a decision or information without additional post-meeting emails. Also, no fear of missing out (FOMO) in case of not attending.

Before the meeting:

  • No topic, no meeting! If there is no topic – CANCEL the meeting! REALLY!
    Everyone is thankful for the time that was freed.
  • Everyone quickly checks the agenda. May be a bullet point can already be clarified or discussed beforehand / bilaterally and doesn’t even need to go into the meeting. The result can be added directly into the agenda and is thus being distributed already.

During the meeting:

  • If there are multiple points: start with the clarification if there are topics that only a part of the members is interested in and move those topics to the end.
    Reason: some people can leave earlier!
  • The meeting is ONLY about topics in the agenda. ONLY. Everything else goes to the next meeting. This must be rigorously enforced! This is crucial!
    Reason: No fear of missing out (FOMO)! The agenda must be trustworthy and enables the next two (important) points:
  • Members only join the meeting if at least one topic of the agenda is relevant for the individual.
  • Everyone is allowed and encouraged to leave the meeting if the remaining bullet points are irrelevant (drop a quick “thanks, rest is irrelevant for me – I’m leaving” in the chat, so everyone knows that you were leaving intentionally and not just disconnected)

We do this since a couple of months. We follow these rules and have saved numerous hours of working time in the past! But it needs discipline – for sure.

Do not make rules that you cannot control or enforce

I have been repeating this sentence more often than I’d like recently. But if the COID-19 time has taught me one thing very impressively, it is:

Rule 1: Forget rules which you cannot control or enforce
(Alternatively: “Do not hope for the sanity of your colleagues / fellows / …”)

Many of the COVID measures would certainly not have been necessary if “we all” had behaved reasonably. One could discuss the term “reasonable” right away. But “reasonable” unfortunately depends on personal goals. If the personal goals diverge, the opinion about “reasonable behavior” diverges as well. And suddenly “we all” do not have a common sense of what “reasonable behaviour” is. This discrepancy is then what is called a “conflict.”

So, if you are responsible for a system (the system does not even have to be technical – the “health care system” e.g.), you can hope for the sanity of the involved participants (users) and not impose any constraints / rules … This will most likely lead to a conflict. If the conflict has to be solved, you will generally be confronted with utmost gratitude and boundless cooperation (this was ironic, by the way).

No problem: just set up some rules … But rules only do make sense if you can control and enforce compliance with the rules. Because … honestly whenever we discover an inconvenient rule, we want to circumvent it. And we are creative 🙂

Rule 2: Only make rules whose compliance you can enforce and control.

If you find yourself in a position where you can detect a violation of a rule but cannot (anymore) react (or only with enormous effort). You are on lost ground and can do nothing but watch.

Rule 3: It should be clear to everyone how the enforcement will be done.
Rule 2.5: This is transparency.

The 3 rules sound trivial … but can also be very unpleasant if you have to write them down and communicate them. On the other side, you will have certain displeasure right away, but not later (or at least less because the rules were clear from the beginning). A user, on the other hand knows what (s)he is (not) allowed to do. And if there is the transparency about the consequences, the user can also decide for him-/herself whether to break a rule or not – but one cannot complain.

The real challenge of HomeOffice for companies

Many companies and executives thought COVID-19 and 100% HomeOffice would be a real challenge. Phew seems a lot of companies survived the Home-Office challenge! Companies have learnt that the business can continue. Employees have learnt that HomeOffice can work.

This was challenge 1: the technical challenge.

But now as companies slowly do not have to do HomeOffice anymore … now we will see what our bosses, executives and companies really think. How much they have really learned. How much trust there really is.

Now comes challenge 2: the people challenge.

The challenge might now be to keep people when a leader (or worse: a company culture) values presence (a.k.a counting sheep) over results – but employees don’t …

I’ll just stay at home and stay productive.

Don’t just ask for Feedback and Improvements

“Every employee should feel encouraged to give feedback and contribute ideas for improvement!” Who has heard this before? Probably everyone!

My (slightly provocative) opinion: “The effect was probably close to zero. So Forget it and don’t do such a shout out!”. Unless you want nothing or barely anything to change. Then do a big shout-out and send people back to work! Great show – with no effect! Of course, I made the mistake myself and didn’t notice for quite a while (years, actually). Every now and then an idea or suggestion came along (or I had one myself) and we were proud of the improvement. At some point between Retros and PostMortems I got the point: “It needs the right framework!”

Why are there retros for projects / sprints / teams / …? Why are there PostMortems? What’s the justification to do them? Not because of the “new fancy agile stuff” where you “just do it that way”, but because it pays off – it works. Because it provides a framework for discussion. Because time is explicitly reserved for the questions: “What can we do better?”, “Why did […] happen?”, “How can we prevent […] from happening again?”

And within this “frame” – that reserved time – people really find the time and opportunity to express ideas. Or just explain some tedious tasks that should be improved because they are … tedious. In this reserved time, there might come more ideas than in the days and weeks before. Than in the time where people are permanently confronted with the problems – where one actually could already come to the conclusion that there is potential for improvement. And maybe also more complex ideas, which people just can’t “simply do” besides regular work. Complex ideas which need a little time to be explained, discussed and understood.

If you want something to run better, the call for improvement is a step. But only one step. So the next step is: Okay, get all people together that are concerned and willing to contribute. Let’s have a look at the bugs/whatever… of the last weeks. Where are do issues pile up? Where do we ALWAYS do the same thing over and over again (“Toil” in SRE Speak)? What’s annoying? Do we have data with which to raise an assumption to a fact (that makes prioritization ways easier)?

And then the essential points: Derive actions, evaluate and implement! And do it on time! Otherwise, any motivation is not only gone, but it is immediately learned that nothing happens anyway.

All this is time-consuming, tedious, inconvenient and also annoying when you have to prioritize the actions against other tasks … But … it brings value. – So if you want to improv: Don’t just ask for feedback.

How To Quickly delete large folders in Windows

Deleting folders with a huge amount of files can be tedious in Windows Explorer: You might end up in watching a progress bar preparing and deleting a lot of files. Even if you don’t want the files to be moved to trash.

If the files should just be deleted, this can be done easier with the command line:

cd foldername
DEL /F/Q/S *.* > NUL
cd ..
RMDIR /Q/S foldername

That’s it!

A lot of explanation / evaluation and even a Context-Menu-Shortcut can be found at this Ghacks article.

Samsung Soundbar does not connect to SmartTV

When you own both a Samsung Soundbar (HW-[something]) and a Samsung Smart-TV, you would assume that they work in nice harmony. Which they usually do! Just once in a (seldom) while, the both just don’t connect any more and it seems there is no way to connect them again.

Recently we ran into the same trouble. It required a lot of forum reading, searching, reading support pages. Especially as it requires sound-resetting both devices and does not require hard-resetting the TV (loosing channel list, favourites et. al). As it was a real pain to figure it out, I wrote down my process.

The following steps worked for me the last time I had to try it.

  1. Soundbar (maybe this is not required?)
    • turn off
    • press (and hold) the stop button until the soundbar displays “init, ok”
  2. TV:
    • Remove soundbar from the config:
      Menu > System > Device manager > Soundshare > remove Soundbar
    • turn off the TV
    • disconnect from power
    • wait ~3 min
    • reconnect & power on
  3. Soundbar:
    • Power on
    • switch to TV mode and wait for connection
    • MAYBE reset soundbar: press & hold “play” until it displays “reset”

Hope this helps! Leave a comment if it helped you or if there’s a faster way to reconnect both devices.

Google Maps SDK does not show map in Release Build (works in Emulator)

I’ve been waisting some hours by hunting a stupid “bug”:
I am using Android Studio and was following the “Maps SDK for Android > Getting Started” guide. Of course I also ran into the issue of a wrong API key. But this was all solved by Googling and StackOverflow.

The map still showed up in the Emulator but NOT if deployed as stable release into the (beta) release channel to the PlayStore! LogCat was also silent … After a while I realized thetiny hint in AndroidStudio:

The light grey “(debug)” tells us that AndroidStudio placed the XML in “src/debug/res/values/” instead of “src/main/…”. Simply moving the file did the trick …