DEV Community

Cover image for My Blog Post Workflow: from Topic to Publication
Ali Spittel
Ali Spittel

Posted on • Updated on • Originally published at zen-of-programming.com

My Blog Post Workflow: from Topic to Publication

Writing blog posts can be pretty tricky -- it's hard to come up with a topic to write about let alone actually create the content. I've been blogging more and more, and I wanted to give my advice for writing posts -- from the topic through pressing the post button! If you're interested in my advice for starting a blog, I also have a post on that here.

1. Finding a topic

Sometimes, finding a topic for a blog post is one of the hardest parts of creating it! Here are a few tips for finding topics:

  • Don't worry too much about having a totally unique topic -- definitely don't plagiarize somebody else's post or copy their ideas, but people still read my React intro even though that topic has been done a bunch of times. I had a different outlook on the subject, so I decided to write it anyways.

  • Write the blog post that would have helped past you. When you're searching for something and not finding it, or you're finding tutorials that aren't helping very much, take note of it so that you can write your own take later. Thank you so much to LaQuita for suggesting this one!

  • One thing I do, is to reach out to your network and see what posts people want. I'll occasionally post a Tweet asking what types of posts people want. People also reach out to me on a pretty frequent basis asking for my advice or opinions on things. I take note of ones that I find especially interesting or relevant to a broader audience. You can also look at sites like Quora or Reddit and see what people are posting there. If a question is especially interesting to you, you could write a long-form response to it.

  • You have a unique story -- so share it! Share your backstory and how you started writing code, or the story of your career progression, or even just a problem that you solved. It can be tough to be personal and to share your story online, but it can really help people.

  • I firmly believe that creativity can stem from constraint. I always dress better when I have a dress code at work because I have to think creatively to fit within the guidelines instead of just throwing on whatever. When I started blogging, I followed the theme of writing a post each week about an app I built with a technology that was new to me. There were so many technologies that I wanted to learn, that I always had something to write about -- the only thing that made me stop was time constraints! Vaidehi Joshi's wildly successful BaseCS series is another excellent example of closely following a theme.

I keep a running list of blog post ideas using TickTick - which is the to-do list app I use. Writing down topics when I think of them is important -- I will totally forget them if I don't. At the beginning of the month, I make a content calendar with what posts I actually want to write that month. I don't always stick to the content calendar, but its good to know what I want to write in advance and to know that there's a balance of different topics and genres.

Tips for coming up with a blog topic

2. First Draft

Once I have a topic, I usually just start writing any thoughts that I about it. My process is really disorganized here -- I'll jump from place to place in the post, outlining some parts and then writing paragraphs in others. I let myself be really creative, and I jot down whatever I'm thinking. As I write this, the current paragraph is entirely written out, but the beginning of the post is just a set of phrases like "creativity from constraint" and "Share your story." Other people are probably more methodical, but this works well for me.

Then, I go through and make sure that I've completely written out each part, and that I'm happy with the post.

There are a couple things I focus on about the content:

  1. That it is accurate - of course with technical content, the facts need to be correct, and the code needs to work. I usually copy and paste code from complete apps I've written, so that I for sure know that it will work.

  2. That it is understandable and fits my target audience - another essential thing to do with your blog posts is to identify your target audience and gear your writing towards them. Is your target reader a Node developer that wants to learn the SQL library Knex? Or, is your reader a complete newbie who will need the concept of a function explained while you're building your Node app. You want your post, generally, to appeal to a pretty broad audience, so I usually gear my posts towards people who know the fundamentals but don't know the specific tool I'm talking about. You usually want to target your posts to a relatively similar audience so that people are interested in your work from post to post.

  3. I don't use walls of text. On the internet, people are used to short blocks of text broken up with visuals that are easy to scan. Add bullet points, images, and subheaders to your posts to add more visual interest. My posts are generally in between 2,000 and 3,000 words, but they don't feel like that much because there aren't huge blocks of text.

I write my content using my text editor VS Code. The Markdown support is fantastic, and I have a spellchecker to catch issues as I go. It has a preview tool so I can see what the final Markdown will look like if I want too! I like being able to customize my setup, so I really like using VS code for this process.

3. Revision

Next, I run my post through Grammarly -- I have the pro version. I like how it allows me to choose the tone I'm trying to use in the post and the audience, and how I can "teach" it to be more accurate for my writing. It also picks up on overused words, which can be really helpful as well. I copy and paste my text into the desktop editor, and then go through each error making sure that the content is good as I go.

4. Visuals

The next step in my process is creating visuals for social media and to add visual interest to my posts. These usually have the tl;dr versions of my posts, or just the headline. I make them in all of the preferred sizes for social media sites so that when you press the share button or share the link to a post, the image should look pretty good (at least on my site)!

