I recently published my first book on Amazon. Actually, I’ve tried to write a book many years ago. However, I gave up halfway after finishing around 100 pages. This time, I finally made it. Unlike most authors, when the book was released, I didn’t feel super excited, instead, I just felt relieved — oh finally it’s done! I had been working on the book for over a year, which almost took all my free time. When I reflected on the journey, I realised that I did learn a lot from the process, not only about writing but also about how to manage my time and energy. Here, I share six things, hoping to inspire authors alike.

1. Never underestimate the effort required, but don’t be afraid to start
This statement is a bit of a paradox. Writing a book is absolutely a huge project. Even though I often write blogs and articles, I still underestimated the effort required to write a book. It’s not just about writing more words than an article, but also about the structure, the mind flow, the consistency, and the coherence.
When I write blogs, I can write whatever I want, I can complete it at any time, and I don’t need to worry too much about the background or the context, as I can easily add a link to another blog post or official documentation. I don’t mind if the blog post is not perfect, because I can always come back and edit it…
However, a book is totally different. The author needs to have a blueprint before writing the first chapter. Normally, the editor would ask the author to draft an outline. The author needs to think about the whole structure of the book, and how to connect each chapter in a reasonable flow. Another challenge is the time. I thought I could finish one chapter in one month because I could finish one blog post in one week. However, one chapter of the book took a longer time because I needed to follow the format and the structure. I also needed to make sure that I should keep the consistency and the coherence of the book. This made the writing process slower than I expected.
Despite the challenges, I still encourage you to start writing — note that I’m not encouraging you to write a book. I would never encourage anyone to write a book because it’s not easy. But the point here is that if you don’t start, you will never get any chance to make it. So you may start from small things, like writing a blog post, or writing a short story. You may find that you enjoy writing and would like to write more. Then you can consider writing a book.
2. Outline is important, yet remain open to modifications
I am a person who would like to make plans before starting it. But as a Chinese saying goes, “Plans can’t keep up with changes”. A well-crafted plan is essential for any similar projects, but it’s also important to recognise that the plans are not set in stone. Don’t be afraid to change the plan if you find that it doesn’t work.
I had an outline before I started to write the book, but it was just a rough estimate, such as how many chapters I would write, what topics I would cover, and how many pages I would use for each chapter. However, after I started to write it, I changed the outline quite a few times because I often had new ideas. Sometimes, I thought I would like to add a transition section, or I found that I couldn’t explain a thing very well in 10 pages, so I had to add more pages for that. The result was I added nearly 8 chapters based on the original outline, which delayed the completion of the book for a year. This was a bad example of not following the plan, but I think it’s also a good example of not being afraid to change the plan. If you find that the plan doesn’t work, don’t stick to the plan just because you made it. This is also one concept of the agile methodology — you should be flexible and adapt to the changes.
3. Writing is a effective way to learn
They say the best way to learn something is to teach it. Writing is an effective way to teach because you need to explain the topic in a way that others can understand. I’ve been working in the IT industry for many years. But the more I learn, the more I realise that I don’t know. When I wrote the book, I supposed the readers would be beginners, so I needed to suppose that the readers didn’t know much about the topic. This made me go back to do more research and read the documentation again. I needed to use simple language to explain the topic, which made me understand the topic better.
For example, I’ve used a feature of ASP.NET Core for many years, but I didn’t know how it worked. When I wrote the book, I checked the source code and got a better understanding of how it worked. In this way, I learned a lot from writing it down.
I highly recommend you start writing a blog post when you learn something new. If you can explain it in your own language, you can understand it better. Imagine you are a teacher, and you need to explain the topic to beginners. How would you explain it? This process will help you understand it more deeply. Similarly, if you don’t like writing, you can make talks or videos. The point is to output what you’ve learned, which is called the Feynman Technique. You can learn more about Feynman Technique from this article.
4. Targeting the right audience is important
Understanding the audience is important for any writing. After I finished the first chapter, I grappled with the dilemma of whether I should write the book for beginners or experienced developers. Readers may have different expectations as they have various skill levels. Should I simplify the content to accommodate beginners, or should I go deeper into advanced topics to cater to experienced developers? Also, how to define “beginners” and “experienced developers”? It’s hard to say.
In the end, I realised that I couldn’t please everyone. I’ve read some books before. Some books were too simple for me, while some books were too complicated. So the thing I learned here is that I should define the audience first. I decided to write the book for beginners, who have fundamental knowledge of .NET and C#, but don’t know much about Web API and ASP.NET Core. If an experienced .NET developer reads the book, they may find it too simple. However, I did include some advanced topics in the book, which may benefit them as well. It’s just that the book is not targeting them. I hope the book can help beginners to get started with ASP.NET Core, and give them a good foundation to learn more advanced topics.
Even though I think the book is for beginners, I still received questions from someone who asked “I don’t have any experience with .NET, can I read the book?” I think the answer is yes, but they may need to spend a bit of time learning the basics of .NET and C# first. I didn’t cover the basics of .NET and C# in the book because I assumed the readers would have some knowledge of them. In this case, the definition of “beginners” would have different interpretations. So it’s really hard to meet everyone’s expectations.
5. Crafting your writing style enhances the reading experience
Writing style can be subjective. It’s a reflection of the author’s personality and unique voice. I would not say which style is better, but I think it’s important to craft your writing style to make a good reading experience. I’ve tried to explain a thing in simple language. I prefer to start with a simple example, and then ask questions to guide the readers to think about the problem, and then show the answer step by step. I also like to use bullet points to list the key points. I think this is a good way to make the content easy to read and understand.
Of course, the official documentation is more comprehensive and accurate. I think the point of this book is to make the content easy to follow. Actually, quite a few junior developers asked me “How do I learn xxx development?” I always recommend them to read the official documentation, because the documentation is the best material to learn from. I would say if anyone can carefully, and profoundly read the official documentation and do some practices by themselves, they don’t need to read my book, and they can do better than many others. However, I understand that not everyone likes to read the official documentation. Some people may find it too boring, or too detailed to get started. So I think my book can be a good starting point for them. But to be honest, I don’t think my book is better than the official documentation. I just try to make the content easy to follow, and easy to understand.
6. Confronting procrastination and pressure is essential for mental health
This part is not only related to writing a book but also to anything in our daily life. I think everyone has experienced procrastination. Deadlines make us feel pressure, which can impact our mental health. I’ve tried to meet the deadline very hard but when I still couldn’t finish it, I felt quite anxious. Many times, I felt that I couldn’t finish it, and I wanted to give up. Whenever I saw the editor’s email (that said I needed to send them the latest chapter by the end of the week), I felt lots of pressure. I experienced insomnia, and my brain was full of lots of thoughts about the book. My weekends were spent on writing the book and I didn’t have time to relax. I felt that I was in a vicious circle. Sometimes I really wanted to take a break, but whenever I stopped to relax, I felt guilty because I already delayed the deadline. These feelings made me feel that I was not happy and that my mental health was not good.
Yet, through self-awareness, I started to learn how to confront these challenges. I accepted that I couldn’t make it perfect, and I didn’t have to achieve perfection, which was an unattainable goal. Imperfection is not synonymous with failure. I started to admit my feelings and acknowledged my limitations. I had a full-time job, I had some community commitments, and I already did my best. So why should I blame myself and feel guilty? I started to do more exercise and relax more. Thanks to my friends — I often talked to them and complained. I understood what they could do was just listen to me. However, their listening was an egress of my negative emotions. I think lots of people have experienced the same thing. When you feel anxious, you may want to talk to someone, or take a break, and give you more time to relax, rather than pushing yourself to the limit. Mental health is more important than your work. We are not machines, we are human beings. We need to take care of ourselves.
Conclusion
I think I have more things to share but let’s stop here. The book is not perfect, but it’s a reflection of my thoughts and my knowledge. If it can only help very few people, it’s still worth it. I learned valuable lessons from the process — resilience, patience, and self-awareness. I can tell my child that “Daddy wrote a book!” 😄 I hope my sharing can inspire you to start writing. If you have any thoughts on writing, feel free to add your comments below. Follow me on LinkedIn.
By the way, you can check the book here: Web API Development with ASP.NET Core 8.0.

Reminder again: Start from short blog posts, not a book! 😄
