Christian Heilmann

You are currently browsing the Christian Heilmann blog archives for October, 2023.

Archive for October, 2023

Today was a great day for accessibility!

Wednesday, October 25th, 2023

Today was a great day, even when it started at four in the morning to get to the airport in time. WeAreDevelopers LIVE is a series of online events covering a specialist topic. And today we ran the event with one of my favourite topics of all time: accessibility.

Originally we had planned a different topic, but the yield of the call for papers was slim pickings, so the people normally running the event thought of canceling the instance. When I was asked if there is something I could do I was at the excellent Beyond Tellerrand conference, proposed accessibility as a topic and immediately pestered friends and experts if they could help me run an accessibility event. And I got lucky indeed.

Today I talked to Dirk Ginader, Hidde De Vries, Karl Groves and Piccia Neri and magic ensued. You can re-watch the whole live video or wait until next week when I got to editing and captioning the videos.

I want to thank all the people involved and especially Hidde who managed to jump in at the 11th hour as another presenter fell ill. I really loved that we managed to cover the whole breadth of accessibility in the event:

  • Dirk talked about “Preventing Accessibility Issues Instead Of Fixing Them” covering how to label and mark up designs and communicate between design and development departments.
  • Piccia came from a less technical but much more human impact angle with her “Dizzy users close browsers – balancing creativity and accessibility” talk, questioning if creativity needs animation or not.
  • Hidde did tons of research to separate the chaff from the wheat in “ARIA – the good parts”.
  • Karl dove deep into his years of knowledge in his “Data Mining Accessibility” presentation, covering findings of decades of auditing software products.

Having spent a lot of time at expensive and huge accessibility conferences and seeing dozens of talks over the years, I just loved how much knowledge we managed to cover in this simple online gathering. And there was a gorgeous no-nonsense feeling in each of the talks.

I am right now on the train back home, it’s 22:45 and I am shattered, but happy to have been part of this. Thanks for everyone involved and I will get to video editing and describing the talks over the next few days.

My company is hiring: who wants to work with me in Developer Relations?

Friday, October 20th, 2023

I have a spot on my team for a Developer Advocate and you can apply here:

Please, don’t send me CVs or tell me to “take a look” as all applicants need to be in the system so we can follow the needed legal procedure.

What you’ll be doing:

  • Work with me on the content and release of the DevDigest newsletter each week. This includes finding great content, producing videos and editing them and dealing with feedback.
  • Work on our events, the live days series (monthly), the big world congress (annual, 12k visitors, 600 speakers) and the code100 competiton
  • Present at conferences
  • Attend and run meetups
  • Create video and social media content interviewing people at events.
  • Write lots of technical content for our blog

The job is Europe based and comes with all the job security a contract in this region gives you. The pay is adequate, but not comparable with US offers. Then again, you also won’t be sacked with two weeks notice if the stock falls, as there is no stock. It is a remote job but we have offices in Berlin and Vienna if you prefer to be with people. The company is small <100 people but incredibly well connected and full of excellent people and dogs!

Falling Behind In Style – explosive and continuous growth is bad for tech

Tuesday, October 17th, 2023

These are the notes for my talk at the TechKnowFest in Amsterdam.

We always see big technology companies as the best place to work and as those who make the world go around. I’ve been pretty disillusioned in this regard lately. The main reason why technology isn’t really making the world go around is that it chases its own tail trying to constantly grow.

Hi, I am Chris, I have been a web developer for 25 years and 18 years a blogger. I worked on the largest web products, browsers and web standards, wrote 3 and contributed to 15+ books. I write for news outlets and teach videos on Skillshare and LinkedIn Learning. I worked 4 years at Yahoo, 4 years at Mozilla, 8 years at Microsoft and 2 years at eToys. Suffice to say, I’ve done a lot of work on and for the web and seeing this much come and go made me allergic to hyperbole.

All tech news and especially social media posts are about hyperbole. Everything has to be the fastest, biggest, most growing and most disruptive. And when you don’t know about it or are not part of it, you are falling behind. And if that happens you will be irrelevant as a voice or outdated for the market. I’m sick of it and I am done with it.

Size isn’t everything. In fact, fast growth and inflated salaries are both red flags.

