Discover more from Refactoring
How I Write and Grow Refactoring in 2023 ✏️
A "build in public" special edition!
Hey everyone! This is a bonus edition that I have been preparing for quite some time.
I started writing Refactoring about two years ago. Back then, I knew maybe a couple of people who wrote newsletters. Fast forward today, it feels like newsletters have taken off, and Substack went from being a niche blogging tool to competing head-on against Twitter.
So, today I know tens of writers.
Some of them are well-established, while others are just starting, and often reach out for advice about how to write and grow their newsletters.
So I thought of doing what I usually do when many people ask me about the same thing: write an article about it!
I already covered parts of my process in previous editions, but it was a long time ago. This article will be bigger, better, and up to date.
Here is what we will explore:
📌 Refactoring today — a recap of where we at.
🎯 Why you should write — everyone and their dog seem to be writing online these days. Is it still worth starting? Short answer: yes.
🔍 Choosing what to write about — practical tips to overcome impostor syndrome and analysis paralysis.
📚 How to read online — my process for reading. Because reading/writing is like input/output.
🗒️ Taking notes — my workflow for highlighting and storing the best passages of what I read.
✏️ Writing process — how I write Refactoring these days. All the steps.
📈 How to grow — all the strategies that have worked for me, at any stage.
Let’s dive in!
📌 Refactoring today
As of today, Refactoring has 33K free subscribers, and, drum roll, 1000 paid subscribers! 🥳 We crossed that line last week, and it feels incredible.
I am now truly living off my 1000 true fans. Who would have thought?!
So, I want to make a small digression about luck.
If Refactoring has been successful so far, I can surely take credit for its execution, but I also acknowledge that the whole newsletter space has grown immensely during this time, which has helped a lot. So, today, I also feel grateful for having been in a good place at a good time.
I believe one of the healthiest questions we should routinely ask ourselves is: how have I been lucky? We can all find plenty to be grateful for: our loved ones, our jobs, our friends, and more.
But I digress! Back to writing 👇
🎯 Why you should write
So, should you start writing a newsletter—or a blog, or anything online—today? My answer is a resounding yes. For three main reasons:
💭 Writing is thinking
🍻 Writing is networking
💵 Writing is profitable
Let’s see all three:
Writing is thinking 💭
Since I started writing, my thinking has improved a lot.
You hear all the time that writing helps thinking, but in my opinion, things are a bit different: writing is thinking.
As long as thoughts are stuck in your head, you don't see them clearly and you may not recognize inconsistent connections between ideas.
Writing things down forces you to make them linear, like when you unroll a ball of string. It forces you to draw clear relationships between concepts, in a way that isn't possible if you keep them in your head.
It works like magic.
Writing is networking 🍻
Writing is networking… for introverts.
It makes like-minded people reach out to you, drawn by your writing. One of the internet’s superpowers is how easy it is to connect with people. Writing online makes it 10x more effective.
So if you too, like the rest of us, think you are not investing enough in your professional relationships, then starting a newsletter is one of your best bets.
I wrote more advice about growing your network in a recent article 👇
Writing is profitable 💵
Last but not least, today you can make decent money out of your writing. Especially if you write about a professional domain, you have several options. Here are the main ones:
📣 Sponsorships — you can recommend tools and services to your audience. Many people are conflicted about this, but they shouldn’t be! The main biz model of Refactoring is paid subscriptions, but I also accept sponsorships sometimes: my rule is to recommend only high-quality tools that I would use myself. As long as you keep the quality bar high, people are happy to discover new stuff this way.
💼 Consulting / Work — you can use your writing as proof of expertise. This, combined with the networking part, can open up a lot of work opportunities. From consultancy to regular full-time gigs.
📖 Ebooks — after you have piled up a sizable body of work, you can assemble larger pieces of content and sell them. I have bought several ebooks in the past, and many were from people who had created them over time via newsletter articles.
🔒 Paid newsletter — last but not least, you can turn your newsletter into a paid publication. If you are writing about a professional topic, you can safely expect 3-5% of your audience to convert into paid subscribers. Do the math!
🔍 Choosing what to write about
I know many people who are delaying starting a newsletter because they are busy figuring out what they should write about, what is the perfect niche, and so on.
I know it well, because I was one of them. Here is my advice on this 👇
1) Optimize for your comfort
In hindsight, my advice is simple: write about what you are comfortable with. At least at the beginning, optimize for your own comfort, rather than your hypothetical niche.
The reason for this is that writing is a long game. It compounds over time, but it requires you to show up every week. Talk with any writer and they will likely tell you that consistency is the #1 reason behind their success.
I believe most professionals who start writing face a higher risk of not being able to be consistent, rather than not finding an audience. In fact, almost everyone has something interesting to say. Each of us has a unique experience: as long as we speak with honesty, we will likely say interesting things.
2) Curiosity > Expertise
You don’t have to necessarily focus on what you are the most expert in. In fact, I have found that genuine curiosity / passion trumps pure expertise.
Think about it: over a long period of time, you will always run out of things to say that purely come from your skills. Curiosity is what makes you learn more and continuously generate new things to say.
Some of the most successful newsletters today were started by people who where not experts by any means, and just wanted to learn more about a space.
3) Curation vs original content
I am passionate about original content. I believe most benefits of writing come from shaping original thoughts based on our experience, rather than curating e.g. a collection of links.
But things are not black or white — it’s more like a continuum.
All the content lies on an imaginary line that goes from pure curation to pure creation. Even fully-fledged, original essays contain hidden bits of curation, because of all the articles and materials that shaped our thoughts about that topic.
This can make its way into how you shape your content. Some of the most interesting newsletters I read brilliantly mix curation and creation.
Again, optimize based on what feels best to you (see #1 and #2).
4) Good “writing style” is overrated
Many people are blocked by thinking that they do not write well enough. Two comments about this:
📖 Style is overrated — just be clear and straightforward, don’t try to “write well”, like using complicated words and such. Good ideas are always good.
🇪🇸 Your native language is ok — if you feel more comfortable in your native language, rather than English, go for it! The total addressable audience may be smaller, but there will also be fewer publications to compete with.
📚 How I read online
Most of the work that goes into creating a new article happens with the lights off, beforehand, when I read things online.
When you write for a living, reading well becomes crucial just like eating well for athletes. Reading and writing have a direct relationship: they act literally like input and output.
The Pirate Framework for Reading 🏴☠️
I have always read a lot, but it's only after I started writing that I developed a process to do so in a structured way — because my work suddenly depended on it.
My process is made of four steps:
🎯 Aim — define your sources.
📥 Receive — create your inbox.
🔍 Refine — seed your backlog.
👓 Read — consume items at a later time.
I call it the Pirate Framework for reading, because pirates say ARRR. It is also a nod to the great pirate metrics by Dave McClure.
I wrote about each of these steps in this previous Refactoring article 👇
🗒️ Taking notes
Taking good notes is crucial for my writing process.
I read nearly everything from my backlog, on the Readwise Reader (see the reading online article). For each article I highlight the most relevant passages, and these are sent to my Notion automatically by Readwise itself.
Readwise creates a note for each article I have read and highlighted, and such notes only contain my highlights. This is all done automatically.
Once a week I review what I read the week before, link items to existing article ideas (not published yet), or create new ones specifically.
At any given time, I have tens of open article ideas — 29 right now. These are rough sketches, usually just a few bullet points. They include notes from myself, references to readings, community threads, and more.
Whenever I read something, I may think “this can be useful for this article” and link it there. I only start writing an article when I believe I have enough material to write a great piece. That means an idea can stay there for several months before I actually go and write a full article about it.
✏️ Writing process
Three years ago, when Refactoring still wasn’t remotely in the cards, I attended James Patterson’s MasterClass. Patterson has written more than 200 novels in over 50 years. That’s an average of 4 per year. Insane.
At the time I was surprised (but I shouldn’t have been) by how much of his advice was about process, rather than inspiration, creativity and fairy tales.
I only write when inspiration strikes. Fortunately it strikes at nine every morning.
— William Faulkner
As an engineer first and writer second, I too think of writing as a process, and over time I built one that works for me. So here is my best advice:
1) Write everyday ☀️
I am a person of habit. I write at the same time everyday, early in the morning.
When Refactoring was a side-gig, I used to get up very early and do 1-1.5 hours of writing before work. Now that I am full time, fortunately, I get up at a normal time, but I still write first thing in the morning.
I like the idea of finding your sacred hours — those hours where you are 1) productive, and 2) you won’t probably be interrupted. For me, this is early morning.
Also, I believe that writing is a muscle. The more you write, the more your mind gets sensitive about new ideas and stuff you can write about. Doing it everyday helps.
2) Write top-down ⬇️
I am a perfectionist by nature. When it comes to writing, the best cure for my perfectionism has been the commitment to publish something every week.
The second best cure has been writing top-down. When I write an article, I go through six main stages:
🗒️ Bunch of notes — the “taking notes” steps I described above. I just pile up ideas which I will refine at a later time.
🎯 Scope — I take the ideas and figure out a rough scope for the article, by answering the six questions (more below).
📋 Outline — I outline the whole article, as bullet points. I copied this from Patterson. For a 400 pages book, he starts by writing a ~25 pages outline, and then uses it to write the draft.
✏️ Draft — I turn the outline, as fast as possible, into an expanded version in prose. Style still doesn’t matter much. Starting with a good outline, I need ~1.5 hours to create a 2000-words draft.
🔍 Review — I go through the draft multiple times, improve style, cut things, add the drawings and the voiceover. I also use Writer.com to improve the grammar.
🚀 Publish — I put the final touches, like headers and footers on Substack, the slug, the preview image, and I schedule the post to be published.
The goal of writing top-down is to move fast and never get stuck. If at any point in time you are staring at the infamous blank page, you are doing it wrong!
I described this process in more detail in this previous article 👇
The article is from two years ago but my process changed very little. Since then, articles have become longer and more researched because I am full time on them, but the substance is the same.
3) Timebox your writing ⏰
I organize my time (and my tasks) into 30-mins pomodoro sessions, and I schedule at most 4 of them for writing every day.
One thing that you will notice is that writing is expensive. Not all tasks are created equal. Some are more demanding in terms of brain energy, and writing definitely belongs to the top tier.
When I started the newsletter, I spent ~3 pomodoros/day on Refactoring: 2 for writing and 1 for everything else. Now it’s 4 for writing, and… the rest of the day for the rest!
So you may wonder, if you only write 2 hours/day, what do you do the rest of the time? Well, a lot of things:
💬 Community — I hang out with people there, organize events, edit and publish past videos, etc. It’s a big chunk of my day.
🔍 Research — I study topics that I will write about.
🐦 Social media — I distill ideas from past articles into notes and posts on Twitter, Linkedin, and Substack Notes.
🍱 Misc — there is a loong tail of more stuff, of course: handling sponsorships, answering readers’ emails, running ads, updating touchpoints (e.g. welcome email, about page, home page, …) calls to meet people, and more.
More on pomodoros and how to manage your time 👇
4) Break down your content into small notes 🌱
A couple of years ago I read How to Take Smart Notes and it changed forever the way I think about knowledge. In particular, I loved the idea of creating a growing body of atomic, evergreen notes about my knowledge, from which to draw for just about anything.
So whenever I write a new article, I take its most important points and store them as individual notes on Notion:
I implemented my own — very lightweight — version of the Zettelkasten method, explained in the book.
As of today, I have amassed 500+ notes that I use in two main ways:
💡 Monday 3-2-1s — for writing the free Monday emails, I just take three ideas from my notes.
🐦 Social media — all my social media posts come from individual notes.
It seems like a nerdy thing, but it’s probably been the best investment I've ever made for Refactoring.
How I grow Refactoring is probably what I get asked the most. I put this at the end because if you get the previous parts right — i.e. write from curiosity, write frequently, be consistent, etc. — I believe a lot of growth takes care of itself.
Other than this, here is what has worked for me, at any stage 👇
1) Treat your newsletter as a product 🚀
Coming from a founder background, I am probably biased and I obsess over all the pieces of the Refactoring experience.
What is the experience of new people who join?
What makes subscribers come back for more?
What are all the touchpoints of the product?
When you think about it, people get in touch with a lot of parts other than your weekly content: your home page, about page, welcome email, unsubscription email, headers and footers of the emails, your bio, and more.
Many of these work as mini landing pages: you can optimize your value prop, add social proof, show examples from the past, or address FAQs. All these elements contribute to your growth, sometimes very substantially.
And when it comes to numbers, Refactoring is like a SaaS, and I treat it as such. I track growth rate, churn, retention cohorts, and figure out how to improve over time.
Are new subscribers more engaged than early ones? Or less?
Is churn going up?
What is the open rate + click rate across the various channels? Do people who come from ads open emails? Do they churn more?
You don’t have to spread yourself across too many metrics, but I like to identify a few KPIs and work on them over time.
2) Connect with others 🗣️
Genuinely talking with people is one of the highest ROI activities for growth, even if it seems expensive (and it is). Here is what I personally do:
Be active on communities
Go where your ideal readers talk and join the conversations. Be helpful. And, sometimes and when relevant, plug your content.
Communities are everywhere: on discord servers, sub-reddits, old-school forums, Facebook groups, Quora, etc. Find the ones that are the most relevant to your writing.
Connect with readers
This is incredibly important for many reasons. The more you help your readers, the more 1) word of mouth improves, 2) churn reduces, and 3) you get feedback on what works.
In the early days, I connected 1:1 on Linkedin with every single reader, and reached out to them. People were genuinely thankful for this, I met many friends, and figured out better what I could write to help them.
Also, I invited every new paid subscriber to have 30 mins call with me. This was also incredibly useful at the beginning to learn more about them, what they liked about Refactoring, and what their challenges were.
Connect with writers
Writers are the other side of your network. They are your peers. Making friends with them is helpful for at least two reasons:
🔀 Cross-promotion — these days, all newsletter tools have ways for writers to recommend other writers. Substack has recommendations, while other platforms have external tools like Sparkloop. Recommendations are incredibly powerful: as of today, 90+ publications recommend Refactoring, and ~50% of my growth comes from them.
🧠 Mastermind — you can exchange advice with writers about what works and what doesn’t. Writers you are close with can also support you, act as accountability buddies, and more.
3) Invest on Social media 🐦
I write daily on Twitter, Linkedin and now Substack Notes.
Thanks to the evergreen notes, I spend only ~2 hour/week crafting the content itself. I spend way more time, though, replying to people and having good conversations about what I post.
Again, I believe that connecting with people is a big part of what makes writing worthwhile. It is also a big part of why people follow us in the first place.
So, even if I schedule my content and prepare it carefully in advance, I strive to behave as a human, by being responsive and helpful.
4) Try some Ads 📣
I have run Twitter Ads for Refactoring a long time, about 1.5 years now.
Ads have been helpful for growth, but they are a double edged sword: you want to track new subscribers carefully to make sure you are bringing in people who actually open emails and click on links.
Right now I am able to bring in new (free) subscribers at about ~€2.5 each.
If you are not on Substack (which is not supported), Upscribe by Sparkloop is also a great program for paid growth, which leverages a network of other newsletters.
With newsletters you definitely don’t need to obsess over the perfect stack. That’s because lock-in is low: if you want to change a tool, you just export your email list, and it’s done.
If you are starting right now, I would just go with Substack. It’s easy to use, makes you focus on the writing, and has great distribution features, like recommendations and Notes. I also like their product direction and overall vision & mission. The older I grow, the more I like to use products that seem to be aligned with my vision of the world, aside from the specific features.
Beehiiv also works well and I know plenty of people who use it. It is a bit more flexible (i.e. has APIs) and has a good sponsorship network. Distribution is a bit weaker, though.
And that’s it for today! If you are finding this newsletter valuable, consider doing any of these:
1) ✉️ Subscribe to the newsletter — if you aren’t already, consider becoming a paid subscriber. You can learn more about the benefits of the paid plan here.
2) ❤️ Share it — Refactoring lives thanks to word of mouth. Share the article with your team or with someone to whom it might be useful!
See you next week!