Christian Heilmann

Author Archive

8 years on Edge

Wednesday, March 15th, 2023

chris heilmann in front of the Microsoft Logo of the NYC office

First of June will be the day when I won’t be working at Microsoft any more. This will mark my eight years and a few months tenure there. I am very happy about all the things I was able to do there and grateful for all the great people I worked with.

The start: Hey, want to help us move the web forward?

I came to Microsoft from Mozilla by invitation from people I worked with before. The idea was to help Microsoft renew their browser to replace Internet Explorer. This was something I deeply cared about. IE was one of the things that held back the open web. Putting my hat in the ring to support its standards based successor was exciting. So was meeting the people involved in IE. I tried my best making sure they didn’t feel attacked by this change. Instead I invited them to bring their knowledge into the new browser. And Microsoft delivered on its promise. Edge was a breath of fresh air the web needed and it was amazing to see the energy we put into creating it.

The developer market didn’t share the enthusiasm, but instead targeted Chromium and saw yet another JavaScript engine to support as a nuisance rather than choice. We reacted accordingly, and moved the browser to this engine.

This was the time I enjoyed the most. Working with Google to get Microsoft to become a core contributor to the Chromium project was excellent. Taking the Chromium code and making it Microsoft ready was a great challenge. Taking out code that is Chrome/Google specific. Ensuring the interface is accessible to all, including screenreader users. Getting the code ready to be available in various locales and languages. The Chromium project gained a lot from Microsoft’s involvement and it shows.

The rise of Visual Studio Code brought lots of great opportunities to integrate with it. The same goes for other Electron based products and subsequently those who use the Edge WebView.

I, Program Manager

I started in Developer Advocacy for the company. I then moved to the Apps team, working on the PWA strategy, establishing an app store and tooling around it. When one of the program managers for the Developer Tools in Edge left the company, I was asked to fill in and try out the PM role.

This is where I spent my last few years, working as the principal product manager of developer tools. This included the delivery of the product, working with the technical leads and defining the roadmap of what’s to come. The job was to triage incoming work, come up with new features and to verify them with internal and external audiences. The focus is on the product and its success. And that means a lot of measuring, telemetry and tracking delivery.

Being the only European member of the team was challenging at times. It meant that as a lead I had to be in meetings late at night so I can react immediately to people’s needs. It also meant that I needed to be diligent in planning out the work for people, so I could use what they produced the next morning. During Covid, the whole team started working remotely and it was great to help Microsoft roll out best practices for remote work, using my knowledge of over 10 years of working from home.

I am very proud of the work we’ve done here. The Edge DevTools for VS Code extension was my main passion and 1.5M downloads with 40k active daily users shows that this is something people want. It also helped us making Edge more componentised and integrate with other environments. There is a movement towards making browsers less of a monolithic interface but more of a thing that spreads its functionality across the UI of the OS and Edge is ready for that, partly because of our work.

I kept my developer advocacy hat on, speaking at events, writing lots of documentation and creating videos. I worked with the Azure DevRel team, the VS Code team and did a lot of internal advocacy for Edge

Looking back

I had an amazing time at Microsoft and I am humbled by the talent I had the opportunity to work with. My team was full of incredible people. We managed to release a huge product with millions of users with only a few, but empowered people.

The company deeply cares about quality and accessibility of its products. I learned tons about compliance and legal needs of releasing enterprise level software.

I am also proud about having spearheaded the openness of Microsoft, making sure that all I worked on was Open Source from the start. Replacing internal code repos and ticketing systems with publicly available GitHub repositories and issues was not easy, but it resulted in much better products and happier developers. Outside requests trumped own delivery goals and thus we managed to get more people involved.

There are too many people to mention that I had a great time working with and I feel the product I worked on is in good hands. I’ll keep contributing as much as I can from the outside and look forward to what’s coming next.

What’s next for me?

I am currently looking around for new opportunities and will outline soon what I am looking for. Truth be told, I still need to figure a few things out myself. If you know what I can do and you think there is something for me, please don’t hesitate to ping me on LinkedIn .

One thing that is already in the works is that I will create a course for LinkedIn Learning about Developer tools for non-developers. In German. Oh dear…

Linkshare – a GitHub Pages template to store links and share them on social media

Tuesday, March 14th, 2023

With Twitter shutting down its APIs my automatic bookmarking of links broke, so I thought I use GitHub and GitHub pages to store links I talked about instead. Enter Linkshare, a GitHub Pages template that makes it simple to copy your links in a shareable format to use on Twitter, Mastodon, LinkedIn, etc…

Video recording of linkshare in action

You can see it in action at https://codepo8.github.io/linkshare/ and also see my own links at https://codepo8.github.io/links/

Features include:

  • Link categories are markdown lists of links in named documents
  • Dark/Light theme automatically applied
  • Customisable template for the copied share text