The former often turn out to be a flash in the pan. The latter are a sign that there is some desperation to get people fast. Getting lots of users in a short amount of time is great if you know how to monetise them. If not, it means your moderation, performance and hosting costs skyrocket. Getting lots of money thrown at you means people will demand a lot of you. Possibly too much and the awesome salary will soon sponsor a looming burnout period.

Our media loves an inflation story. When ChatGPT grew to 100 million users in only two months the market tumbled over itself about it. Only a few weeks later Threads was the next poster child of explosive growth.

ChatGPT hit a sweet spot of being cutting edge technology and providing a service. Finding information quickly – something that web search has given up on in favour of showing us ads. It also felt like a long standing dream of Star Trek’s “Computer,…” finally being at our fingertips.

A threadbare success story

Threads had the same sweet spot. With Twitter turning into a dumpster fire, the reach of Meta should have made for a smooth transition. Alas, just a few weeks later reports started pouring in that Threads is in trouble. That it is losing users and struggles to retain even a sensible amount to keep the buzz going.

What happened? Well, first of all, sign-ups are not users, especially those automated from Instagram. Instagram users do use the system to chat, but it is mostly for browsing and posting image and video content. Another thing that didn’t help was the US only rollout. If you block users because you don’t want to follow privacy laws it makes everyone suspicious. But, most importantly, there was no feature matching of Twitter. From what I heard, even the basic functionality was spotty. When your only argument is that your platform may have fewer racists than Twitter it is a good start. But nothing that makes people embrace you as their new cyber home.

Great products need research and time

I am worried about and bored of big tech solutions. Releasing a great product needs time. You need to validate your ideas with user research. You use this information to find the unmet needs of your users. People are not good in telling you what they really want. You then need to assess and choose a sensible technical platform. You need to validate the technical feasibility of your product and iterate on that. You also need to consider legal compliance needs. And last but not least you need to define the ways you measure the success of your product. You must get this information without harming the user experience or breaking compliance rules.

This is very much antithetical to the end goal of being the fastest growing app in an increasingly ever shorter “history of apps” since the last big bang.

The web is still the killer product

Let’s take a look back at the thing that really excited me and still does: the web. The web is a great product! It gives you all the information of the world at your fingertips. Everyone can contribute and become a publisher without much gatekeeping. There are no platform rules. Your work can link to others, thus verifying the quality of your own research and sharing the success. People can see what you published 24/7 and you meet people from all over the world. Human knowledge and creativity is archived, at times accidentally. A lot of pirated material that ended up on the web was only created to be sold for a short period of time. Consider all the games that were released on tape and floppy disks, most of them not readable these days. The pirated versions that moved from floppy to BBS to Newsgroups to FTPs still work.

The web as a platform was a revolution, and with it came a lot of content curation needs. It was tough to take it all in. Bookmarks and link-sharing resources helped. But we had a need for a lot more to to navigate and use the web. And we did really well in detecting needs and delivering products catering to them.

We invented web search to find web content. We moved email into the browser and made it searchable to help with communication. We constantly improved online calendars to allow for planning our days. We made online collaboration on documents a given. We created CRM systems to deal with lots of customer information. We made paying and banking online easy. Last, but not least we made video conferencing possible on the web which allows for remote work. And we moved almost all of our media consumption of music, films and TV online.

Each of those needs had a plethora of apps and solutions for people to choose from. Over the years a few crystallised as the tool of choice. Others had their heyday and then vanished into obscurity.

A demand for constant growth

The problems began when technology became the face of a booming market. And with this came a demand for constant growth. I’ve always been confused about why we think aiming for extremely high financial goals is smart business. But maybe that’s just because I grew up in a factory worker environment.

From The Trenches: Yahoo Answers (2005)

The Yahoo Answers web site shown inside a browser.

In 2005, I worked at Yahoo in the UK and got to be a lead engineer on a new and groundbreaking idea for the company at the time. Yahoo Answers was a solution to help people find information on the web. Instead of relying on an algorithm, it would be real humans answering questions. Much like ChatGPT and others promise us these days, but this was not machine learning. Natural Language Processing back then was still an academic exercise. Algorithmic search results were not up to scratch and highly gamed. This was the high time of SEO, and Google was ruling supreme, so Yahoo was looking for an angle.

