Looking back: One year of writing about Swift

It's hard to believe it's been one year and 22 published posts since I started writing on my personal website. It was May 17th, 2022 when I hit that Publish button for the first time. I remember reading the post a few times, and making sure there were no grammar mistakes and the code examples worked.

After the first post, next ones were easier to publish. You start with so many thoughts of things that could go wrong, and what if it's not good enough.

I've been writing articles for kodeco.com for even longer time. But, there's a team of folks who read your article and make sure what you wrote is correct and up to certain standards. Writing on your own is being on your own and doing everything yourself. It's different.

Here are some of my thoughts and experiences after one year of writing.

Building a Website

I got inspired to start writing my own blog posts after meeting Antoine and Donny at SwiftLeeds 2021.

After some thought, I bought a domain and decided to build a website.

The biggest decision was to choose how and where to create a website. I tried using WordPress but I didn't like it. So I went with Publish. It's a static site generator that allows you to build your website in Xcode using Swift.

If you're interested in creating your own website with Publish, I wrote a post on How to Create a Personal Website in Swift using Publish that can help you get started. Once you're up and running, check other Publish posts as well to help you style and deploy your new website.

It was a rough start. Publish wasn't easy to figure out and it took me 4 months to get my website up and running. But, I've had a lot of fun with it. I designed the entire website myself and I've enjoyed the process.

Thoughts on using Publish after one year

I decided to go with a static site generator but have since been thinking to go back on using WordPress.

Tinkering with Publish was a lot of fun, but it takes a lot of my time. Nowadays I find my time better used for other things.

I'd rather have the website running, without having to think much about it, and spend time writing instead. Availability of different plugins is another plus for WordPress. You can also add or even create your own Publish plugins. These plugins are usually for some simple features that would come built in with WordPress. Also, if they are not updated on time it can get tricky.

There are a lot of static site generators out there and some might be easier to navigate than others. Choose whatever works for you, but don't spend too much time thinking about it. You can always switch later.

Writing posts

I love writing. I've been writing short stories and poems ever since I was 10.

Technical writing is different, but there's always a story that you're trying to tell.

Topic ideas

At first, I thought there's nothing I could write about and there were posts about every topic written by someone else.

While building my website with Publish I had to figure out a lot of things on my own. I found there's not a lot of documentation that covers Publish, so I decided to write a few posts to help other developers like me.

If you ever find yourself working on something and realize there's no documentation out there that helped you out, write about it. But, also, if you do find some documentation out there and realize it's not written well or you can't understand the concept well enough, write about it.

I'm sure you've searched how to develop something and it took you reading a few different posts to finally understand that topic. That's why you should write about it even if 10 different websites already covered it. Your writing will have a different perspective. Even if they have the same title, no two posts are the same.

Write about something you've figured out how to do at work or a topic you want to learn more about. I found writing posts helps me understand concepts better and I learn a lot in the process. Write about anything you want, really.

Writing process

Everyone has a different writing process that they like. I write my posts in markdown using Obsidian. It's simple and I don't have to do much styling during writing.

I write my posts on Monday evening and publish them Tuesday morning. I do it every other week because I find it to be a lot of work and I want to stay sane.

I start by duplicating one of my older posts, update the metadata at the top, delete all content, and start writing.

When writing a technical article, I always create a sample Xcode project or a playground to make sure everything works as expected. I do that while I'm writing.

It takes me on average about 3 hours to write a post. After I finish writing, I run my website locally to make sure the styling looks good and there are no grammar mistakes. Then I run the whole post through Hemingway. After that I close my laptop.

I open my post again in the morning and read it once again to make sure everything I wrote last night makes sense. Sometimes I change a few things and sometimes not. If everything looks good I create a post image on Canva and publish the post.

I still publish manually because I've been too lazy to look up how to do it automatically. Something I really have to do.

Non-technical posts

I love reading posts about experiences. Things someone has learned, how they accomplished things, and their thoughts. I always learn a lot. I sometimes write a non-technical post, like this one, to share my experience as well.

It's those things you'd learn from someone over a cup of coffee while chatting in person.

One thing to note, I've found writing non-technical posts to take much longer than writing a technical one. I always end up re-writing sentences and deleting whole sections because I don't like how they sound.

Thoughts after one year of writing

I've since overcome the fear of pressing the Publish button.

My posts got featured in a few newsletters and that has made me both happy and proud. It gave me confidence I've been doing something right. I've received great feedback and comments from folks on how my posts helped them.

I write all my posts on my personal time. I don't have any running costs to cover and I don't earn anything from writing either.

Why did I start writing? I wanted to leave my comfort zone and put myself out there. I wanted to have something to show for. But also, I wanted to become a better developer and give back to the community.

I write for myself. Writing has helped me learn some topics in greater detail. There's nothing like thinking you know something until you try to explain it to someone.

It's like that quote from Einstein,

“If you can’t explain it simply, you don’t understand it well enough.”

I always strive for simplicity in my posts. I try to make them short and on point. But I also like to tell a story so you might notice most of my posts start with a topic introduction that may or may not be necessary. But it's my style of writing and I like to do it.

Writing also helps me improve my communication skills. It helps me structure my thoughts and learn how to express them so that everyone around me can understand what I'm saying. I found that to be a great skill in my career.

I decided to publish a new post every two weeks. I sometimes feel tired and don't publish it for a month. The most important thing is to take care of yourself and that's my first priority.

In the end, I publish my posts for myself. It's my online repository of knowledge that helps me learn and improve a few skills along the way. If it helps anyone else out there, than that's an extra bonus on top.

Final Thoughts

If you're interested in writing, I encourage you to try it out.

Writing does take time, so keep that in mind. Especially if you're starting out. It might take you a few days to write a post and that's completely understandable. It does get much easier over time.

If writing is not your thing, then try doing videos instead?

You know how I said I publish on Tuesdays and non-technical posts take me longer? Well, I had to finish writing this one on Tuesday evening so I can publish it on Wednesday morning. I know I'm not super consistent with that yet, but I'm trying.

Please feel free to reach out on Twitter if you have any questions, comments, or feedback.

Thank you for reading!