Irrational Exuberance logo

Irrational Exuberance

Archives
Subscribe
January 22, 2020

Irrational Exuberance for 01/22/2020

Hi folks,

This is the weekly digest for my blog, Irrational Exuberance. Reach out with thoughts on Twitter at @lethain, or reply to this email.


Posts from this week:

- How to build your company's engineering brand.
- Some rough notes on running learning circles.
- Joining Calm.


How to build your company's engineering brand.

If you end up working in an engineering team that wants to accelerate hiring, at some point you’ll hear the dreaded statement, “We need to grow our eng brand.” The method to accomplish that aim isn’t always clear, but the goal: what can we do so that candidates enter our process thinking highly of our engineering efforts?

After participating in a couple of eng brand kickoffs, a common playbook starts to emerge. Since that playbook often gets recreated across each company, I wanted to take some time to document it, highlight several strong examples, and address a few of the frequent sticking points lurking beneath the surface.

Brand vs experience

Most engineering brand efforts begin as an effort to improving hiring throughput, and although I’ll continue referring to this work as eng brand for simplicity’s sake, I want to propose that it’s more fruitful to look at it as the engineering experience of your existing team rather than an external public relations effort.

For example, the first step of an eng brand effort is getting folks to create written or video content that you can share out. You can look at the goal as attracting external folks to apply to your company or you can instead look at it as creating an opportunity for your team to get experience writing, speaking and building their individual and collective reputations. In the short-term the output of both approaches will look similar, but I think the latter approach of investing into – rather than extracting from – the team is an important mindset shift that builds momentum over time.

By focusing on the engineering experience of the existing team, you’ll still get the content you need to underpin the engineering brand efforts, but you’ll also open up an avenue for folks to define and traverse their career by investing into themselves while avoiding the spectre of zero-sum internal competition for roles or projects.

Who owns eng brand?

Before discussing the playbook itself, I think it’s important to ask the question, “Who is going to do all this work?” My experience is that these efforts succeed or fail based on having a consistent owner who has enough time to work on it, and consequently believe that establishing a clear, resourced owner is the one essential precondition to getting started.

Different organizations staff these efforts differently. At Uber, the efforts were initially run out of the technical writing organization. At Stripe, they were run out of developer relations. Other companies I’ve been involved with have selected an engineering manager run the efforts. All these approaches work can work.

When you’re first kicking off these efforts, you can get pretty far with two to four hours a week of coordination, but at some point the quality and quantity expectations ramp up to the point that these efforts become a half-time job for at least one person. As usual, the impact will mirror the investment.

Playbook

The playbook here is fairly straightforward. Create content, experiment with distribution channels, and find someone to coordinate all of it.

Content

The most frequent kinds of content are blog posts, conference talks, speaking on podcasts, and open-source projects. Stripe’s gone as far as launching Increment and Stripe Press, which is somewhat extreme relative to typical efforts, but demonstrates just how far you can push the boundaries once you reach a certain scale. You’ll also see companies host conferences, host small community discussion dinners, and so on. There is a lot of room for creativity.

Often times companies focus on content they control exclusively, which causes them to miss out on good content. For example, you might not run Increment, but your team can still write for Increment, and you can still share what they wrote in your feed. Similarly, you’ll see folks not boost conference talks because it wasn’t a conference they hosted. Finding treatments to share this sort of auxiliary content without drowning out your core content is a great way to surface fresher content without increasing your investment in content creation.

For each approach, it’s important to think about both the cost to create and the cost to maintain. Open-source has particularly high ongoing overhead, which is why I generally recommend against pursuing open-source for eng brand purposes. If you do insist on pursuing eng brand via open-source, focus on fewer, larger projects. I’ve never seen companies benefit from releasing numerous small utilities, whereas I’ve seen several regret it. Nor do I believe that users of small, company-created open-source utilities benefit much, as they’re often unmainted as soon as their technology strategy evolves again.


The content idea I’m most excited to experiment with – which isn’t an original idea of mine, but rather something we discussed a few times within Stripe – is letting folks host content on their own personal blogs and turn the company blog into a materialized view of that content, linking out rather than hosting. This would make the posts more valuable to the individuals writing them, and make it easier to include more kinds of content like videos of the team’s public speaking.

Distribution

One advantage of speaking at a conference or writing for an existing publication, is that you get to ride on existing distribution rails. This helps a bit, but only a bit, and my experience is that you really have to own both your direct and social distribution.