Yahoo Answers was already a great success in Korea, and we got the task to bring it to the rest of the world. The code had Korean comments and variables, so it was a chore. These days, this wouldn’t be an issue, but back then it kind of made more sense to re-write the whole thing.

I was in charge of a distributed team in India, UK and the US. With a lot of effort, we managed to roll out the product in record time as we had 24 hour coverage. We also ensured that the product had great APIs. I used these to win an internal Hackday by integrating answers from real people as a plugin into Yahoo Messenger. Again, very much what ChatGPT does now.

The product rollout was a success. But not the avalanche of new users promised by the Korean experience. One of the reasons was that Yahoo had a tarnished reputation for being an old and outdated search portal. Quora had just started and promised to be much cooler and newer. Seeing that there is a market, older players like the confusingly named also slimmed down their interfaces.

Want growth? Stop moderating!

So, in order to be a huge success within a short amount of time the company did what seems to a be a common thing these days, too. Stop moderation and allow all posts regardless of quality. Back then we did that silently, nowadays people do that waving the banner of “free speech”.

Concerns raised by my team and me about security implications and horrible content getting published were silenced with a classic: “the community will moderate itself, let’s just add more features so people can see their status on the platform”. This, of course, is nonsense, much like “the free market will control this” and “wealth will trickle down”.

Accidentally making meme history

The infamous 'how is babby formed' post on Yahoo Answers.

With the floodgates open in terms of digital nonsense flowing in, Yahoo Answers accidentally made meme history with “How is babby formed”. The answer to the question “how is babby formed? how is babby formed how girl get pragnent” was something else. It was words – well some of these are words – and it has a sinister flair of some false righteousness when it comes to pregnancy:

“They need to do way instain mother> who kill thier babbys, becuse these babby cant fright back? it was on the news this mroing a mother in ar who had kill her three kids, they are taking the three babby back to new york too lady to rest. my pary are with the father who lost his chrilden ; i am truley sorry for your lots”

No AI would ever be able to come up with this. A few years later, Answers got shut down. It was a great idea, but chasing numbers rather than quality was its downfall. I got many of these tales, for another time.

For example, every time I was tasked to create an app or extension store for software they followed the same pattern:

  • We need more apps as people want choice, let’s allow all in!
  • We have too many apps, people can’t find what they need.
  • People don’t use our store as it is full of bad apps/extensions

Well, who could predict that?

New goal: keep them in the product

Over the last few years our goals shifted. Instead of creating products to solve problems, we create products to drive consumption. Social media addiction machines akin to the Skinner Box but without the electrical shocks (for now).

The biggest measure is time spent in product. Facebook was the first to optimise for this. Over time, products became increasingly addictive and limited the ability to link to external content. They also get faster and faster with TikTok and various other “shorts” formats reminding me of the gambling machines you see in pubs.

Don’t interact, don’t question, just consume and click the flashy thing. This is rampant and utterly wasteful, both in terms of electricity and human attention. Tech is making us mentally addicted and sick. We keep bouncing between euphoria and depression with not much in between. And that’s by design: the strongest opinions and feelings make sure people want to hear more.

The big wakeup call: the Covid pandemic

The Covid pandemic made me lose faith in big tech companies and their solutions. This would have been our time to shine. This could have been the final proof that technology is what makes this world work and allows us to face anything that could happen. Alas, it wasn’t that.

Right before Covid tech news was all about the future already being here. Self driving cars, Amazon delivery drones, contact lenses that can predict diseases, learning bracelets that help people with Parkinson’s and smartphones empowering blind people was all you read about. We claimed to be close to deciphering our own DNA and do VR surgery.

All governments during Covid failed to quickly, easily, and affordably track the disease’s spread. We were impressively quick to come up with a vaccine, but the rollout was shambolic at best. Social media wasn’t used to spread information and help finding a solution. Instead, it turned everyone into a vaccine expert that knows more about it than scientists. The amount of people who died or now suffer from post Covid issues could be directly connected with that. Incidentally, many of those who were cleverer than the medics are AI experts now.

