Home / Educational Content / Database & Technology / SELECT Journal / What Is It Like to Write a Book?

What Is It Like to Write a Book?

Write-a-Book

By Jonathan Gennick

I’m often asked what it’s like to work with a publisher and write a book. Today I’m pleased to introduce Alexandru Jecan, who has graciously agreed to answer some questions and talk about his experience on his first-ever book. What’s the overall process? Are there any pain points? Just what exactly are professionals stepping into when they agree to write a book for publication? Keep reading for answers to these and other questions.

Alexandru, please start us off with a plug for your upcoming book. What is its title and topic?

The title of the book is “Java 9 Modularity Revealed.” It presents the new Java Platform Module System introduced with Java 9. The book takes you through the concept of modularity in Java 9, and provides practical examples to help you build your own modular system. The book also helps with migrating existing applications to the new Module System.

Tell us a little about how you came to have the idea of writing your book. Did Apress approach you? Or did you approach us? I honestly don’t recall which way it was.

The idea of writing a book came to me due to an entrepreneurial mindset. I thought it would be a great challenge to try to write a book, so it was I who contacted you. Then it was you who suggested the specific topic. I heartily agreed because modularity is the keystone feature in Java 9.

With the entrepreneur mindset in place, you always search for new challenges. You are never tired of trying something new. You don’t fear to try something new. You always try to set yourself outside of your personal comfort zone, because you are aware that doing so is the only way you can progress and achieve more.

Publishers always want a proposal and outline first thing. How did you feel about writing one? Was it difficult to plan the book out ahead of time? Was it helpful? How long did you spend writing the proposal?

I had to propose dates for when the first three chapters would be ready, and for when the entire book would be completely ready for production. I imagined that I would need from two and a half to three weeks for each chapter. When you do such planning, you also need to take some buffer time into account, as there will be times when you won’t be able to deliver a chapter on schedule.

Writing an outline was not difficult since I knew the topics that I would cover. Since we decided to write a 225 – 275-page book, I knew from the beginning which kind of topics would fit into the book, and which would not. I spent about one full day writing the proposal for “Java 9 Modularity Revealed”.

It is definitely very helpful to write such a proposal because you have to stick to a schedule when writing a book. If you start writing a book without a clear schedule, you will sometimes find something else to do in your spare time. Setting a clear schedule means discipline. The proposal also helps guide the writing process.

You had a lot to say the other day on managing your time. Tell us about that. You have a family and a day job. How did you manage your time to stay on schedule so well?

I must confess it was pretty tough. I had to work almost every weekend on the book. I couldn’t afford to skip more than four to five weekends throughout the entire writing process. You have to sacrifice a part of your free time if you want to deliver a book on time. For this, you also need a family that understands you. Fortunately, I have a very understanding wife that sustained me in these efforts.

From my own experience, if you decide to spend only a couple of hours of your free time writing a book, you will never finish the book. Writing a book involves lots of effort and sacrifice. You have to prioritize your book and try to find a balance in your free time between the time spent working on the book and the time spent with your family and your friends.

Having such a strict and tight schedule also brings many benefits. You learn to manage your time and avoid doing things that are not necessary. For instance, why should I go to a supermarket 20 kilometers away to buy food when I have a smaller supermarket right near my house? Skipping these sort of things that eat your time helps you win more time for writing the book.

Were there any particular challenges around managing your time that stand out?

During weekends, when I set appointments with family friends or invited them to dinner, I would get a little nervous if things were taking too long since I couldn’t afford to have very long breaks. I needed to get back to my book and couldn’t afford to spend more than half of day with family friends.

Another difficult aspect is that you are not able to recover on a weekend, and will start the next week tired. This can affect your mood during the day, but you have to get over it. It is a reality that you need to be aware of. Therefore, it is important to do whatever is possible in order to bolster your performance: sleep enough, don’t put yourself under pressure, take at least two days off per month, stay calm and focused, don’t waste your energy with unnecessary things, etc.

Were the weekends important then? To your writing?

I always planned in terms of weekends. How many weekends do I need to write this chapter? I also worked during the week a lot, but on weekends you have definitely more time, and you are more productive since you are not as tired as you are after working for your daily job. I planned around weekends and would deliver my chapters on Sundays at 2 AM, right before going to bed and starting a new week.

What about during the week?

For me, it felt best to work at least some every day on the book. Even if on a specific day I had to work overtime at my day job, I tried to also work at least one hour on the book. When I was very tired and felt that I did not have the power to write something new, those were the times I took on easier tasks, like checking for grammatical errors, for instance. There is always something that can be done.

For me, writing the book was a race against time. I tried continuously to optimize my time as much as possible in order to win more time for the book. Other authors were writing on the same topic. I wanted to be first.

Was it difficult to commit to a schedule at contract time? Were you fearful about not being able to hit the dates that you were promising to hit?

As an author, you have to commit to a schedule. The problem that I think every tech author has is that often you get stuck doing deeper research in order to understand how things work. The most important question then is: When should you stop? How much time can you invest in digging deeper and deeper to find an explanation, or to find the root cause for a bug? It is necessary to focus on the essentials and not let yourself be distracted by things that are out of the scope of the book. You have to be pragmatic and very strongly focused.

I must admit that I was a little bit fearful of not being able to hit the dates that I promised. For me, hitting the dates was very important as I was aware of the fact that doing so is how I could win the trust of the publisher, as I was a new author and the publisher didn’t know me before.

