Alexandre Portela dos Santos is the author of Deno Web Development, we got the chance to sit down with him and find out more about his experience of writing with Packt.
Q: What is/are your specialist tech area(s)?
Alexandre: JavaScript, both in frontend and backend
Q: How did you become an author for Packt? Tell us about your journey. What was your motivation for writing this book?
Alexandre: I was always very interested about books. I do my fair share of reading regularly about all kinds of topics. For me, books are a (still) undervalued access to the best version of the authors mind.. By reading something that someone took months, sometimes years, to write and refine, we’re getting a very polished and digestable version of someone’s knowledge, “as this is a huge asset”. On top of this interest for reading, writing and technology were always two big passions of mine. I keep exploring new technologies, both in professional and personal time. I normally end up using it to help businesses, and writing about those journeys in my personal blog. The moment I heard about Deno, specially being a big Node.js fan, it sparked lots of interest. The problems it was trying to solve were the problems me and my colleagues had when writing Node.js applications. As I got interested and started using it, Deno completely filled its promise, and made itself my go-to tool for many use cases. Due to its early stage, not much content is available, specially not content that was targeting the real world, and thinking on how Deno could fit those projects and ideas. That’s what made me write this book.
Q: What kind of research did you do, and how long did you spend researching before beginning the book?
Alexandre: My research (even unconciously) started almost two years ago when I first heard about Deno. At the time is was very unstable, still written in golang, an`d even though its vision was there, it wasn’t much usable. I’ve followed its evolution and as it started to be usable, both by adding features and improving reliability. I started to test it in close-to-real scenarios almost an year ago. I’ve read many blogposts, talks, GitHub issues and Deno’s code. I’ve spent much time building applications myself and asking questions to community and core members, following the development and evolution of Deno using GitHub and the official discord server. Then, in the last 8 months it got more intensive, I researched other technology books that I liked the premise and the teaching style, and started refining what would be the storyline of the book, while trying to keep up with Deno’s constant evolution.
Q: Did you face any challenges during the writing process? How did you overcome them?
Alexandre: I did. Due to its early stage, Deno provided some interesting features that were still considered unstable by the core team. As some of these features were very interesting, I chose to mention part of them in the book, with the respective warning about unstability. At the same time the book was being written, Deno was also evolving at a once-a-month minor release pace. Even though those weren’t major releases, there were changes that occured in the meantime that made me go back to parts of the book and update it, both in terms of code and functionality. This by itself was the biggest challenged I’ve faced. Then I’ve faced some minor issues of finding bugs in Deno itself while writing the book, even though none of them revealed themselves as critical for the learning process.
Q: What’s your take on the technologies discussed in the book? Where do you see these technologies heading in the future?
Alexandre: I see Deno growing more and more. As developers and companies are getting more concerned about decentralization of the package registry and security, Deno emerges as a solution for both problems. It adds these things while still leveraging JavaScript and TypeScript. These characteristics lead to a good balance between familiarity and novelty which I think Deno achieves. Then, by building something new, and learning from tools like golang, Deno simplifies the process of writing applications by providing a complete toolset. Developers don’t need to be using an external package manager, linter, code formatter or test runner, as all of that is included in Deno.
Q: Why should readers choose this book over others already on the market? How would you differentiate your book from its competition?
Alexandre: All the books in the market present Deno’s concepts. Some of them explain the why’s behind Deno, and the reasons for its creation, which this one also does. What changes is the way forward from here. This book does the full flow from printing hello world in the console, to building the first webserver, starting to structure a web application, and deploying it. This journey mimics most of the aspects developers find in the real-world while building applications, by assuming a practical approach where developers go through an iterative learning process. As the application is built, readers will learn about configuration management, testing, dependency management and many other common topics. The reader finishes with a complete Deno application containing users and authentication, connected to a database, tested, and deployed into a cloud environment.
Q. What are the key takeaways you want readers to come away from the book with?
Alexandre: I want readers to get to know Deno enough so that they can decide on using it if it fits their next project’s needs. Readers should be aware of its ups and downsides, not only because they’re stated in the book, but because they will experience them as they go through this “building an application” journey.
Q. What advice would you give to readers learning tech? Do you have any top tips?
Alexandre: My advice always goes towards keeping the curiosity, humility, and asking questions. To me, that’s what’s fundamental to grow in any area. Curiosity because there’s always new stuff to learn, and you’ll learn something faster if you’re interested in it. Humility, because it’s by accepting that you can always improve that you’ll try out new technologies and approaches, and question assumptions. Finally not being afraid of asking questions. Most of the people actually like to answer questions. This is true specially in communities like technology where there are people all over the world who are willing to teach you and share their experiences. By engaging in the community, helping when you can, and asking questions, you’ll sky-rocket your progression.
Q. Do you have a blog that readers can follow?
Alexandre: https://alexandrempsantos.com/
Q. Can you share any blogs, websites and forums to help readers gain a holistic view of the tech they are learning?
Alexandre: I mostly use Twitter and follow communities I like as well as a lot of interesting individuals that help me doing the “content curation”.
Q. How would you describe your author journey with Packt? Would you recommend Packt to aspiring authors?
Alexandre: I think Packt had an interesting influence in the book writing process. By providing some structure and interesting advising I think it really helps authors (especially new ones) to achieve their goal of writing a book.
Q. Do you belong to any tech community groups?
Alexandre: I mostly follow JavaScript, React, Node.js and obviously Deno communities, but I try to be evolved in anything that relates with software design and architecture.
Q. What are your favorite tech journals? How do you keep yourself up to date on tech?
Alexandre: I don’t use many tech journals, I use Twitter, HackerNews, and Reddit to keep myself updated. I normally talk with my colleagues and friends working on tech about what’s happening, and that’s also a great source of news.
Q. How did you organize, plan, and prioritize your work and write the book?
Alexandre: I had the schedule aligned with Packt and I set up time to work on the book every day. This didn’t mean that every day I was writing content that ended up on the books pages, but it meant that I spent time trying concepts, approaches, ways of teaching until I found out the ones I think would make the reader experience better. This involved many tests and discussions with friends and colleagues. Part of this thought process also happened while I was away from the computer, for instance during commute. Then I would refine all this drafts and ideas, and write it into a chapter. This resulted in something more approachable, polished and easier to read than the initial drafts. After having it “written”, I’ve revised it multiple times, normally reading it all. This allowed me to at the same time improve readability, but also to see the chapter as a whole learning unit that made sense together. In summary, my process was something like “defining the broad strokes”, “writing the chapter down” and “refining it multiple times”.
Q. What is that one writing tip that you found most crucial and would like to share with aspiring authors?
Alexandre: If you are interested about a topic and love to write, you can write a book. At first it seems like a huge, unmanageable piece of work, but as you start breaking it down and defining its structure, what goes into each chapter, and what would be each chapter’s “flow” it all starts to make sense and it becomes doable. It might be cheating, but the second advice would be to not be afraid of writing bad stuff, do not filter your drafts, just write everything that comes into your mind and refine it later. As software, writing is an iterative process in which rewriting is common and beneficial.
You can find Alexandre’s book on Amazon by following this link: Please click here