Many folks jump directly to social, but I find that direct distribution is the most impactful place to start. When you have a candidate coming onsite, update your recruiting templates to include sharing recent content with them. When you do some cold sourcing, include recent content there as well. When you’re closing a candidate and want them to put themselves in the shoes of working at your company, again, send them the content! Distribution is getting the right content to the right people, not just maximizing reach.

But, you do also want to grow your reach, which is where social media comes in. Twitter works well, but companies have varied success with Facebook, LinkedIn, YouTube, Twitch and even Instagram. The secret is to work with the various mediums as they want to be used, rather than pretending Instagram is Twitter with weird, transient videos hacked on top. The default approach is to tweet new pieces of content out and then rebroadcast a similar message across other channels, which works well enough. But, I’d argue that most eng brand efforts fail to appropriately embrace these mediums! Why tweet when you can do a full tweet storm on the content? Why post a picture of your article to Instagram when you could have the author record a short video describing it?

Distribution is the easiest portion of the process to measure, but I’d caution against overfitting on them early on. Social is easy with an existing network and hard when you’re bootstrapping. Presentation drives engagement at least as much as content. Putting it all together, and the raw signals you get from social analytics can steer you into dark corners.


As a thought, I haven’t seen eng brand efforts jump onto the newsletter bandwagon yet, building an effort using Substack or similar. I’m not quite sure what this would look like, and it might be a pain to maintain in the long run, but it could be a fun area for exploration.

Coordination

This step is often overlooked, but coordinating a content calendar and managing the process to ensure content shows up to populate that content calendar is critical to making the overall effort effective. To get quality content at the right time, you need someone to deliberately manage the energy of the overall program, as well as the energy of the contributors and reviewers.

My experience is that the skills and approach to this are quite learnable, it just requires some judgement, a desire to learn, and enough time to iterate. If you’re the sort of person who reaches out to a few folks to ask questions before leaping to reinvent the wheel, you’ll be super successful coordinating these efforts. Just don’t try to move forward without someone doing this!

Metrics