Working remote was hindered by bad connectivity and lack of devices. Many schools didn’t even have WiFi and teachers had no clue how to teach remotely. Our whole welfare and education system seems to live in an old, forgotten world. One far removed from the technical sophistication of our entertainment systems.

This didn’t stop big tech to see the pandemic as an huge opportunity for growth. People being stuck at home meant that media consumption skyrocketed. In the professional space lots of companies had to upgrade their systems much faster than anticipated. Big tech hired like mad, predicting an ongoing demand for remote services.

But now that we’re in a Covid break, things look different again. The big tech boost is subsiding. Expensive tracking software we all have on our phones is now defunct. Companies force people to come back to work, citing security and performance reasons. True, not everyone is cut out to work from home or can. Companies have costly offices. These offices require people under long-term contracts to occupy them. Tech companies failed to cash in or prove themselves as solution providers and now get rid of thousands of people. And we go back to offering more consumption machines instead of fixing broken infrastructure.

Shouldn’t this be a time to learn from our past mistakes and secure the future? No, as there is a huge culture of hiding mistakes and concentrating exclusively on the positive. This sells better, after all.

Big tech sounds like a great place to work, but…

Another goal advertised by the media is that in order to matter as a developer, you need to work at one of the big players. True, you can learn a ton by doing that, you also get pushed into a world that isn’t compatible with the rest of the market. I’m happy that I spent a few years in smaller agencies and working freelance before working for a big player. Back then, this was the norm, there was no way to get noticed by them unless you had a great track record. Or you took part in some new hotness in the tech sector. Or you had a great degree and got hired after an internship.

The problem is that people have a wrong assumption what big tech companies are like. We see the press releases hinting at amazing innovation. We see the flashy campuses showing everyone eating free food, wearing company gear. We believe the marketing campaigns showing that everybody is empowered to innovate.

Fact of the matter though is that you are not part of a big, innovative movement but a cog in a big machine. To be able to innovate, you need a great manager and above them a director that believes in your vision.

Technical acumen aside, the main skill is to sell the idea of your product internally before you can even start.

And then the fetish for constant growth is coming to bite you in the backside fast. I released a product that had 2.1M installs in 3 months and 70k daily active users. It was a plugin for Visual Studio Code, so the 70k users are dedicated developers. I constantly had to fight for resources as these numbers were peanuts compared to those using the browser I worked on. You see, in a 1:1 comparison come assessment time and planning for the next year it’s purely numbers. Who these users are and what they do is less important than the potential to show them ads. And this is where social media clickers and viewers beat developers when it comes to an audience.

Leaving the “care” out of career…

Another thing to be aware of when joining a big tech company is that people expect a constant “growth mindset” from you. You may be a highly skilled person now and good with the team, but you should always try to learn more and add new skills. And – most importantly – you should always aim for the next promotion. Companies have learning days and all of them have a plethora of online courses you can take. This is great, but you need to push to get the time to do these trainings. And you need to demand more time and trainings in your 1:1s with your manager.

I’ve had a very odd experience when one of my developers flat out refused a promotion. He was happy and excellent in his role. He was great with the team. And he was a family man who wanted to have a 4 day week to have more time for his kids. He functioned 100% for the company, I’d even say 120% as he was a mentor and great example for others. But he didn’t want to be pushed into a career he didn’t want and there was no way to give him what he needed. So he left.

It makes no bloody sense in a company with a limited amount of jobs to push people to always aim for promotions. There is nowhere to go. And that’s when people leave.

Giving up on retention and investing in employees

Another thing we don’t talk about enough is how big tech has given up on retaining people. Whenever one of my engineers said they want to leave there was no effort at all to keep them. Exit interviews are a joke where some poor HR person ticks some boxes but there is not much effect. It is incredibly costly to find and hire engineers and there is a lack of people on the market. But I’ve never seen an effort to keep someone.

During my interviews after I left Microsoft I told people that I spent eight years there. Instead of seeing this as a good thing and commending company loyalty, most interviewers asked me why that was. Other companies flat out told me that this means my knowledge must be outdated or too company specific. The average retention in big tech is two years. As a lead developer, this scares the hell out of me. It takes you about half a year to get a new team member fully effective in a huge corporation. With people keep coming and leaving all the time without documentation we should not be surprised that tech is broken.