I draw these up in Sketch, I have a boilerplate setup that I just copy and paste that contains the different artboards for differently sized images. Then, I just add in the designs I want for the post and format them!

All of the Sketch artboards that go into a blog post

5. Publishing

The final step is to actually press publish and send your post into the world! I highly recommend posting to someone else's site at first, or at least crosspost -- unless building and maintaining the blog infrastructure is your primary goal! Right now I post to my own site, dev.to, and Medium. I also tried LinkedIn once, but it was tough to format, and only around 100 people read it, so it wasn't worth the effort in my experience. Medium can be tricky too, but Markdown to Medium makes it a little easier -- it converts your markdown code to Gists, so you don't have to worry about the weird Medium code formatting!

Honestly, for me, pushing publish is often the hardest part. I have a graveyard of unpublished posts on my computer that I may or may not post at some point. Honestly -- I regularly wait until days after writing my posts to publish them because of nerves. I want to list some of my common worries and how I push myself to still eventually post.

Nobody's going to read my post: So what. I've already put all the effort into writing it, worst case scenario I benefit from writing the post but nobody else does.

I'm not experienced enough to write about this: If you have a blog post that contains mostly correct information, or at least your interpretation of the topic, then you're experienced enough. There are lots of excellent posts out there from the perspective of newbies, and they're really important!

What if my code is wrong? Or I got a detail wrong?: It happens! I've had bugs in my articles before! So have lots of people. Sure, somebody might be rude about it, but in my experience, most people just want to help. Plus, then you learned something new from writing the post, and you can edit easily enough!

What if people are mean on the internet?: this is my new problem -- it has been really cool to see my blog grow a little bit, but with that rise comes a downside. There are now a lot more rude comments towards me on social media and inappropriate advances. I'm definitely not perfect at dealing with this, but I try to remember that there are so many more positive comments than negative ones, and hopefully my posts are helping some people out there. I try to ignore them, and I've stopped looking at threads when my posts show up on sites like Reddit or HackerNews that can have more toxicity along with the anonymity. Yeah, people can be rude, but way more people are friendly and benefit from what you're doing.

So, go out there and publish some blog posts! I can't wait to see them.

Keep in touch

If you liked this article and want to read more, I have a weekly newsletter with my favorite links from the week and my latest articles. Also, tweet me your blog posts, I would love to read them! If you have any questions, my AMA repo is the best place to reach me.

Top comments (36)

Collapse
 
aurelkurtula profile image
aurel kurtula

This is gooood!

I'm amazed by the detail in the boilerplates. I might do that one day.

At the moment, I'm at that phase where I'm just writing tutorials as I'm learning new things. So my target audience is me few weeks or few days a go.

(I find myself using the word "then" a lot. "first we do X, then Y, then Z.")

Collapse
 
aurelkurtula profile image
aurel kurtula

Also, a tip that might help someone:

When writing my posts, I use the speech feature on mac and listen as it reads my text.

I'm able to catch my spelling errors and also whether or not the text sounds how I intended.

It has helped me so much that I end up listening to my text few times before I'm satisfied that ... I can't do any better. :)

Collapse
 
aspittel profile image
Ali Spittel

Oh that's an awesome idea! Thanks!

Thread Thread
 
vigodnee profile image
Алексей Махметхажиев

Hello, Ali !

Can you share this template in Sketch?

Collapse
 
aspittel profile image
Ali Spittel

I love that -- my target audience is normally the "me" of a couple years ago. I think it makes your posts really real and helpful for people if you can really relate to the material.

Collapse
 
jackharner profile image
Jack Harner 🚀

Ya, I've got a long trello card of Blog Post ideas that are all just "I should write about how to do the thing I just figured out how to do."

Maybe someone in my same position will Google the same problem and come find my solution, or not.

Thread Thread
 
aurelkurtula profile image
aurel kurtula

The bonus of actually writing the post though is that often, the end product of the blog post is different to the solution you found!

For example, I started learning Electron. Read the docs, found few tutorials and I now have the end product. All I need is to copy paste the code in a blog post. However, whilst writing the text to tell the "audience" what the code does, I'm seeing refactoring opportunities all over the place. So for me it's all about placing a stamp of approval to my understanding. If I can blog about the code I found in stackoverflow say, then you can be sure by the time I pressed publish, that code is mine, in that I'm no longer the person that copy pasted the code with his fingers crossed. Because you now need to go and read the section of the docs which the stackoverflow user kindly linked to but you were to excited to bother reading :)

Collapse
 
sbu_05 profile image
Sibusiso Dlamini

I find this technique quite helpful when learning new concepts, modules or languages as it forces me to explain the material in my own words. This only improves my understanding of the subject, sort of like writing notes.

Collapse
 
agathacco profile image
Agathe Cocco

'Nobody's going to read my post: So what. I've already put all the effort into writing it, worst case scenario I benefit from writing the post but nobody else does.'

