If you’re not very deep into the cultural landscape of software developers (or sysadmins, DevOps engineers, SREs, or anyone else who works with code for that matter…) you probably haven’t realized that the community has developed their own coded style for article and conference talk titles.
To be honest, this feels like an odd topic for a blog post. You don’t see a lot of interest in the quirky writing and title-picking tendencies of the coder world, but after following this industry for 11 years, I feel like a few newer entrants to the tech field could benefit from knowing how to entice interest from the rest of the community.
You can find a bunch of great generalized resources on how to write a good blog title — and I encourage you to read those — but there’s almost zero good advice out there right now on writing a great title for our niche audience.
That brings us to the question: who am I writing this for?
Maybe it’s people who are just starting out in the coding world and want to spark a little more interest in their blogs or talk submissions.
Maybe you work in developer relations, advocacy, or content marketing and want to create things that appeal to this demographic.
Or maybe you’re a veteran coder who will find this list entertaining — nodding along and enjoying the cleverness of our in-group (or perhaps you can tell me why people say “learn you a Haskell for great good” — I still don’t get it).
Maybe this will help you clickbait your way to the front page of HackerNews or have the most attended talk of that conference you’re submitting an abstract for.
Whatever your reasons for checking this out, I now present my definitive list of catchy title ideas for the world of programming. I’ll be using variables X and Y to denote a blank space in a title where any topic or adjective can go.
These titles ask the question: “Why would I want to do or use this thing?” It just takes that question and makes it a lot more terse.
- Learn Python the Hard Way
- Kubernetes the Hard Way
- Learn Rust the Dangerous Way
- Finding bugs in SQLite, the easy way
Learn Python the Hard Way was the book that got “the hard way” title trending. Why would you want to learn something the hard way? Well, the rationale is that it sticks in your memory better when you learn things without a lot of shortcuts and abstractions.
This title is more gutsy, but it works because even though people realize that there’s no one “right” way to do everything, they want a solid, well-tested pattern so they don’t have to figure out their own.
- Java Programming: A Practical Guide
- Optionals In Swift: The Ultimate Guide
- Centering in CSS: A Complete Guide
- How to Deploy Mongo on AWS using Docker: the definitive guide for first-timers
- The Essential Guide to Building Balanced Development Teams
- The No-Nonsense Guide to JVM 14 Memory on Kubernetes
- Absolute Beginner's Guide to Programming
- Kubernetes for the Busy Developer
You can get really creative with this one. I like the titles that mention a target audience, such as: The (Beginner’s, Absolute Beginner’s, Freelancer’s, Busy Developer’s, Hacker’s, etc.) Guide.
- Go To Statement Considered Harmful
- Docker Considered Harmful
- Software Patents Considered Harmful
- “Considered Harmful” Essays Considered Harmful
In programming, this title template started in 1968 with Edsger Dijkstra's letter: "Go To Statement Considered Harmful". Now it’s mainly used in alarmist essays or mildly alarmed essays that just want a clickbait title — but hey, that’s what you’re here for isn’t it :)
- DevOps Explained
- Angular 2 change detection explained
- RAFT Explained – Part 1/3: Introduction to the Consensus Problem
- Open Source Software: Demystified
- Kubernetes Networking Demystified: A Brief Guide
- Demystifying Service Mesh
Thought about getting “Technology Demystifier” on my last set of business cards.
- Distributed Tracing & Logging - Better Together
- Vault & Kubernetes: Better Together
- Ansible and HashiCorp: Better Together
- A Bunch Of Great Strategies For Using Memcached And MySQL Better Together
This is sometimes (but not always) used to propose that two potentially competitive tools or ideas be used together rather than a one-or-the-other scenario. Think of all the initial enemies that work so well together, together like Goku and Vegeta, Rey and Kylo Ren, or pineapple and pizza! (Just kidding about that last one. I’m not a monster.)
- The Next.js Handbook
- The Python Data Science Handbook
- SQL Pocket Guide: A Guide to SQL Usage
- Bootstrap Pocket Guide
I miss the more comprehensive guides and the olden days of pocket-sized sysadmin reference guides. I say bring back more “handbooks” and “pocket guides”! Sure software books are out of date in 6 months these days, but instead we can make frequently updated web guides that look great on our phones can’t we?
This one was actually a running series of books as well as a potential talk or blog title. It indicates coverage of a topic that hasn’t been documented as comprehensively or clearly as the author would like.
- A Gentle Introduction to Deep Learning for Graphs
- A Gentle Introduction to Programming Using Python
- A Gentle Introduction To Rust
The alternative to “The Hard Way”.
- One Does Not Simply Put Machine Learning Into Production
- Keep it Safe... Keep it Secret
- Automate All the Things!
- Call Me Maybe: MongoDB Stale Reads
- Buttons that Spark Joy
- Winter is Coming For Java Updates
Clever, humorous, culturally relevant titles always get my attention. Keep your references fresh, my friends.
- The Hitchhiker’s Guide to Terraform Your Infrastructure
- Hitchhikers guide to Haskell
This might be the most popular of the pop-culture reference titles.
- Look What You MIDI Me Do!
- Can’t Contain your Excitement about Containerization?
- At Your Microservice
The world needs more of these.
- Everything You Need to Know About OAuth (2.0)
- Everything you need to know about cryptography in 1 hour
- Everything you need (and don't need) to know about PHP's type system
- 97 Things Every Cloud Engineer Should Know
It’s a little arrogant to say you know what we need to know, but I guess it’s meant to mean something like ‘the basics that matter when you’re starting out with a new topic.’ Or maybe it will also include some pitfalls not easily found in the documentation.
- Java in a Nutshell: A Desktop Quick Reference
- I2C in a Nutshell
- Kubernetes and Virtual Kubelet in a nutshell
- Amazon Web Services (AWS) in Plain English
- Functors, Applicatives, and Monads in Plain English
- Software Licenses in Plain English
Because sometimes these complex topics feel like they’re described in a foreign language. Of course, if you don’t speak English that well, this type of article might not interest you. Maybe you need something like “X in Plain French”.
- Explain like I’m 5: DNS
- Explain functional programming to me like I'm five
- Explain it to me like I am a 5-year-old: What are Docker, Image, and Containers
Because sometimes plain English isn’t enough. Sometimes things need to be explained in the simplest terms possible.
Isn’t it great to know how long something will take ahead of time? Although if it’s anything like the estimated cooking times I see on recipes, it’ll probably take me twice as long.
- F# for Fun and Profit
- Distributed systems for fun and profit
- Tagging Docker Images for Fun and Profit
Who says you can’t have fun and make a profit?
- CSS Overrides: Friend or Foe?
- Const - Friend or Foe in C++?
- Local Variable Type Inference: Friend or Foe?
Friend or foe… what about a frienemy?
- git log – the Good Parts
- AngularJS: The Bad Parts
If you’re feeling edgy or wanna be controversial.
- PostgreSQL Search: From the Trenches
- Kotlin From The Trenches
- 10 best sysadmin stories from the trenches
- Vault Configuration as Code via Terraform: Stories From the Trenches at Hippo Technologies
Because code is war.
- The Life of a Data Byte
- The Life of a Packet Through Consul Service Mesh
- The Life of a Serverless Microservice on AWS
Because code is life.
- The Art of Writing Scripts for CI/CD
- The Art of the Error Message
- The Art of Assembly Language
- The Art of Interrupting Software Engineers
For those topics that are more of an art than a science.
- Front-End Performance Checklist 2020
- API Security Checklist
- Rust Language Cheat Sheet
- Shell Script Brackets Cheat Sheet
- From C to C++: A quick reference for aging programmers
- Linux Quick Reference Guide
Once you already know something but don’t want to have to remember every detail, that’s when you want a quick reference or checklist. Make one of those for a topic where one is badly needed and you’ll get plenty of views with a simple title like these.
- Learn You a Haskell for Great Good!
- Learn You Some Lisp for Great Good
- Learn You Some Erlang for Great Good!
- Learn You an Elm
I don’t know where this weird phrase comes from, but it’s truly a thing. If you know, tell me in the comments. Does it have something to do with the syntax of functional programming?
Well I hope that wasn’t a total waste of your time. Now, as conference seasons approach and you have some time to work on talk submissions or blog posts, this list can give you some ideas for the title of your content or maybe even inspire the topic you choose to cover.