You can read up all on customisation in the readme.md

To host linkshare yourself, fork it and set up GitHub Pages for the repo.

Migraining to a new server

Wednesday, March 8th, 2023

As MediaTemple ceases all grid servers, I had to move this to a new shared server. I hope all is OK and I am still on it.

Continuous growth is cancer

Friday, March 3rd, 2023

Terry Jones as Mr Creosote in Monty Pythons The Meaning of Life

I am currently affected by the wave of layoffs in the technology industry and this isn’t my first rodeo. The difference is that it feels worse this time as I am not only annoyed by losing my job, but I am starting to feel that the system is incredibly flawed. Instead of building a sustainable work environment with sensible compensation, the system favours continuous growth – something that isn’t possible in a world of limited resources.

Betting wrong on the pandemic

I’d wager to say that 90% of the layoffs right now across the tech sector aren’t related to performance or productivity. The reasons are the troubles on the stock market and the general recession we are experiencing. We just barely survived a global pandemic and there is a war going on in Ukraine that could easily escalate into the next world war. During the pandemic all tech companies hired like mad as people who were quarantined at home needed tech much more than they did before.

This turned out to be a premature celebration of growth as the pandemic hit a lot of people hard and the war made people wonder how they could pay the next gas bill rather than if they want to buy another laptop, game console or mobile. So whilst there is no massive decline, there isn’t a growth that warrants the number of people in the company. The stock market looks at profit per head in a company, and if profit goes down, and you need to act swiftly, heads must roll.

Why not use stocked resources instead of trying to add when nothing comes in?

Maybe I am being naive here, but I don’t see how anyone can win in this situation. As the market gets better, companies will have to look into hiring again and there is already a serious lack of employees available in tech. Maybe, just maybe the better way would have been to plan for two years of no growth but sustained work instead. Every huge tech company has money – the layoffs right now aren’t cheap at all, after all. But instead of riding out a pandemic and the delivery issues it came with we still plan the old way with explosive growth in a short time frame.

This fetish we have for growth is starting to annoy me. If your career doesn’t progress every half year, you’re a failure. If your product doesn’t double user numbers each quarter, it gets canceled. If you don’t show any interest in advancing up the career ladder, but instead focus on your job, you’ll get asked why that is and pushed into booster processes.

The missing HR process for happy employees

This didn’t happen to me, but to one of my colleagues in the past. This person was amazing. A great technologist with tons of experience and liked by all. Thorough, documenting everything and patient with unreasonable demands, he was my go-to for new features. He also was family oriented and had a secondary income. So instead of a promotion with more money and more responsibilities, he asked for a four day week – even at the expense of a lowered income. There was no process for this, and the company back then was at a loss what to do. Instead of understanding that this was a decision by the person to get more peace of mind and time for the family, it was seen as not having a growth mindset. Instead of understanding that this could be a common demand in people who get older, he was refused the opportunity to work less and left the company.

I am worried about this as there is no logic to thinking that everything has to grow, get better and more. Not everybody wants to go up the career ladder and there should be no shame in finding a place you are happy in and stay on that level. For some of us our needs are met at a certain level and anything else would bring more money in but also eat into the way of life that makes us happy and effective.

Back to the grind?

Right now I am looking for new opportunities and I want to go into a lead role similar to the one I had. I would love to see if there are places that understand that people like my colleague earlier exist and could make up an incredibly effective team. And I would love to lead people like that, make sure they can concentrate on their work instead of being asked to think about advancing a career they do not care about.

If companies want to continuously grow and have long term career employees, they need to make sure that there are enough senior roles and positions available. It feels odd that we have a very limited number of high-level career positions, and yet everybody is forced to think about advancing towards those, or not seen as a person who is eager enough to be in this market. I want to build excellent products for our end users, I don’t feel like I should spend a huge amount of my time competing with my peers for those few senior positions.

How many more rounds of inflated hiring and short term layoffs do we need to go through before we understand that continuously shooting for unattainable goals isn’t as motivating as we think it is? Maybe with all the mess that is going on in the world right now, we should think smaller and more maintainable. I’m tired of companies telling me they aim to become a “unicorn” in the next quarter. I’d be more excited about companies aiming for a goal that makes them sustainable and keep their employees instead of having to deal with a one year churn.

Maybe we should grow in our mindfulness and humanity and not only in numbers.

If you agree and you’re looking for a technical lead in your company, check me out on LinkedIn

Automatically generating tests for JS/TS functions in VS Code with GitHub Copilot

Wednesday, March 1st, 2023

Want to automatically generate tests for your JS/TS functions? GitHub CoPilot now does that.
GitHubNext added a TestPilot experiment that can generate tests for a function by analysing it and scanning the docs and comments.

Animation showing how to create a test for a function by highlighting it