What about content? You were intentional in your thinking about what to include in the book, and what to leave out, and why. Tell us please, about your thought process here.

The content is the most important thing about a book. It is sometimes a challenging task to decide what to include in a book and what to leave out. First of all, you have to focus on your goal and what you want to achieve. What do readers want? What are the expectations of the publisher?

I proposed the titles of my book’s chapters before starting, and then changed probably 25% of them during the writing process. It would have been difficult to keep exactly the same chapters that I proposed at the beginning because you learn and discover new things while writing that you didn’t know when you began. This learning and discovery process is especially true when writing on cutting-edge topics like Java 9 Modularity that are still in preview, and are changing almost as fast as you can react.

It is important to start with the fundamentals and then progress gradually. The most advanced topics should be located at the end of a book so that they are understandable by someone who has already read the first chapters. The information should be presented in a clear and concise way. When a term or notion is mentioned for the first time, it should be explained right away, or a reference to another page should be mentioned.

When deciding on content, it’s very important to know what the reader wants. Therefore, you shouldn’t focus on describing edge cases that will occur very rarely. You should keep the focus on the most important things and try to put yourself as an author in the position of the reader. What does the reader want to learn from the book? What should the reader be able to do after reading the book? What kind of skills does the reader acquire after reading the book? These are very important questions that you need to address throughout the entire writing process. You are writing for a reader, and that reader is your main and most significant focus.

One more thing is worth mentioning: Don’t overengineer your book. Don’t make a book too complicated or difficult to read. Don’t present things in your book just because they are trendy.

Your book publishes almost precisely in connection with JavaOne. Are you nervous?

No, I am not nervous. I am very happy that the book is for sale. I am excited to get feedback from our readers. I am pleased to be able to share my knowledge with the Java community and to contribute toward making the new Java 9 Modularity feature something that programmers can understand and adopt. By writing this book, I am also an advocate on Java 9 technology. I will be pleased if my book helps readers even by a small amount to adopt Java 9 and benefit from the Modularity System.

Has the act of writing the book helped you professionally? Are there any benefits you have accrued even before the book was published?

Writing a book can give a boost to your career. Many employers nowadays want IT professionals that not only can code well but can also express their thoughts in a way that is comprehensible to everyone. Writing helps you to become a more structured and organized person. When expressing your thoughts, you will be more clear and more understandable than before.

As a software developer, being able to express yourself in a good and clear way to different stakeholders is a very important and wanted skill. A software developer is more and more understood also as a consultant who can summarize and present ideas in a clear and concise way. If you do not have the soft skills to explain to your customer what your software does in a way that even a non-technical customer can understand, then you may not be able to gain much from your software that you are selling, or that your company is selling. More than a few developers tend to underestimate how extremely important is for a software engineer to have narrative and writing skills. Writing a book is the best way to achieve this sort of skills.

As well, writing a book on a topic helps you to become an expert on that topic. You may get requests to talk at conferences or to deliver professional, onsite IT trainings on your topic. Besides this, people will come to you with questions, and you will feel proud and excited being able to advise them. I have already received requests from local IT training providers for me to teach Java 9 courses. And I am in talks with a few companies about running in-house seminars.

What was the worst part of the writing process for you? What did you dislike the most?

I cannot say I disliked it, but the worst part is when things on the technology stack change so dramatically that you have to throw away complete paragraphs or even chapters and rewrite them from scratch. This is something that happens quite often when you write about a technology that is still in development and that has not released yet.

Another part of the writing process that can cost a lot of time is when you try a feature only to find out that it is not working as expected. You can invest much work here while making only slight progress related to the number of pages you write. For instance, going through the entire list of JIRA issues in order to check whether a ticket has already been raised can be painful. Or trying to verify your assumptions in detail before raising a bug can also be time-consuming under some circumstances.

And now the opposite question: What part of the writing process did you most enjoy?

I enjoyed the entire writing process a lot. It was an incredible journey, and I learned a lot. I like to organize myself and be very well structured. I enjoyed the technological challenges that I encountered while writing. I enjoyed doing research, searching for documentation, raising issues, trying new things, drawing diagrams, writing source code, reading the JDK 9 source code, reading articles, doing reviews of the chapters, talking with the publisher, talking with the community, advocating for my book, advocating the Java 9 technology, speaking about Java 9, and more.

Will you be writing again? This is where the rubber meets the road, right? Will you be going back for more?

Yes, I will definitely be writing again. After such a great experience, it would make no sense to stop. There are many subjects in the software industry that can be covered inside a book, and I am looking forward to writing books on different topics in the years to come.

I strongly encourage everyone to try to write a book.

Actually, my goal is to write one book each year.

Alexandru, thank you so much. Are there any final thoughts you would like to share?

I would like to thank my editor, Jonathan Gennick, for trusting me and guiding me through the process of writing this book. Jonathan did a great job, is a very experienced editor. and I am looking forward to working with him in the future on other books. I would also like to thank the entire team from Apress, especially Jill Balzano, for their good work. I would also like to thank Josh Juneau, the technical reviewer, for the very good and accurate reviews we made on this book.

 

A huge shout of thanks to Alexandru Jecan for letting me interview him for this post in IOUG SELECT. Alexandru is the author of Java 9 Modularity Revealed, the first book to be published on the marquee feature in Java 9. He is an expert Java programmer originally from Romania, now residing in Bavaria, Germany. He enjoys reading, and also speaking and writing on technology topics.

What Is It Like to Write a Book?