Christian Heilmann

You are currently browsing the Christian Heilmann blog archives for January, 2018.

Archive for January, 2018

Developer Evangelism interview on news.com.au

Monday, January 29th, 2018

This morning news.com.au ran a segment about new job titles based on an interview with me a few weeks ago. In the interview about developer evangelism I answered a few questions and – more importantly – covered the difference between sales and developer relations. Here are my full answers to their questions:

Article screenshot

In layman’s terms, how would you describe your job?

A developer evangelist (or developer advocate which is a term many prefer now) is an expert who helps developers use the products of a company and technical people in the company to get the time and support to write excellent products. The job is a communicator role between the technical experts of a company, the outside world, but also different departments of a company. Working in tech is a taxing job although it doesn’t look that way. A lot of people have demands but are not interested in understanding what you do – they just want the work done. The job of the developer evangelist is to bridge that gap. By creating learning materials, presentations and help with communication in between departments. Developers are excellent at solving technical problems and building great software. But many have neither the time nor the drive to communicate their efforts well to others. This is what we do.

Would it be fair to say you work as a sort of salesman for companies to encourage other people to purchase things from the company? Or purchase apps for example?

No, not at all. This is the job of a sales department and their main goal is to artificially create demand for a product. As a developer evangelist you help the product on a technical level. You create example projects using the product. You collect and collate outside feedback, triage it and then bring it to the busy technical team. You help people with technical issues. You create demand in the technical community by talking about the product and showing how it makes the life of developers easier.
If you do a classic sales pitch in the form of “you don’t need to understand this, our product magically fixes all your problems” you’re dead as a developer relations person. You need to have the technical knowledge and properly understand how the product works, not simply sell it. Of course, we’re all creating demand and interest, so in a way we are sales people. But what we sell is knowledge about the inner workings of the product to the outside. You sell your company as a place using cool tech to other developers. We sell outside interest back to the company helping it to priotitise product roadmaps. Good DevRel work doesn’t necessarily result in more product sales. Instead it helps with hiring new talent and ensure people in the company are happy. A company with a fixed product does not need a developer evangelist. When your product offers more granular access to its features using for example an Application Programming Interface (API) then you should consider bringing this role up.

As a comparison, consider a car company. The sales people are there to sell cars – customers don’t need to know the internals. A devrel person would be the one explaining mechanics how to maintain the engine. The person should present at conferences why your cars have great technology and are good for the environment. And explain that your company is much more than just a maker of cars. We create interest and explain how things work so people from the outside can contribute. We don’t sell products.

On your Linkedin you say, ‘I like to take complex technical things and translate them to various audiences in an understandable format’. Is that for people working for companies like Microsoft? Or the general public?

That depends on the event or publication I am asked to reach out to. I’ve explained tech and products of my former and current companies internally to our own people of other departments. I explained them to outside developers working for other, similar companies. I worked withthe open source community as a whole, designers, product managers, project managers and at one time also to people working in the unemployment office. That’s the “various audiences” bit in there.

The general public is less interested in the inner workings of products. It makes more sense to give this communication channel to marketing. However, a good developer evangelist works very closely with sales and marketing to make sure that your company advertisements and press releases don’t overpromise or make it impossible for your developers to deliver in time.

The job of a developer evangelist is to make technical issues easier to understand. This also means to help your company to communicate to the general public without dazzling them with buzzwords.

You don’t only to explain the how but also the why. And the why differs from audience to audience and needs different explanation materials. This could be a very well documented and explained piece of code, an exciting use case and demo app or a presentation. It boils down to being a good communicator and feel empathy with the audience. Far too many technical documentation assumes a perfect audience and thus fails to spark interest. Other information materials show a shiny best scenario but never explain what to do when things go wrong. As a devrel person you need to find a good middle ground.

How does one go about becoming a developer evangelist?

The perfect scenario is to move an interested developer of the product into the role. You need to know the products and technologies inside and out to be a good developer evangelist. People in technology have had their fair share of overpromise and slick sales people telling us things work that do – in fact – not. So you need to have the right “street credibility” or you’re just a sales person that tries to reach a very hostile audience. Personally I was in a lead developer role in a company when I transitioned. I didn’t see any more ways to get promoted on a technical level without moving into management. So I proposed the role of developer evangelist to help the company to improve our internal and external communication. I was lucky to find a sympathetic ear as this is a big issue for a lot of companies.

