Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

post: add 10y of blogging #202

Merged
merged 1 commit into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description:
language: en
date: 2020-10-14
cover: ./cover.jpg
tags: ['career']
tags: ['Career']
---

A few weeks ago 2 people asked me the same question on Twitter: _"how do I make a better
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ slug: notion-as-cms-gatsby
date: 2024-01-31
language: en
cover: ./cover.jpg
tags: ['JavaScript']
tags: ['JavaScript', 'Gatsby']
---

import Warning from '../../../../components/MDX/Warning.astro'
Expand Down
Binary file added src/content/blog/2024/2024-09-03/board.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/blog/2024/2024-09-03/chart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/blog/2024/2024-09-03/cover.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/blog/2024/2024-09-03/excuses.webp
Binary file not shown.
166 changes: 166 additions & 0 deletions src/content/blog/2024/2024-09-03/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
---
title: 10 Years of Blogging, what I learned
description:
Reflects on my experience and sharing some key lessons learned after 10y of blogging. Including
the importance of writing a good title, not worrying about post popularity...
date: 2024-09-03
language: en
cover: ./cover.jpg
tags: ['Life', 'Career']
---

import Info from '../../../../components/MDX/Info.astro'

Last June, my blog turned 10 years old. It all started with a cheat sheet for a PHP framework. I
wanted a place where I could keep track of my experiments. It slowly transitioned into a digital
garden.

And some unexpected things happened:

- I met a guy in Thailand who thanked me for a post about Docker;
- Some posts got translated into Chinese/Japanese;
- I received a lot of “thank you” messages like this
one:![a twitter message saying thank you](./message.png)

By the way, thanks for all these lovely messages. It means **a lot** to me 🫶

---

These 10 years are also a good opportunity to look back and see what I learned from this experience.

TL:DR;

