I started this blog in February 2019, because I wanted to share tips and different things I've learned in my short time programming with Swift. Since then, I've found writing blog posts to be incredibly nice and relaxing, and have learned a ton from feedback related to my writing.

I frequently hear people asking about starting a blog and what it takes, so since I didn't have a specific topic I wanted to write about today I thought I'd write a blog post with my experiences to help you out if you're looking to start a blog.

Why?

The first thing you have to do is ask yourself why you want to start your own blog.

I'll be honest with you: if you are hoping to make tons of money or get rich, blogging is probably not for you. Making money requires a lot of views and you'll probably make much less than you'd expect, even with ads, and not even close to what you'd get doing other things.

I started my blog to share my experiences and help others out. I have not been programming for even close to as long as others in the field, but that's not a requirement to blog. As I try to write on topics that haven't been explored in depth, I'm able to offer a new perspective even if I don't have as much experience as others. Although I'm not perfect, I find all the feedback and comments I get on my posts has made me a better programmer and I appreciate them.

Blogging also helps you learn more about topics than you would learn simply by reading up about them or implementing them in your app. When I write about topics, I find that I really need to understand them myself before I can attempt to share them with others. For example, I may play around with a certain framework in a few examples or projects before attempting to write about it.

Finally, blogging is really fun (especially if you put on some motivating music while writing)! I love taking a break from programming or other work and just writing a blog post, because it lets me take a moment away from issues or deadlines I'm facing.

How?

Motivation

In terms of motivation, it's really all about the why, as I explained above. However, while it's frequently recommended to write weekly, don't feel like it's a requirement or that something will happen if you miss a week. Writing weekly helps build up an audience but it can be tiring, so I sometimes take breaks and come back the next week with a longer blog post.

Everyone will be different, and I know some bloggers like to write posts all at once, but I found that I prefer working on a post slowly over a day or sometimes a couple of days instead so I can make it better and avoid rushing. You really need to find what works for you, whether that is writing a blog post in a restricted amount of time or focusing a couple of times and working on different things in between.

Topics

I still find thinking of topics to write about quite hard, but I do like to keep a running list and sometimes look over it for inspiration. When I solve particularly difficult problems, I might write about the solution and extract it into a separate example project, which also lets me understand it better.

It can also help to find topics that aren't extensively covered, and this works especially well with new topics, such as frameworks that were just announced at WWDC or released on Swift Package Manager.

If you find yourself wanting to learn about something new, whether or not you have a need for it in your current projects, it can be incredibly useful to write an extensive blog post about it, so you'll be able to learn it.

Tools

There's no consensus on what tool or platform is best for blogging, but it depends on how much time and effort you're willing to spend on it. Static site generators like Jekyll are a great choice especially if you host them on Github Pages for free. Since I had some time, I thought I'd try something new and went with a slightly custom Jekyll theme hosted on Github Pages, which let me express myself and customise it completely.

John Sundell's upcoming static site generator, which is completely written in Swift, will probably prove to be a very good, popular option for anyone who is experienced with Swift.

If you don't have much time or just want to start writing, Wordpress and other hosted platforms are great alternatives, but they can be limiting or have drawbacks.

Awareness

After you write a blog post, the hardest part is getting it seen and letting people know about it. Twitter is a great platform for this, especially if you can explain why you wrote a post and what people can gain by reading it.

Reddit can also be helpful, but you need to ensure that you don't spam or submit too frequently, which makes you seem spammy or too insistent. The Swift and iOSProgramming Subreddits are great for this, and allow infrequent self posts.

Finally, getting noticed on newsletters about your topic, whether that be Swift, iOS, or something else, can be incredibly important towards getting your voice heard and increasing the number of people who read your blog. For example, adding your blog to iOSDevDirectory, ran by Dave Verwer, who also creates the weekly popular iOSDevWeekly newsletter could help your blog gain his attention.

Conclusion

Blogging can be really fun and help you learn new things, especially if you approach it the right way and find motivation to write as much as you can. If you're looking to start blogging, don't worry about getting noticed, just start writing and get better along the way!

Please do reach out on Twitter or by emailing me [email protected] if you have any questions. Thanks for reading 📝