To start, you need to know what you want to talk about. You can’t only be a good presenter or writer, you also need to know the technical details and know what the market as a whole is doing. For developers or technical project managers who consider a role in DevRel it is a great idea to do a competitive analysis and find out what gets developers excited and how it relates to your company. Then you can start selling the idea of this role to your company. One thing to remember is that only your own excitement sells. If you don’t care about the technology you are supposed to promote or you don’t understand it, you will fail.

Do you developer evangelists work in every tech company? For example, is there a developer evangelist attempting to sell Candy Crush to developers or people looking for the next app to play?

I am pretty shocked how far this has grown. When I wrote the developer evangelism handbook there were only a few companies that had devrel departments. Now almost every technical startup has them.

However, the example of Candy Crush or next app to play is nothing a developer evangelist should do – at all.

King, the company behind Candy Crush most likely has developer evangelists. Instead of telling people about their new games they talk to game developers how to use their analytics, scoring mechanism and other internal features of games. Developer Relations (DevRel) is a hot topic now and a lot of people try to jump on the bandwagon. It kind of washes out the idea of what it is meant to do – improve communication between technical and non-technical people. Developers are a sought after community. They are early adopters and often they are ahead of the next wave of change in our markets. It is tough to hire talent, and it is even harder to retain them. A functioning DevRel department is there to make the technical people in your company be understood and proud of what they are doing. It is not about going to events and giving out T-Shirts.

Do you believe developer evangelists are just one of the many jobs people need to embrace/learn to do in the 21st century. If so, how should people start learning?

It is for sure one of the newer jobs and one that still needs proper definition. However, I would disagree that people should start as developer evangelists. It is a role technical people should transition into once they know your company’s products and goals. That doesn’t mean though that the skillset needed for it isn’t a thing everybody should be learning. We’re at a stage where technology evolves faster than humans. In the very near future it will not be about who can program, but who can use intelligent products that work for us in a sensible manner. Knowing what is happening at the bleeding edge of technology and finding simple ways to explain it is a skill that will become more and more important. It is especially important to make a conscious decision to avoid the drama and hype about technology. Right now, the tech world is getting a bad reputation of being horrible people who only look out for themselves and don’t care about what our products do to people. It is a good time to disprove this impression.

The beauty of our time is that the internet is a great place to learn all kind of things. You can use online courses to try out ideas and technologies for yourself and play with them. There is no certificate for developer evangelism. We’re still at a very early stage. You can use that as an opportunity.

That was my Beyond Tellerrand Munich 2018 – Keynote talk/slides and impressions

Friday, January 19th, 2018

I just got back from Beyond Tellerrand in Munich and here’s a quick report what you missed if you didn’t go. You might not be interested in my impressions, so let’s get my work out of the way first.

I gave the opening keynote “Sacrificing the golden calf of coding” in which I explained my transition from a hobby coder to a professional developer and learning along the way that tooling and automation is not the enemy.

The video is already available on the Vimeo Channel:

Sacrificing the golden calf of “coding” – Christian Heilmann – btconfMUC2018 from beyond tellerrand on Vimeo.

I also added the slides to Slideshare:

Sacrificing the golden calf of "coding" from Christian Heilmann

As you may know, I am a huge fan of Beyond Tellerrand. The organizer is a very old friend of mine and he bends over backwards to make the event something special. He cherry-picks the speakers, treats them immensely well and on a deeply personal level. I feel very proud to be a part of this for many years. On a personal level, I am chuffed about its success as my partner and me met at this event. Thus, she also was a volunteer this time and helped making this event work smoothly for all the attendees.

Anke packing bags

I was worried that branching out from Duesseldorf to Berlin and Munich might be a tough step for the event and as Munich is not a hotspot for events I worried about participation numbers. But I shouldn’t have. The even was full up and people stayed for the whole duration. I was heartbroken to hear about a massive personal loss in the organiser’s life just before the event and I am even more so impressed how well it worked out.

Attendees painting on the Surface Studio

I shot quite a few photos at the event, none of which of course will match what the official photographers managed to get.

Live Video Editing at BTConf

Beyond Tellerrand is ridiculously fast in releasing the videos of the event as they are mixed live. I love this as with booth duties at the Microsoft stand and personal errands I couldn’t see all the talks but will do so now in the nearer future. Here are some picks that may tickle your fancy, too:

Simon Collison’s “The Internet of Natural Things” talk was a lovely reminder how the internet is not all about cold technical things but also a way to organise your life and record natural things around you. It ends with an intriguing new way how an OS could look to be more helpful for people in their natural environment.


The Internet of Natural Things – Simon Collison – btconfMUC2018 from beyond tellerrand on Vimeo.

Harry Robert’s “Why Fast Matters” is a talk full of great information on how to measure and improve the speed of your products and what the positive effects of that can be. Harry does not only show tools but also proves why considering improvements can make profound business sense. And he explains how well performing products are truly international and help you reach new markets without breaking the bank of users who live there. His slides with all the links are available on speakerdeck.


Why Fast Matters – Harry Roberts – btconfMUC2018 from beyond tellerrand on Vimeo.

Nadieh Bremer’s “Data Sketches: A Year of Exotic Data Visualisations” is a whirlwind explanation of her last year of creating bafflingly beautiful data visualisations. She doesn’t only show off her work and talks about the beauty of it but explains the story warts and all – from having to scrape and clean up the data to iteratively doing the math on paper to get the effects she wanted to have.


Data Sketches: A Year of Exotic Data Visualisations – Nadieh Bremer – btconfMUC2018 from beyond tellerrand on Vimeo.

Dina Amin’s “A tinker story” was a total surprise to me and clearly the winner of the event. It already inspired me to write two new talks. Dina is a lady from Egypt who likes to take mechanical things apart and build stop motion animations from them. That’s impressive enough, but the real beauty of the talk is about her story. How she dared to do something that crazy and creative instead of pursuing a normal career and how the internet and working with other people over it made that possible. If you want to see some really cool animations and hear a story of empowerment and joy, this is for you.


A Tinker Story – dina Amin – btconfMUC2018 from beyond tellerrand on Vimeo.

Make sure to keep checking the channel for more videos coming up. Another absolute highlight was Stefan Sagmeister’s closing keynote which was a gorgeous and sweary rant about how we should embrace beauty instead of following outdated Bauhaus ideas. And it ended with the whole audience singing along with him to a song about beauty.

Stefan Sagmeister's Karaoke about beauty

There is no question in my book that Beyond Tellerrand is a worth-while conference to support and attend. My company agreed to support all the events this year and I am looking forward to seeing the next one in May in Duesseldorf. You should, too.


We’re not giving browsers enough credit…

Thursday, January 4th, 2018

I’m currently working on a few projects that are special browsers. I can’t put in any more details but the gist is that I will only have a WebView to play with. The interface of the browser is JavaScript/CSS/HTML, for which we use vue.js and Sass respectively.

I am also running an insider build of the OS as I want to be on the bleeding edge. My own browsers is a developer preview. This all taught me quite a few things.

  • There is a huge difference between a browser and a webview
  • It is possible to build all kind of fancy interfaces in web technologies. But often there are hard to work around security, performance and accessibility issues.
  • Day-to-day browsing sucks when your browser is a moving target

The main thing it taught me that as developers, we have a massively skewed view of what a browser is. Or, more accurately, what matters to users.

A browser is a web display tool

Glasses in front of a screen
Photo by Kevin Ku

In my meetings with clients, I found a few things that mattered most to them:

  • Performance – a browser should start up fast, not bog down the operating system eating resources and stay responsive. This is not only about first use, but often a big need for long-term use – for example in a kiosk scenario. Browser restarts are uncommon and should not be necessary
  • A reliable content display – a browser should also render content instantly. Content could be HTML documents with all the cruft they come with these days. But it is increasingly important that media of all kind plays smoothly. And often there is no chance to rely on a plugin or third-party player. This means a browser should be a video/audio player. It also should be an ePub and PDF reader. And it needs to render huge images and WebGL/WebVR content without any hiccups.

Neither of those should come as a surprise – this is also what we as developers expect. As developers we also want more. We put a lot of stake into the developer tools experience. And we want browsers to support the newest and hottest experimental technology. And we complain to other browser makers if not all are on par with the others on both these counts.

Most clients that wanted a bespoke browser, however, had other priorities.

A browser is an enabler

Welcome sign
Photo by rebeck96

