Update I used the techniques described below to get CourseMaker to the top of r/programming for half a day, which resulted in quite a few new sign-ups.
Michael Lynch is an ex-Google engineer who is known for creating TinyPilot. He's had 18 posts hit the frontpage of Hacker News in the past 3 years (11 in 2020).
In short, he has experience and credibility which have led him to create a course called: Hit the Front Page of Hacker News.
Make no mistake though, this course goes beyond Hacker News, and is one of the best content marketing guides for software engineers I've come across.
This post is a summary of the course's key ideas.
Hacker News gets 4 million pageviews per day and accepts submissions from anyone, with relatively relaxed posting rules. This is unusual. The Hacker News audience also tends to be tech savvy, which has pros/cons Michael discusses. Hacker News is owned by YCombinator (a prestigious startup accelerator), which means the audience also includes people interested in entrepreneurship.
Hacker News is also heavily crawled by other, larger news sites. A post which does well on Hacker News can have a chain effect where other sites/blogs pick up the story.
Michael suggests that the following types of people should take his course:
- Tech bloggers
- Startup founders/employees
- Hacker News enthusiasts
I would add to this:
- Technical course creators. This can have a huge impact on helping people to find your course.
Hacker News has a distinctive culture and etiquette. Fundamentally HN is a discussion board, with a famously minimialist design.
HN is moderated much more carefully than many other sites of similar size. One of the top moderators is Daniel Gackle (username: dang), who is an employee of Y Combinator.
Being snarky can play well in places like reddit:
But snark is far less welcome on HN (moderators removed Michael's comment shortly after it was posted):
HN's vibe is more like "serious adults who want to have a serious discussion"
Comments can be critical on HN, but tend not to be outright mean or cynical. Trolling is relatively rare.
"ABC is confusing"
will draw the ire of moderators as opposed to
"I found ABC confusing"
It is wise to respect HN - you don't want to get your username/domain banned. The guidelines are very succinct. Worth noting rules like this:
If you submit a video or pdf, please warn us by appending [video] or [pdf] to the title.
Or for special Show HN posts
Blog posts, sign-up pages, newsletters, lists, and other reading material [must be regular submissions]
Attempts to game the system (e.g. asking for comments/upvotes) are a bad idea.
You want to submit posts in moderation (Michael submits about 10 posts per year), and you want to be a good community member too - Michael comments ~4X more than he submits
One of the challenges with HN is that you either do really well (hit the front page) or completely flop. There is not much middle ground, and this makes it quite hard to learn.
- The voting algorithm is quite similar to reddit, in that it is about upvote velocity. That is to say, a post that gets a lot of upvotes quickly is much more likely to reach the frontpage than another.
- If you have been caught cheating in the past, this will lower your chances of reaching the frontpage.
- HN karma does not matter
It's worth knowing some of the conventions. Formatting options are limited on HN, so people do links via footnotes:
- If you click on a website URL on HN you can view all the previous submissions from that website
- Algolia has a powerful search integration with HN
In order of importance
- Quality: HN values depth and articles based on practical experience
- Title: Strong aversion to "clickbaity" titles
It's important that you understand what sort of topics the HN audience is interested in. The guidelines are deliberately vague on this, but some good bets include:
- Cool SaaS products -> Tara Jira alternative example
- How I built this -> Bootstrapping to ramen profitability example
- Firsthand accounts of working on a startup or side business -> failing at an indie game dev example
- Interesting data analysis on publically available data -> Uber taxi data example
- Results of independent experiments -> single salary experiment example
- A beginner's introduction to [not too popular but not too niche technology] -> RabbitMQ example
- Best practices for [popular technology] -> Dockerfile security example
- Rants about well-known tech companies/products/practices/technologies -> Macbook Pro keyboard example
- Rediscovering vintage technology -> rebuilding myspace example
- Anything novel that involves a Rasberry Pi
- [Insert well-known tech company] did something shady or unprofessional -> Google deleting android app example
- Eclectic topics like bees or historical events
- Pure tutorials - since they don't lead to much discussion
- Videos (usually)
- Mainstream non-tech news (anything you'd find on the frontpage of CNN)
- Controversial social issues
- Impersonal, corporate-speak blog posts
- What's interesting that I learned from a recent project?
- What's a recent experience that would make an interesting story?
- What's an idea that I'm passionate about?
Michael suggests ranking ideas by:
- How excited you are about them
- Whether you have something unique to contribute
- Whether there is a critical mass of people interested in the topic (and can you reach them)
Furthermore, in any article, you want to provide sufficient context so that readers not familiar with a particular technology/concept/company can still understand your content.
A common misconception is that you have to be an expert in a field to post about it - this is not the case! See the curse of knowledge. Just be clear about what you know/your experience.
Don't let existing articles discourage you.
If your only bet is Hacker News, you will be frequently disappointed. You should plan your distribution before you write. That is to say, investigate all the places where you could share your article.
Alternative options include:
- Reddit (note that you'll need to read the submission guidelines for each subreddit carefully)
- Google Search (the catch all plan B, by capturing certain keywords)
- Conferences (if you've done the work to create a decent blog post, you've probably done a lot of the work to prepare a conference talk)
- Related sites (requires a thoughtful approach to convince the site owner to link - how does it benefit them?)
- Niche forums
- Indie Hackers
- Facebook Groups
This section is a brilliant 40min crash course in how to do SEO - highly recommended.
Michael spends a lot of time writing his articles (~15-30 hours for a 2000 word post), and argues that quality really matters. Being in the number one spot brings disproportionate rewards.
- Treat your posts like a story
- Include emotions
- ...But make sure these are all mixed with substance
- Tell it in your voice
- Avoid formalizing your writing (the passive voice sucks)
- have a hook (technique that helps the reader, idea that intrigues them, an engaging story, a useful product/service)
- Use headings to outline the content
- Avoid the "wall of text" (put in diagrams, illustrations, photos)
- Edit rigorously read your posts out loud
- Hire a freelance editor to get feedback
- Avoid jargon
- Fix the grammar
Example cartoon from Michael's meta post on how he hired a cartoonist for his blog.
Resources to help you improve:
- The Bedford Handbook by Diana Hacker
- The Elements of Style by Strunk and White
- Writing In the Sciences with Kristin Sainani
A common question is "when is the best time to post".
Michael reckons there is not a best time to post. However, the difficulty of getting on the front page correlates with traffic volume.
- It's easier to hit the front page at low-traffic times
- Higher traffic occurs on week days
- Higher traffic occurs during the US daytime
Michael recommends controlling your timing by posting your work on HN shortly after it is published on your site. This way you avoid the scenario where someone else posts it without you planning for it. You should make sure you publish at a time when you will be able to engage with the comments if you do make the front page.
Avoid big release days (Google I/0, Amazon re:Invent, Apple WWDC)
Make sure your site has a powerful enough server to handle high traffic volumes from HN
- Show HN (recommended if you qualify)
After submitting, it's wise to write a "seed" comment.
Don't ask for upvotes, this is forbidden.
Take a screenshot and share on social media to stimulate discussion (again, not to beg for upvotes)
Engage with the comments - keep it professional
Decide how you feel about your post before you share it anywhere. Be proud of your work whether it makes the front page/gets a lot of upvote or not.
If at first you don't succeed, checkout hnrankings.info
You are allowed to resubmit a post after 2-3 days (but you're not allowed to delete your old submission). Experiment with new titles.
It is possible that your post is flagged. In this scenario, make sure you haven't broken any rules.
Other possible outcomes include:
- Being invited to submit to the second chance pool (this is rare, but great because you are guaranteed a spot on the front page). For this reason it's worth keeping an email in your HN bio so mods can contact you.
- Success but barely (medium number of upvotes, but post doesn't make it to the front page). In this scenario you can wait a few months then ask the mods if you can resubmit.
Michael details his process for writing and publishing. He makes it clear that his process isn't the process. Instead you should find an approach that works for you. Points that really stood out:
- Use tools that don't get in your way. For example Michael uses the Hugo static site generator which allows him to view his changes in his local dev environment very fast
- Make time for writing before other things. If you check social media/news/email then those things will stick in your mind and make it harder to write.
- In your first draft, don't worry about formatting, images and getting things perfect. You can come back and fix all those things after you've got the initial version out. It's normal not to enjoy writing, it's a hard thing that most people can only do for short bursts (even great authors)
- Michael spends 60% of his time editing. Especially cutting unnecessary words.
- Reading aloud is a good technique to catch crap writing.
- Publish to Hacker News, reddit, twitter, email list.
- Respond to comments