This is even gamed by people. If you look at some of the threads on people see company hopping as the only way to get to a huge salary quickly. What a waste.

Working in big tech means you need to predict and measure everything…

When you get into the product ownership part in a big tech company or you become a PM, you need to measure everything. Which makes sense, but there is a weird focus on OKRs and KPIs. These things work great for small companies but in large corporations, compliance gets in the way. What are OKRs ?

Objectives: are memorable, qualitative descriptions of what you want to achieve. Objectives should be short, inspirational, and engaging. An objective should motivate and challenge the team.
Key results: are a set of metrics that measure your progress towards the objective. For each objective, you should have a set of two to five key results. More than that and no one will remember them.

This makes a lot of sense, but the biggest problem I found was when they get aligned with the fiscal year and the promotion cycle. As a large tech corporation you create software that needs to comply with various laws. This means that half a year is not 6 months to build something. It’s 2-3 months to build something and then go through compliance. When your objective is highly inspirational and should challenge the team to shoot for the moon this sounds great at first. But when you don’t see any progress because you are stuck in the legal quagmire they fail to inspire. Often the biggest problem is measuring success. If your objective is to get more users but you aren’t even live yet, you are stuck. If you have to comply with world-wide laws about data retention you can’t even measure beyond 28 days.

I’ve had quite a few rounds of my team reaching 3 of our 5 objectives and almost being able to finish the other two. But then a new fiscal year started, and we got asked to come up with new OKRs, never being able to reach the old goals. This isn’t driving me. It’s frustrating as hell, especially for developers as we live to solve problems. OKRs are great to create a small product in a short amount of time. If your team has to define OKRs and they get aligned with those of the leadership team and those with the overall company OKRs you end up chasing the progress rather than building a product.

What changed for me

I left my last company as a Principal Technical Program Manager and took a role as a director. Now, two months later I am a VP. I moved from a 221k employee company to one with 80. And I took a 15% paycut in exchange to working from home and in my own timezone.

Am I happy now? Of course not, I am German, we are never happy. But I am out of the hamster wheel. I work in a place where I connect developers with jobs that are not in big tech, but a place for them to make a difference.

The gaps of big tech

I’ve covered a lot here, so let’s quickly recap my impressions right now:

  • Tech companies are on a 2020 level of technology, but sell themselves as 2050
  • Worker rights and job satisfaction feel like factory workers in the 1920s. But as we are paid well, we don’t complain
  • Tech does not make us more efficient – it only keeps us more entertained and occupied
  • There are many real issues to be fixed using tech, but those are hard and don’t have any ad space…

Maybe it is time to demand more. More real solutions that solve problems rather than feeding the machine with more content. More choice and more control over our data. So, join me in falling behind in style. Don’t build the next big thing. Build the next small, good thing. Start realising that your time and data is the currency of big tech and demand better. Let’s listen and record all the failures of untethered growth. And let’s demand more longevity and fewer “fastest to grow to X” stories.

Lossless Cut is my new favourite tool to cut parts from a video without any hassle

Saturday, October 7th, 2023

Lossless cut with a video with defined in and out cutpoints

Lossless Cut is probably the simplest way to cut out parts of a video without having to re-encode it or use an online service. It is open source, free and available for all platforms. It is in essence a frontend for FFMPEG and cuts without re-encoding, so the results are instantaneous.

VideoTap has an amazing feature called Clips, which allows you to highlight parts of the transcript of a video to create shorter videos for social media posts. I got my team on it, but as you pay per minute of converted video it would be wasteful to upload a one hour talk to create a few 15 second videos. So I was looking for simple tools to use and Lossless Cut came up.

Here is how to use it:

  • Download the version you need for your operating system (there are free links to installers, but if you want to support the project, you can also download a $20 version on App Stores)
  • Scrub to the part of the video you want to start cutting a part from
  • Press `I` (for `in`)
  • Scrub to the end part
  • Press `O` (for `out`)
  • Hit the export button

I love that the tool doesn’t re-encode and supports keyboard shortcuts. Another open source alternative for this task that has a lot more features is Openshot which is purely mouse and context-click driven.