I was happy to hear that every customer I worked with put a high emphasis on accessibility. I was less happy to see how tough it still can be to make a zoomable interface in a WebView. And how to get keyboard access right. And how to enable screenreader access and text to speech interfaces. But that’s my job as a developer. And yours, too.

A browser needs to enable people of all different abilities to reach what they came for. And ability isn’t a fixed state but fluctuates with environment and external influences. I found that out lately when I had to zoom my browser to 110% to read the average web site. A reminder that I am the age I look. I fixed it later by switching to varifocals, but I am happy that browsers allow me to fix it on the spot. Often a WebView embedded in an App doesn’t allow that.

A browser is a guardian

Lock
Photo by ShonEjai

A very common demand is to have blocking of unwanted content in the browser. This ranges from must haves like malicious site filters to popup blocking up to providing a pre-approved whitelist and block all else. Ad-blocking is also often a demand, but the big worry is that an opened document could give an attacker access to the computer.

Browser creators have a shared list of known attack sites to filter out. This is a great service that protected quite a few people over the last years.

Displaying insecure content in a secure site is another problem that I needed to work with. Whilst browsers have UI interfaces and blocking built-in some WebViews allow mixed content. That’s not good.

People also wanted to ensure that there is no dependency on plugins for video display or to outright ban Flash content. PDF was a big concern, too. And they were right to do so. Browsers do a lot to avoid malformed PDFs to spy on us.

Speaking of spying, a private browsing mode or a general browsing experience that blocks trackers was also high on the list. This is not surprising and a sensible feature to offer.

The opposite of a private mode is, however, also something that we keep underestimating.

A browser is a memory keeper

Reminder knot on finger
Photo by Rachel Demsick

Browsers are there for us to display the web, but they are much more importantly there to make this easier for us the more we use them. I felt that in my own use of an unreliable (preview) browser in a constantly changing configuration. I realised just how much it sucks having to constantly re-enter passwords. How annoying it is not to have sites I keep visiting autocomplete when I type a few letters of the URL. How “share with X” buttons become useless when you are not logged in. In essence, how much I rely on the browser to remember what I’ve done and intelligently help me along the way.

We don’t give browser makers enough credit for this amazing experience, as it is – like all good UX - invisible. A browser that automatically and safely stores and enters form data for me is a great help. It even protects me from entering wrong information and the frustrating re-filling experience. Yes, of course this is also an attack vector, but that doesn’t mean we shouldn’t celebrate its usefulness – we should make it more secure instead.

Having Firefox’s “awesomebar” remember my surfing habits over the last 10 years spoiled me. I don’t even remember the last time I bookmarked anything. My important finds I tweeted out anyway and let Pinboard remember them for me.

Others may as well have a lot of bookmarks. Together with synced autofill content and history it is great to be able to take this experience with you. Independent of computer, phone or device.

Conclusion

When it comes to answering what a browser does for us, I learned a lot in the last few months. I am more humble when demanding features of my colleagues and friends in other companies working on browsers. They are doing an incredible job building a piece of software that displays the web in an accessible and secure way. And once you learn about attack vectors of the web and webviews you are in for some rough nights.

I also learned that when it comes to who wins the most users in the browser space, it comes down to how they handle user data. Technical ability of a platform and “pushing the envelope of what the web can do” is exciting for us as developers. End users, however want the web to be easy, fast and secure to use. They also want their browser to know where they’ve been, and choose when it shouldn’t. They want a few things automated and get easy access to their content to send out to the web. From a privacy point of view, I also feel uneasy about this, but those who make this the easiest, win.

When it comes to what browsers can do, they’re much more on par than they’ve ever been – thanks to standards. The big differentiator isn’t what tech to support, it is how much of a travel companion on the web the browser is. It is a game of data, insights and good UX of the browser interface itself.

I am much more excited about what we can do in the future to help people keep their online identity in a browser without leaking it. And I would love to see more interfaces that teach people the value of their own data whilst using a browser.

A browser is not merely a display mechanism for the web. It is a record of your identity and history on it. This can be a great thing if done well, or a scary one if not. I’m worried that too many people on the web leave breadcrumbs without knowing it. They see the convenience of that without knowing the consequences or value to others.

I invite any other web developer to look closer at the interface elements and user-centric features of browsers. There is a lot of beauty and very clever, researched-based interfaces to be found. And I’d love to see this get more coverage in our circles, and not only which new API or tech feature is the next big thing.