It’s only a few times that life presents you with opportunities that allow you to leap forward. Whether we want to embrace the opportunity or let it pass is something that is in our own hands. Similar to this, early last year, an opportunity was presented to me. This opportunity was something which I could have taken or passed on, the decision was in my hand. This opportunity was to author a book with Pack Publishing on Building Enterprise Applications with Python. Such opportunities can be really fruitful and lucrative but also demand a considerable amount of knowledge about the subject as well as a deep commitment to the work it demands.
There were a lot of things I needed to figure out and then decide, whether I was going to take up the project or let it pass. This post walks through the journey of authoring my first book and the lessons I learned while doing it. So, let’s make a dive 🙂
1. Finding the Answer
Before I started working on the project, the first and the biggest challenge I was facing was to decide, whether I want to take up the offer of authoring a book or not. This was a huge opportunity, but the dilemma was also a huge one. What I needed was an answer to the sheer amount of questions that were running in my head. These questions involved, whether it will be a good option to author a book while at a beginning stages of my career? Whether I will be able to do justice to the topic? What if I don’t take the opportunity and pass it on. Is it something I will regret later?
The questions seem small, but are something which needs to be answered to derive a proper conclusion. As I went through to find the answer to the questions, I learned quite some lessons:
Embracing the Challenge
Life continues to throw challenges at us. Some of the challenges are easy to tackle while the others throw us into deep questions of self-doubt. For me, answering the opportunity to author my first book was in itself a challenge. This challenge was to find whether I can commit to such a project, whether I will be able to do justice with the book as an author, am I ready?
As I tried to reason with myself over the upcoming days trying to find the answer to the questions, I tried to remember how I have behaved when the challenges crept up time and again. Whenever there was something I could not understand, instead of giving up, I always searched for an answer. A lot of times I was thrown aback, but still kept searching till I was able to reason about a particular problem and find a solution. The same was the case with authoring the book. Although, it was a huge project which involved a serious amount of commitment, it was well worth the effort.
Either Keep Thinking or Really Do Something
I am an avid reader. I have been reading a number of books, which involved fiction, non-fiction and technical books which taught scientific concepts, programming languages, software engineering techniques, etc. As I read through these books, I always used to think, If I had to author the same book, how I will author it. While reading some of the technical books, I have always loved the titles where the author makes an effort to make reading a book a journey and to make the reader understand, why a particular concept was even introduced and where it could really be used, instead of just putting titles after titles in front of the reader, which although are present but don’t really convey their true requirement.
This time, the ball was in my park. I had an option to author my own book and I could finally experiment with how I will really like to present it.
Finally, I had an option to implement what I was thinking.
As I moved through the journey of finding the answers to my questions. I finally decided to take up the opportunity, because I could finally do something I always thought about, and passing this opportunity was something I was sure to regret in the future. With this, I finally signed up and took the project.
2. It’s Easier Said than Done
Now with me finally deciding to take up the project, the next thing was to get going and start working. The initial stage of the project was to layout an outline of what I am going to present to the readers of the book. It was time to research about what the other books in the same domain usually present to the reader. What was something that my book could add value for the reader. This took some time, but finally I was able to get up with the outline. After some discussions with the review team of Packt, we finally decided to go ahead with the prescribed outline.
The upcoming months were going to be fun and challenging as I work through to pen down to evolve the outline into real content. As this journey of working through the content went on, I was not only learning how to write a book, but was also learning some valuable lessons which I will be keeping with my throughout my life:
To Write, You Need to Read First
It’s so truly said, “A good writer is a good reader”. To write a book or even an article, one needs to learn how to read. The process of reading through a number of articles, books, papers, etc. adds so much of value. For me, before I started to write my first book, I preferred to read. I read through a number of different articles, a number of famous books and tried to understand how they presented their content. What really made them a recommended read.
As I read through the articles and books, I was able to infer the writing styles of the authors, what really made their content stand unique and how they tried to make the content approachable to the reader. All this reading helped me shape my own writing style for the book and helped me layout how I was going to present the contents to the readers of my book.
No One Knows Everything, Research It
Authoring a book requires a deep amount of knowledge about the subject that you are going to present. But does that mean, the author knows everything about the subject? The answer to this is a No. Although, most of the authors have a very deep understanding of the topics they are presenting to the readers of their books, there are still areas where they have to cross reference certain things.
As I was working through the contents that needs to go into the chapters consisting the book, I found out, that there were certain areas which I had some doubts about. Now, I could either go into a mode of self doubt and keep thinking about whether I did the right thing of taking up the project or not, or work harder to fill in the gaps I had in my understanding of certain concepts. As I decided to take the latter route, I found myself researching about the topics in different places, be it on wikipedia, the official Python documentation and even at times taking a look at the Python language specification, when I wanted to ascertain if my theory about a particular concept was correct or not.
All this helped in not only providing more accurate content for the book and doing justice with the readers but also by helping my enrich my knowledge about certain topics which I was not fully sure about or not aware of at all.
You Have to Keep Moving Forward
As we take up different opportunities and work through them, life also keeps happening. There are certain events, that may cheer you up and then there will be events that may throw you off the track. How you respond to the events is something that you control.
As I was on track of authoring the contents for the chapters of my book, certain events occurred in my family, that completely threw my off the track. I found myself completely distracted, not able to focus on anything, silent and thoughtless. This was not a state where I could just work on the contents for the book at all. As I was trying to cope up with the events, I decided to take a break from writing the book and informed the Editors, who very well understood the situation and supported me during the phase. The next couple of weeks, I went on to not writing anything and trying to recover from the mental shock of the events.
As the weeks passed by, I was finally in a state to resume on my work. I communicated the same to the editors of Packt and started to resume from where I left. One thing I learned during this whole time was, I have to keep moving forward, no matter how hard the situations may get, quitting in between, is never an option.
The Last 1% is Going to Take the Most Effort
It was already December, and the deadline for submitting the last remaining chapters was close by. Fortunately, this was also the same time when I was on a short break before I will start my new job. This provided me a perfect opportunity to dedicate my significant time to the book. As I finally went through researching the contents of the last few remaining chapters and writing the contents for the chapters. It was mid-december when I finally submitted the draft for the last, 16th chapter of the book. But the work was far from over.
In a couple of days, I received the comments for the technical reviews on the chapter contents and with the publishing deadline fast approaching, I was supposed to edit the chapters to address the comments quickly. While I was working through this, the editing team at Packt was also hard at work, proof reading the contents and providing suggestions for the changes which needs to be addressed. This was a time, when I found myself working 14-15 hrs a day. It was hard, but somehow every day when I shut my system down, I felt good about what I was able to achieve that day.
The final touches to the book and the associated codebase took a major part of the effort, but which was well worth it.
3. Reflecting on the Decisions
After 6+ months of effort which involved a serious amount of work, the book finally went published on 28th December, 2018. But this was not the end. It was time for me to take a look back at the decisions I made while authoring the book and what could have I did differently. This whole exercise of reflecting upon my decisions provided me with a number of lessons:
Time Management is Important
Although the book got published just at the right time, there were certain issues that would have not happened if I would have spent some more efforts planning my time. Every chapter had a time frame associated with it during which it needs to be worked and submitted. Although I would be researching a lot about the contents that I wanted to put in the chapter, I would only start writing the actual contents when the deadline for the chapter submission was very close. This put up a lot of pressure, which at times resulted in me working late in the nights and even waking up early the next day to stay on track. Had I better planned the days, this would have been something easy to avoid.
Be Open to Feedback
When you are doing a thing for the first time, there are certain things which you take a decision on based on your understanding of the facts at that point. How those decisions really have turned out, can only be understood when you are open to the feedback. As the book got published, I have always been open to feedback about the places where I have done a good work and where I could have done better and how I could improve those areas in future. Have you read the book? You have got some feedback, I am always open to hear and work on it.
When the book got published on 28th December, 2018, it really felt amazing. It was a feeling of accomplishment. I was finally able to do something which I have always thought about. The biggest achievement was not this though, the biggest one was to start with something and really sticking to it to bring it to a successful conclusion and not letting myself wander into a completely different direction.
Will I like to author a book again?
Definitely, YES! When I find myself interested in writing about some topic and helping people gain a better understanding of it, I will love to explore the option of writing another book. But, till that time comes, I will just spend some time working to improve my skills and broaden my understanding of the different technologies that I use in day to day work and those which I am interested in. Meanwhile, writing blogs is going to be a constant stuff! 😉