Q: What are your specialist tech areas?
Daniel: When I ask myself what is the thing I might be particularly good at, I think it is designing solutions to solve a problem or achieve a certain goal. Technology is then there to provide tools to implement the solution. That’s why I love the Odoo framework: it provides you highly productive tools you can use implement solutions for people’s real life problems. And I love Python because its idioms allow for readable and easy to understand code.
Q: How did you become an author for Packt? Tell us about your journey. What was your motivation for writing this book?
Daniel: I started playing with Odoo in 2011, called OpenERP at the time. We were in version 6. The framework was already one of the best things I has seen for business applications. But documentation was terrible and out of date. As I made my way making sense of it, and finding the “gotchas”. I felt the urge to share this knowledge with other people, and the idea of writing a book to solve this was already in the back of my mind. Then came the invite to be the technical reviewer for Greg Moss’s book, “Working with OpenERP”, released in 2013, targeted at power users and version 7. This experience gave me a better understanding of the book writing process, and being already in contact with Packt Publishing, I went forward proposing the idea of a developer targeted book. The publisher loved the idea, and there was a lot of hard work getting the first edition of the “Odoo Development Essentials” ready, and it was published in April 2015. From there on, as new Odoo versions are released, I’ve been trying to have updated editions of the book, and in each of them I carefully review all the content, trying to make it better and more encompassing. Even though the Odoo official documentation is very good now, and even includes tutorials, I still think the Odoo Development Essentials books are the best resource available for a developer to get started with the Odoo framework. As of today, I’ve just completed the fifth edition of the “Odoo Development Essentials” book, and I also co-wrote the first edition of the “Odoo Development Cookbook”, than has been updated by other authors, in a total of four editions.
Q: What kind of research did you do, and how long did you spend researching before beginning the book?
Daniel: I was actively working with Odoo before writing the first edition of the book, and had all this knowledge an insights ready to put into writing. So no significant research was needed to prepare it. There was a lot of research needed while writing the book, since you find yourself having to explain explain details you never gave much thought about previously.
Q: Did you face any challenges during the writing process? How did you overcome them?
Daniel: Writing a book is really hard work. You need a lot of motivation to go through it successfully. It is easy to get demotivated when there is a particular topic you don’t feel so confident at, and need significant research before feeling ready to write. Or some topics you might find hard to present them in an effective way to the reader. I think the best tool I has was the original book outline, prepared during the book inception phase. And if I felt blocked at a particular topic or chapter, one strategy is to skip it for now and work on the next piece you feel motivated to write about, and come back to this topic later.
Q: What’s your take on the technologies discussed in the book? Where do you see these technologies heading in the future?
Daniel: I see the Odoo framework with the potential to become a critical infrastructure component for future business. Unlike the proprietary alternatives that dominate the market, with Odoo business have control over the software running their daily operations, and have the freedom to inspect and modify it as they wish. Additionally, the extension friendly framework allows to plug and play features, adding and removing, or experimenting new ways of working. All these factors can enable competitive advantage. This comes strikingly as the opposite to the trend we see in closed SaaS software solutions, that lock in users to their platform, and are hard to customize for the particular ways of working that make your business different from the competition.
Q: Why should readers choose this book over others already on the market? How would you differentiate your book from its competition?
Daniel: I don’t think there any other book in the market targeting at the same audience. The official tutorials are free, and are probably the best competitor. They can do a decent job at introducing someone to Odoo, but I still think the Odoo Development Essentials book is easier to follow and is worth its spot. A possible competitor would be the Odoo Development Cookbook books, but there are more of a complement than a direct replacement. My advice is to get that one once you are done with the Essentials title!
Q: What are the key takeaways you want readers to come away with from the book?
Daniel: That’s a good question. Top of mind is a good understanding on the several types of component in the framework, and how the code in modules translates to the server runtimes. For example, how Python classes become Odoo Models and XML files become Views. When starting with Odoo development, not having this understanding will slow you down and makes it hard to solve coding mistakes. So I address that right in chapter one, where I show were all the types of components can be found and inspected, directly from the Odoo user interface.
Q. What advice would you give to readers learning tech? Do you have any top tips?
Daiel: Top of mind comes not going too fast in the latest shiniest new technology. Think that there is a maturity period any new tech needs before is can be used in a safe, stable and productive way. This is also true for new Odoo versions. Another important thing, but is easier said than done, is to avoid complex solutions and work hard to find simple solutions. Some advice here can to break down big components into smaller ones, have clear frontiers between them and limit the dependencies. Another one is to think out of the box, and look for solutions from other angles. Talking with other people about the problem can help. You might be surprised on how a different perspective can produce a radically different and simper solution.
Q. Do you have a blog that readers can follow?
Daniel: Being frequently working an a next book title, I don’t find much time to write blog posts. I do share things I find interesting on Twitter, my handle is @reis_pt. My company, Open Source Integrators, also posts regularly interesting articles about business software and Odoo, at opensourceintegrators
Q. Can you share any blogs, websites and forums to help readers gain a holistic view of the tech they are learning?
Daniel: On the Odoo community space, the best way to up your game as a developer is to get involved in the Odoo Community Association. You’ll find there some of the best minds working on the Odoo space. Great developers as well as great consultants and business experts. The OCA code quality toolset and coding standards will make you a better developer. And if you are stuck on a problem, there is this collective brain available to hint you a couple of ways out. You learn more about it at odoo-community and most of the action is going on at github.
Q. How would you describe your author journey with Packt? Would you recommend Packt to aspiring authors?
Daniel: The fact that wrote several books for Packt Publishing kind of answers the question. As an inexperienced author, Packt Publishing provides you a well defined process for the book writing, and you are assigned an editor that guides you through the process. Pack also being in a team taking care of everything else, such as proofreading, technical reviews, indexing, final layout and cover, etc. So you just need to focus on writing the best content you can, and be humble answering the comments coming back form the reviewers working with you.
Q. Do you belong to any tech community groups ?
Daniel: I’ll have to bring up the Odoo Community Association again. I’ve been highly involved since the association’s creation. I’ve been part of the OCA’s board for the last few years, and am happy to participate in setting the OCA’s direction and help it achieve its goals. I truly believe on the mission and values for association, and think it has an important tole not only for the Odoo open source community, but also for the future benefits this community can provide to society.
Q. What are your favorite tech journals? How do you keep yourself up to date on tech?
Daniel: Today I tend to focus a bit more on how to better use technology to make peoples and businesses lives easier. I find some interesting perspectives from books that are recommended to me. Another source of tech news that I’ve been finding helpful is Hacker News. Their Twitter feed on top stories has proven to have a high signal to noise ratio.
Q. How did you organize, plan, and prioritize your work and write the book?
Daniel: Good question. Packt does ask you for an upfront book outline, where you lay out the chapter sequence and the topics addressed in each. Having a clear picture for this in your mind and a great way to then power through the writing. You still can add, drop or shift some things around, as you go, and I’ve done that a few times, to the despair of my assigned editor (thank you for the patience). You still need to step back and make sure the overall outline works, and you’re feeding your reader on bit at a time, in the right sequence and in the right pace. Finding time is a challenge, and I think the key there is the bring out an inner motivation to complete the next section, or chapter, or whatever in the book. Finding the motivation will solve the finding the time problem. Also, having Packt set you a plan with deadline dates to deliver chapters helps.
Q. What is that one writing tip that you found most crucial and would like to share with aspiring authors?
Daniel: I think the most important thing is to double check you have the right inner motivation to get this work out the door and see the world. Also remember you can share the burden and ask for help. You can find a co-author to work in tandem, helping each other push through the book.