That's the question I ask myself when writing an essay or peer-reviewing a blog post for someone else. If the answer is "No," I give feedback. I won't stop asking this question until I answer "Yes."
Y Combinator's Hackernews (HN) is a great distribution platform where top technologists share articles and essays and comment on any submitted topic. Need help dealing with customer support at Stripe? Post it there. If you have enough upvotes, it will reach the front page, and Patrick McKenzie (patio11) will likely answer and sort it out for you. Do you want to stay updated about tech, Artificial Intelligence (AI), layoffs, etc.? Just go to Hackernews. That's what makes it so valuable when growing an audience or looking to share engineering blog posts.
FAANG and the others™
We often talk about excellent blog posts we see from FAANG-alike companies. While some dive into issues that only happen at FAANG-scale, many businesses with interesting problems or with a non-trivial scale require outstanding engineering to solve them.
It happened to me a few times when people posted a blog post from famous-company-du-jour saying:
This was precisely what happened to us six months ago. We should have written a blog post.
Too bad. You weren't the one writing it, so in the community's eyes, it doesn't exist. I use these situations to ask why these folks didn't write that blog post. Most of the time, the answer comes in the form of "we don't have time for that." Then, I call it bullshit. It's hard to go out of your comfort zone and write. It's even harder to do it when English is not your mother tongue and when you need to develop your writing skills. These excuses are insufficient if your team or organization wants to step up its game. There are three main advantages of putting the word out there:
- Taking pride in what your engineering team does. Most likely, you're not sending rockets to mars. You know what? Many companies aren't either, but they're good at storytelling. I wrote about it in one of my last blog posts.
- Give engineers recognition for their great work. It's a way to keep them engaged with your organization and deliver great stuff. Creating purpose — through intrinsic motivators — is critical for this. Daniel Pink talks about it in his book "Drive: The surprising truth about what matters to us."
- Improve employer-branding awareness. That is more of a long-game type of thing. As Gergely Orosz mentions, it takes at least 6-24 months to start seeing results. Often, much more. However, when it works, it's an invaluable resource to impress candidates with what you built in your hiring pipeline.
What can an engineering manager do about it?
Engineering Managers have the power to change the company's culture. If someone says they have "no time" to do a write-up, it's not very different from people saying they have "no time" to write tests. So, first things first: your responsibility as an Engineering Manager is to create the right environment for people to put something out there.
What worked for me so far was:
- Leading by example. I'm active on social media, sharing my views on management, DevOps, Cloud, and technology. In Adevinta, I write a weekly letter to my team called "Bricks of Love," too. I m
- Giving work-time. If you don't clarify that people can do these things during work and follow up on them, your teams won't get anything out the door.
- Setting deadlines and leveraging personal goals. As Parkinson's Law says: "work expands to fill the time available for its completion." It's everywhere, and people are (too?) comfortable with it. Leveraging yearly goals from people and pushing them through — acceptable, agreed — deadlines works best.
- Offer peer-reviews. You can be a peer reviewer of your team's posts to help them become more confident. I also like to suggest different reviewers within the organization. On the one hand, it gives a diverse point-of-view to the writer. On the other, it generates serendipity and agency for these reviewers, making them more known across the company. Your team may need to learn about a Staff+ engineer that knows a lot about distributed systems. It's the ideal moment to connect with them.
- Help with distribution channels. The person writing an article may need to familiarize themselves with the communities and key places to share their article once published. At the same time, it's more powerful when someone, not the author, shares it. So you can re-tweet it and share it in your social networks, Discord, and Slack groups. I'm sure your team members will thank you for that.
- Help with storytelling. Most of the great blog posts I've read are not telling anything novel. But they talk about it from an insider perspective and create relatedness with their topic. Maybe your team thinks they're sweeping the floor. Your job is to make them aware they're sending rockets to the moon. I like the Pixar framework to tell a story:
You can read more about the Pixar framework and how to tell a story in this guide to writing and distributing "Hackernews front page" content.
Writing and distributing Hackernews material
Getting into Hackernews' front page takes work. However, the original "Is this Hackernews material" is about setting the bar high for your content rather than HN's front page outcome. The steps I usually go through are:
- Pick a topic you learned from experience in the last 6-12 months. Your audience will prefer a first-hand, recent experience rather than a theoretical exercise. This technique helps deal with procrastination when publishing. It's easier to repackage an incident review or an internal presentation into a public blog post rather than create something from scratch.
- Create a story. How does your story connect to the users of your company (e.g., buyers, sellers, riders, apartment renters)? Leverage that and start with WHY. Once you get hooked on the audience on why something is a problem, the write-up of the solution becomes way better. You must sell your content!
- Pick at least two peer reviewers. Our mental model of the World is always limited. Selecting peers to suggest changes or additions or to focus on the main thread is helpful. I recommend selecting peers with different skills. For instance, a domain expert in the topic you're writing and someone that is less familiar but has excellent writing skills.
- Do editorial work. Get someone to do an editorial review of your work. It can be yourself or someone from the communications department in your company. Cut all the unnecessary parts. Then, cut again. You may re-write some sentences or an entire paragraph. I recommend using Grammarly, the Hemingway app, or LanguageTool as a writer assistant to make your job easier. Some experienced bloggers, such as Gergely Orosz, hire a full-time editor to help them review the books and posts.
- Get a catchy title. Think about how you react to how different authors create titles for their articles. Playing with words usually has a nice effect. I called "Avoiding the SCHIP sinking," one of my latest internal memos about the product we maintain (SCHIP), and played with the word "ship," using the verb sink as a metaphor for how to avoid the team to fail. There are other commonly used patterns, such as the "X considered harmful", after Dijkstra's famous paper.
- Distribute it wisely. As a software engineer's job doesn't end when merging to main or deploying to production, your job as an author doesn't end when the article is published on the Internet. If you want recognition — for yourself or your team — you need to distribute it to a broader audience. How do you find the right audience? It depends on the content. It may be one of the Software architecture channels in your organization's Slack, a local community such as "Barcelona Engineering," or niche ones such as "CNCF" Slack. As for social networks, it's helpful to use Twitter and LinkedIn to talk about it or re-share your company's account in case you publish in the corporate blog. Finally, you can submit it to Hackernews.
Feel free to check out a more detailed, short and free guide to writing and distributing "Hackernews front page" content. If you're leading a team, use it as a source to inspire it. If you're a software engineer, it can be a good starting point so you get better at writing and recognition for your work.
It's not all about carrots and sticks
Getting to HN's front page brings you a dopamine shot. You may feel good — or even important — for a while. I don't recommend focusing on that outcome, as it depends on external factors that no one controls. Sometimes, posts get to the front page after someone discovers them two years later. Or because what they wrote about is more relevant now than before. Occasionally, if someone submits high-quality content submits yours, it may boost visibility too. The reality is: if you're not Paul Graham, it's highly probable your HN post won't hit the front page. That's fine.
Producing and publishing content for personal, altruistic, or employer-branding reasons is an infinite game. The more you do it, the easier it gets, and the more you'll increase your "luck surface area," increasing the odds of getting visibility for you, your teammates, or your company.
You and your teams should focus on raising the bar by asking if your content is Hackernews material. If it is, in your and the peer reviewers' eyes, then share it. Be proud of shipping and distributing content out there!
PS: If you enjoyed this post, consider buying me a coffee or giving me feedback.
— João