This is so true. This approach motivated me to write and publish my first blog post.

Great article!

Collapse
 
stevetwitte profile image
Stephen Taylor Witte

I have been a developer in Rails for a while now and only recently started to get into blogging. What did it for me was having a platform where I knew people were getting something out of my posts. That platform was dev.to. It is so much more encouraging to see hearts and unicorns and people commenting than just posting to the endless void that is Medium.

Collapse
 
darksmile92 profile image
Robin Kretzschmar

This explains the reason your posts are always well thought out and well designed :)

Collapse
 
aspittel profile image
Ali Spittel

Thank you so much!

Collapse
 
jessekphillips profile image
Jesse Phillips

See this seems to be too much for me. What I have posted is a single pass thought dump. I tried to start a couple others and it's a little harder to get the right flow, it needs a good put down ideas and reorganize.

Collapse
 
subbramanil profile image
Subbu Lakshmanan

Great Article!! Thank you so much for sharing your secret :-) for well-written blogs!!.

I too use VSCode for writing blogs with Markdown support, and I do have the sketch app but haven't used it in a long while. But I really like the idea of having the boilerplate setup in the sketch. Something that I need to work on.

Grammarly is absolutely amazing! Thank you for the tip. I just copy-pasted one of my old, published blog and there were numerous mistakes which I didn't notice :-p. I haven't tried the premium version yet, quite happy with the free subscription. But definitely, switch to premium once I get into the habit of writing blogs frequently.

Really Appreciate your advice!!

P.S: Even this comment, I ran through Grammarly and made two recommended changes.

Collapse
 
mervinsv profile image
Mervin

This is really good. Thank you so much for this inspiration.

I'm really thinking of making a blog in the past of couple of weeks and after I ready this I will surely do it.

I've been using grammarly but not the pro one :D

Collapse
 
hussein_cheayto profile image
hussein cheayto

"What if people are mean on the internet?"
Just ignore them.
When my article gets a high rank, people begin to comment in a negative way. Positive comments make my day! These people motivate me much more to keep writing.
People just don't know that kind and beautiful words are free. These words make a great impact on others, an impact that they can't even imagine.

All in all, "Ali Spittel": this name is shining on social media. Keep it up!!!

Collapse
 
zenulabidin profile image
Ali Sherief • Edited

Don't worry too much about having a totally unique topic -- definitely don't plagiarize somebody else's post or copy their ideas, but people still read my React intro even though that topic has been done a bunch of times. I had a different outlook on the subject, so I decided to write it anyways.

I couldn't agree more. How I manage to write at consistent times is I take a web page about a topic, like some documentation, and try to use my own words to explain it. Occasionally they explain a point so clearly that there's nothing more for me to do to improve it, so I quote it with a link to the original source, unless it's clear from my post which site I am referring to.

Collapse
 
pzelnip profile image
Adam Parkin

Some great tips around the visuals. I hadn't really put a ton of thought into this for my blog to date, so those tips are of particular interest for me.

One thing I've found useful for my blog is to try and incorporate some automation to be "in my face" with things I need to do as part of producing a blog post. For example, I have a git commit message template so when I do a commit I'm presented with a couple questions to help encourage me to write a meaningful commit message. It'd be cool to update this template with the "pre-publish checklist" you have so that before I do a commit I'm reminded to check that list of questions.

Good stuff!

Collapse
 
guneyozsan profile image
Guney Ozsan • Edited

That was encouraging Ali, thanks. I would like to hear more on your experience on cross-posting. I like the convenience and audience that platforms like Medium brings but I also would like to archive my posts in my self-hosted blog, you know, in case one of the platforms become the next Vine or even worse, Myspace. Is there a drawback cross-posting everything?

One other thing is, to yur experience do you think Grammarly can bring something for non-native speakers, or is it just an advanced typo fixer for native users (as their YouTube ads suggests)?

Collapse
 
pkristiancz profile image
Patrik Kristian

When i found this post in feed i was like: “Cool, Ali made another good post ( your post are aleays good). Hmm, i want to post too, Click!”
After reading i am eager to post someting, i have something half baked, but i did not manage to find will to finish and post it.
I had same worries you mentioned in post, so thank you for encouraging! :)

Collapse
 
amit_merchant profile image
Amit Merchant • Edited

Great article! I generally use Notepad to jot down the ideas when one pops up. It's simple, light weight, free and above all, a PWA.

Collapse
 
dandevri profile image
Danny de Vries

Thanks for sharing your process! I'll usually write down my ideas into Notion and then write them out. Notion can export to markdown which makes it really good for importing into different blogging platforms.

Collapse
 
tracycodes profile image
Tracy Adams

Absolutely amazing post. I'm so glad someone RTd this on twitter so I could come across this! I have a long list of blog posts/tutorials that I will be writing in 2019 pertaining to what I learned in 2018.