Ok, so you’ve gotten the playbook running and now you have to ask yourself, is this actually working? Or even harder, is this the most effective use of your time? None of the metrics I’ve tried penetrate this veil of uncertainty as well as I’d like, but some worth considering are:

  • Number of distinct engineers (or teams) contributing content. To avoid your engineering brand efforts overfitting on the same folks, teams or topics, track the number of different engineers and teams who are contributing. A healthy effort will have more distinct contributors over time.
  • Number of healthy distribution channels. You want to have meet some minimum engagement across each channel you engage with. Perhaps you want folks on the team to give at least one podcast, one conference presentation and one blog post per half. Different potential candidates engage with different channels, so you’ll get the widest distribution by engaging at least a little with all of them.
  • Percentage of applicants who apply due to eng brand content. For candidates applying, give them a chance to indicate how they’ve learned about and decided to engage with your company. Options should include your various engineering brand efforts.
  • Percentage of inbound candidates. Candidates are either referrals (recommended by someone at your company), sourced (you proactively reach out to them or inbound (they reach out to you). A strong engineering brand should increase the percentage of inbound candidates.

You’ll notice that the most important hiring metric – close rate, aka the percentage of candidates receiving offers who accept them – is missing. This isn’t because I don’t think it’s important, but rather because I believe there are simply too many confounding factors for it to be useful.

Friction points

Two areas that I’ve seen a number of engineering brand efforts get stuck aligning on are their quality bar and having a diverse cohort of content creators.

Quality bar

Establishing a clear quality bar is difficult for a few reasons. The most important is that often folks define quality as “something that so-and-so would approve”, which is the sort of probabilistic gatekeeping that deters repeat authors. Quality of this content is important – it’s going to be the first introduction to your company for many reasons – but it’s important to find an approach to quality that avoid frustrating surprises.

Canonical, best-in-class content is written by a small number of engaged collaborators, followed by deep review from subject-matter experts, and multiple iterations. On the other hand, more casual pieces lose a bit of their voice, and their authors a bit of their soul, with each time they’re edited. How you handle this dichotomy depends on your strategy: is volume or quality more important to you? Are you willing to shelve content that doesn’t meet your bar? Do you want to publish both?

What I’ve found works best is to be very clear about your approval process, have a small number of redundant approvers – any of whom can approve something to go out rather than all of them approving – ensure that folks always get early feedback on their work, and design multiple treatments to support pieces across a wide range of quality. For example, have a more casual section for rough pieces, and highlight your best pieces with top placement, hero images, more social promotion and so on. This allows you to get away from the most stressful conversation – will my piece get thrown away? – and to have the much less existential discussion about how it will get presented. You can always make it more prominent later, but you generally once an idea is kiboshed, the author won’t be excited to work on publishing it later.

Diverse cohort of content creators

On the second point, most folks leading these efforts – correctly – believe their content and the presentation of that content will frame how potential candidates view the company’s investment into inclusion. This is true, you will be judged on your eng brand content. Readers will judge you for a lack of diversity in authors, and they’ll also judge you if you make an inauthentic emphasis on the same few folks authoring most content.

My advice is that you should strive to accurately represent your team as it currently exists. This means ensuring that many different folks are contributing – and are recognized for their contribution in performance reviews and such – but not succumbing to the pattern of leaning disproportionately on folks who aren’t over-represented within your organization. That pattern creates an unequal distribution of load, and folks are savvy enough that they see through it anyway.

Ensuring everyone has the opportunity to contribute is a valuable inclusion effort to undertake, and that’s where you should focus your approach.

Examples

We can talk abstractly about the playbook, but it’s probably more interesting to look at a handful of companies which are already executing this playbook today. Some of the most interesting ones are (for even more examples, check out this github project and this quora answer):

  • Airbnb has their Airbnb Engineering & Data Science blog, along with their lightly active twitter account, @AirbnbEng. They focus on their open source efforts, best practices, and their learnings as they scale. Uniquely, they focus on recent posts across a number of tags: open source, people, artificial intelligence and machine learning, data, web, mobile, infrastructure, and fintech. I personally find those splits to be a bit confusing at first, but they do a good job of surfacing a wide variety of content.
  • Etsy has the Code as Craft engineering blog, which was one of the first company engineering blogs I ever learned about, and has a number of seminal pieces in their archive going back to 2010.
  • Netflix has established a reputation as an elite engineering organization in part through it’s Netflix Tech Blog. I was chatting with an ex-Netflixer recently, and they mentioned that part of their trust and autonomy culture was allowing anyone in engineering to post content onto their engineering blog! I’m not sure if that’s still the case today, but it’s a pretty amazing statement given how tightly curated many of these other efforts are in what is or isn’t allowed to publish.
  • StitchFix has their blog, MultiThreaded: Technology at StitchFix, whose landing page focuses heavily on their hiring efforts and teams – like this awesome tour of how algorithms are critical at StitchFix – along with a list of their recent blog posts. They do include a link to their Github, but don’t link to their engineering Twitter accounts (@stitchfix_algo seems active, @StitchFixEng less so). I think StitchFix is one of the strongest case studies of a company that has established a strong engineering brand despite doing a great job of hiding their complexity from their users.
  • Uber kicked off it’s eng brand efforts in late 2014 when I was still there, and have since published ~400 posts on the Uber Engineering blog, sharing them on Twitter, Facebook, LinkedIn, YouTube and even occasionally on Instagram. They started with an emphasis on Uber having world-class problems that would appeal to senior engineers, and evolved increasingly to focus on open source and research.
  • Some others of interest are BlackRock, Lyft, Pinterest and Stripe.

It’s also interesting to recognize all the company engineering blogs that no longer exist. When Digg shut down, years of blog content disappeared overnight from most search engines, and there are dozens of other company blogs lost to the void.

To Medium or not to Medium

As you start looking at more and more engineering brand implementations, you’ll see a split between folks hosting on Medium, folks running a custom static site or simple app, and folks who run full CMS supported by a technical writing or content team.

The default that most companies take is to use Medium, which I think was obviously the right decision until very recently given Medium’s extraordinary ability to drive traffic to trending posts. I say until recently because Medium is continuing to increase reader friction to drive logins and signups, which isn’t the ideal experience for folks coming to read your engineering blog.

There are Medium-alikes, perhaps dev.to, but ultimately I believe that the sweet spot for eng brand blogs is maintaining the flexibility to experiment with format without introducing the complexity of managing servers, which is why I recommend using static site generation along the lines of Julia Evan’s approach. (That static sites don’t support comments is absolutely a feature for the eng brand use case, move that discussion to Twitter.)

Should you invest in eng brand?

When I think about investing into engineering brand, one comparison point that comes to mind is the recent research into mitigating peanut allergies. Done bit by bit over a long time horizon, it builds into something important and meaningful. Rushed forward with a “big bang”-style implementation, the results are not good.

Every engineering organization should be making small, accretive investments into their engineering brand, the sort that improve each year, but these are a long-term effort and should never be your top priority.


Some rough notes on running learning circles.

I’m experimenting with putting together a couple of learning circles, and someone who wants to run a similar program within their company reached out for advice on structuring groups for success. I’ve organized a couple and participated in a couple others, but honestly I don’t think I have a great handle on best practices here, but I’ll jot down what I’ve learned nonetheless as a reusable, referenceable artifact.

  1. Groups require maintenance and attention to succeed, this means having an explicit, engaged coordinator who feels responsible for the groups success (as well as making the call whether to disband a group if engagement wanes)
  2. Establish a code of conduct and participation, especially if the group is not operating within an existing community (e.g. you work for the same company). This is for both things like Chatham House Rule for not sharing private examples, but more importantly general conduct to ensure folks feel respected, safe and comfortable
  3. Same as a paper reading group, most learning circles are going to fade out over time. You’ll have met some interesting people, learned from each other, and it may be going really well, but folks’ schedules and priorities usually change too much over a year to maintain a permanent group. Design for this! For example, you could reseed groups every year with new members
  4. Participants who don’t “share the mic” kill groups faster than anything else, and the only solution I’ve found is having a moderator who understands their success is defined by getting as many people involved as possible, not by inserting themselves
  5. I recommend asking folks to bring a problem with them for discussion topics. This will ensure discussion is relevant and useful for participants. Alternatively you can share a topic for folks to discuss before, although I’ve personally found that themes lead to slightly more generic discussion
  6. You want about four to six people to show up to have a good conversation. If you have more people, it’s hard to have a good discussion (I’d recommend splitting into two groups), if you have fewer it can get stale
  7. You want continuity of folks showing up to build some trust and rapport
  8. Folks will never do their homework. If you give them a reading or project to do, they won’t do it. If you want people to be prepared, you can try to do it at the beginning, but some folks will always run late, so honestly I think you have to work within the constraints of a discussion group rather than a study group. As an alternative, you can totally have one person read something and share a summary, as opposed to the full group. Also, absolutely no judgement for folks who don’t do their homework, people are living busy lives out there

Anyway, I’m sure I’ll learn a bunch more as I do more of these.


Joining Calm.

Today is a particularly exciting day because I can finally stop telling folks that I’m joining a new role, and instead say that I’ve started a new role, and in particular that I’ve joined Calm to serve as their CTO. I’ve written a few words here, will update my Twitter and LinkedIn profiles, and then it’s time to get to work on my first ninety days.

Deciding to embark on a new endeavor is never easy, so I wouldn’t say that deciding to join Calm was easy! It took a good deal of reflection on both Calm and my priorities. However, I can say that the decision became easy as I came to understand the mission and spent time with Michael and Alex, the leadership team, and especially folks on the engineering team. I learned a lot through the process, and foremost I learned that this was the company and team I wanted to be part of, learn from, and grow with.

I also enjoy a good coincidence, and had fun reading Kaya Thomas’ The path to management published alongside my own Do engineering managers need to be technical? in Increment’s Teams issue, and then a day later getting to chat with Kaya directly about her work at Calm.

I’ve previously alluded to this role change a few times, starting with my 2019 in Review post where I wrote a bit about what I appreciated the most about my genuinely transformational time at Stripe. Stripe is a company of writers and consequently there is a rich history of post-Stripe exposition such as Mark McGranaghan’s post and Brianna Wolfson’s tweet storm. It’s not necessarily impossible that I’ll extend the remarks in 2019 in Review at some point with more learnings from Stripe, but I think it takes years for personal experiences to mull into a good story, so don’t stay up late waiting. (And I already wrote much of what I learned as it happened.)

If history is an accurate predictor of the future, then starting a new role and the rapid learning that it brings will lead me to write more rather than less this year, but less over the next few months (and I have a goal to write a bit less this year than last year, so there are some confounding factors in play here). For the time being, I have some pieces written and scheduled to publish the first Tuesday of each month through August, so hopefully you, dear reader, won’t get too bored in the meantime.

That said, if you do get bored, Calm is indeed hiring.


That's all for now! Hope to hear your thoughts on Twitter at @lethain!


This email was sent to *|HTML:EMAIL|*
why did I get this?    unsubscribe from this list    update subscription preferences
*|LIST:ADDRESSLINE|*

*|REWARDS|*
Don't miss what's next. Subscribe to Irrational Exuberance:
https://lethain...
https://www.lin...
Bluesky
Twitter