1. [A good title is more important than you think](#1---a-good-title-is-more-important-than-you-think)
2. [_“Write like if no one's reading”_](#2---write-like-if-no-ones-reading)
3. [Some posts will blow up, others won't…](3---some-posts-will-blow-up-others-wont)
4. [_“This topic was already covered by XXX”_](4---this-topic-was-already-covered-by-xxx)
5. [Don't overdo](#5---dont-overdo)
6. [Take notes often](#6---take-notes-often)
7. [Own your content](#7---own-your-content)
8. [Consistency is key](#8---consistency-is-key)
9. [Use social platforms](#9---use-social-platforms)
10. [It’s a strategic tool for career growth](#10---its-a-strategic-tool-for-career-growth)

## #1 - A good title is more important than you think

A post title is like a startup name. It needs to “click” and to be unique. It's the first thing the
users will see. Based on that first impression, they will decide whether they click or not. Catching
someone's attention is hard. To stand out from the crowd, a good title is a key to success.

Unfortunately, titles like *“You MUST learn these 3 things to be a 10x developer”* works incredibly
well. I mean it catches the attention, people will click but they won't stay because they're feeling
scammed.

I've found out that actionable and benefit-driven titles work the best.

## #2 - _“Write like if no one's reading”_

I've often fallen into the trap of trying to make some blog posts “perfect”. I ended up spending
months before posting or not posting it at all. It's not an academic dissertation, so it doesn't
have to be perfect!

Write posts that YOU want to read! I don't know how often I reread my article on the
[Set theory in Javascript](https://www.maxpou.fr/blog/no-more-loop-in-js/#set-theory-union--intersection--and-difference)
just because I forgot how it works.

When I write without the pressure to please others, I find myself more authentic and it also reduces
the fear of judgment (our ego is terrified of feedback).

## #3 - Some posts will blow up, others won't…

…and it's fine!

![Analytics chart](./chart.png)

One of my most-read posts is
[“Typical JavaScript interview exercises (explained)”](https://www.maxpou.fr/blog/js-exercises-explained/).
A person wrote some questions he likes to ask during a job interview but didn't tell the answer. So,
I did the exercises and posted the answers with some explanations. I thought it would be good for me
to reread it on my next job hunt. This post was read 20k times!

Another most-read post is
[“How to play Age of Empire II DE on MacOS”](https://www.maxpou.fr/blog/aoe2-on-macos/) (which is
not technical). I published this post in case I had to reinstall the game on a different laptop
(because it's a bit tedious). This post brings 2k monthly readers to my website!

On the other hand, I spent countless hours writing a post about
[monorepos](https://www.maxpou.fr/blog/monorepo-pros-and-cons/). Something that I like to talk
about. This post is one of my least viewed. Maybe I failed at promoting it or the content was too
dense/disorganised… It happens and that's fine!

## #4 - _“This topic was already covered by XXX”_

![someone looking for excuses (gif)](./excuses.webp)

I didn't post because of this reason. Looking backwards it was a silly excuse.

Probably the easiest excuse not to do something. Publish this post. I'm sure someone on the Internet
will find it useful. Maybe your post will cover a point that someone else doesn't.

As long as your post is not copied/pasted from someone else's blog, publish it!

## #5 - Don't overdo

It's not necessarily meant to be a long post. Shorter is often better!

## #6 - Take notes often

I created a small Kanban in Notion where I can put ideas for my posts. When I have a new idea, I add
it to the draft. Once the critical mass of ideas is reached, I organise my thoughts and hit the
publish button.

Some authors use a paper notebook/notepad. The idea remains the same.

![Board in Notion](./board.png)

## #7 - Own your content

When you post on a 3rd party platform, you won't get the benefit of your audience. Also, the
platform may evolve in a way that doesn't suit you. Like Medium. The user experience has become very
bad over the years on this platform between the login wall and all the popups.

Creating your platform is distracting. When you're building, you're not creating content. That's why
I started with [a Jekyll theme](https://mmistakes.github.io/jekyll-theme-hpstr/). After 4 years, I
decided to build my platform.

Also, [my blog is open source](https://github.com/maxpou/maxpou.fr). I think it's cool because it
opens the door for collaboration (correcting typos etc.).

<Info title="💡 Beginner tips!">
A WordPress blog with content is worth more than a whatever-fancy-framework blog with no content.
Apart from you, not a single person cares about the stack that runs your blog.
</Info>

## #8 - Consistency is key

Considering that over the last 2y, I only wrote 7 posts, this point might sound like a joke. Looking
at my analytics, I had better results when I was writing often.

Showing up regularly is the hardest thing. But people and search engines love it!

## #9 - Use social platforms

![Reddit](./reddit.png)

Platforms like Reddit and Twitter are good for attracting new readers to your blog. I remember
having good feedback on Reddit when I wrote about Vue.js.

Of course, you will find some toxic people on the way. It's a part of the game when you get
exposure.

## #10 - It's a strategic tool for career growth

My blog is a living portfolio of my work. While my resume is simply listing skills, my blog points
out concrete examples of my skills and accomplishments. It's also a place to showcase other skills
that are not necessarily on my resume.

Additionally, a blog is a good tool to attract the attention of recruiters looking for experts. 3
years ago, I wrote posts about some niche topics like "large Vue.js codebases". Back then, I
received a few offers from companies willing to fix their scaling issues.

---

This blog helped me to grow both personally and professionally. If you haven't started one yet, try
it. I don't think you will regret it!

And, thanks again for reading my work over the last decade :)
Binary file added src/content/blog/2024/2024-09-03/message.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/blog/2024/2024-09-03/reddit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/pages/tags/[tag].astro
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const { posts, tagId } = Astro.props
<PageTitle>Posts tagged as {tagId}</PageTitle>
<h2 class="py-3 text-center">#{tagId}</h2>
<div class="grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3">
{posts.map(p => <BlogCard post={p} />)}
{posts.map(p => <BlogCard post={p} firstBigger={posts.length > 2} />)}
</div>
</div>
</Layout>