Interview With Author Alex Giamas

0
123
Alex Giamas

Alex Giamas is the author of Mastering MongoDB 6.X, 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)?

Alex: I am a consulting Data and Technical Architect based in London, UK. Over the years I have designed and developed software systems for the UK Government, some of the largest technology companies and a number of startups.

I specialise in Data consulting and software Architecture design with a hands-on approach, using code (Python, Javascript, Ruby, Java) and low/no code approaches (Microsoft, Salesforce, Palantir).

I am overly passionate about anything software and sometimes tinker with side projects on the hardware side as well, primarily using Arduino.

Q: How did you become an author for Packt? Tell us about your journey. What was your motivation for writing this book?

Alex: It was sometime in late 2016 when I received a LinkedIn message from Packt gauging my interest in writing a book about MongoDB. Having been working with MongoDB since version 1.5 I was excited to jump at the opportunity and start with my first book, “Mastering MongoDB 3.x”.

My motivation has always been my passion about technology and willingness to share my findings with like minded individuals. Knowing nothing about the writing process of a book made me feel overwhelmed initially, considering that my first book took me five times more energy and effort to complete compared to what I had anticipated. I didn’t hesitate to get out of my comfort zone and try something new.

Getting the book published and receiving positive feedback gave me all the satisfaction I could have ever wished for. From public reviews to congratulatory emails in my personal email, I was thrilled that I could help at least a few people learn, improve their skills or excel in Mastering MongoDB.

The feedback from each book gave me the strength to carry on with the next one, getting to my third book on Mastering MongoDB 6.x which was recently published in August 2022.

Q: What kind of research did you do, and how long did you spend researching before beginning the book?

Alex: Researching to write a book is a lifelong process. Since I started writing my first book on MongoDB back in 2016 my perspective on reading and writing has developed. My research has been ongoing for almost as long as MongoDB exists and consists of a combination of hands-on experience and online reading on MongoDB development and use cases.

Additionally, I attended several MongoDB conferences such as the MongoDB Europe and MongoDB World. This hugely helped me understand the use cases of other companies, how they use and utilise MongoDB to its strengths but also where industry professionals may have stumbled upon a corner case and how they dealt with it. I also presented in MongoDB London 2013 (now, MongoDB Europe) our migration from Oracle to MongoDB use case and the lessons learned.

Q: Did you face any challenges during the writing process? How did you overcome them?

Alex: One of the biggest challenges I faced was the “writer’s block”. After a long tiring day at the home office, I had to switch gears from designing and developing to writing. The driving force for me has been persistence as well as trying to improve my concentration strategies. I spent endless nights and weekends trying to draft some of the chapters, only to end up the next day rewriting them. I realized that in order to avoid the writer’s block I had to get started instead of staring at the screen. It is equally necessary to keep on editing and revising when you strive for perfection. You may not get it right straight away but as the proverb says ‘Rome wasn’t built in a day’.

The second biggest challenge I faced was the pandemic. I started writing the book while the pandemic was in full swing. Several restrictions were still in place which made socialising and travelling next to impossible. This was hard for me on the mental aspect as well as the more practical aspect of keeping up with the community and staying in touch with them. Thankfully, the silver lining to it has been that with most events going online, I had the opportunity to participate in events that I would otherwise find impossible to attend in person. The MongoDB community came together during the pandemic breaking down the distance barrier into the online world.

Another challenge I faced was related to the delta between the 2nd and 3rd edition of the book as the new book had to incorporate all changes made in both MongoDB 5 and 6. I should note though that the MongoDB release version schedule helped me a lot as I could follow MongoDB 6 development while writing the book. This way I was able to test out the new features and I was confident enough that version 6 could be rightly timed close to the book’s publishing date. By all means, I am thankful to Packt for understanding and agreeing to adjust the content and book’s release schedule to match MongoDB’s development.

Q: What’s your take on the technologies discussed in the book? Where do you see these technologies heading in the future?

Alex: MongoDB has come a long way and is continuously evolving throughout the years. In my opinion, MongoDB in 2022 is a widely adopted database system that can serve almost every need regardless of the industry or company size. MongoDB Inc. has done a brilliant job in resolving all the teething problems throughout every new release. The underlying database storage subsystem for example was greatly improved with the adoption of WiredTiger and eventual demise of MMAPv1.

MongoDB has also made a monumental shift towards cloud infrastructure with the continuous evolution of MongoDB Atlas, its cloud offering. This fact is reflected in the content of my 3rd book, “Mastering MongoDB 6.x” as opposed to the first edition, “Mastering MongoDB 3.x”. In these 5 years between version 3 and 6, MongoDB Atlas has become a viable and many times, preferred solution compared to hosting our own servers on-premise or in the cloud and managing our own servers in Amazon EC2 or equivalent platforms.

MongoDB Atlas is now offering a full range of DataBase as a Service(DBaaS) tools that can cater for all aspects of database management, including auditing, analytics and reporting. The serverless MongoDB Atlas offering is also a gem as it means that engineering teams can substitute renting out servers by the hour by paying only for the fraction of the hours that a database is needed.

Other MongoDB API compatible implementations such as Amazon’s DocumentDB and Microsoft’s CosmosDB can also be very useful in some use cases and have become an integral part of the wider MongoDB ecosystem.

Database systems and the ways that developers store and manage data have wildly evolved in the past 20 years. We have transitioned from the on-premise to a widely cloud-first world where we can store our data in the cloud without the need to manage servers, or even manage the database itself (serverless DBaaS). At the same time, all the underlying database theory is so solid that we still build database systems using the same principles that we always did.

Another change that has occurred over the years is that frameworks rely on APIs to deliver cross team collaboration between different aspects of an application, from Front end to Back end or database management. A change that I can see happening already is treating databases as yet another API layer. This means that developers don’t need to care about the details of how to store data and can focus on delivering the business logic of processing data. This approach itself is an evolution of the Object Relational Mapping (ORM) and the related MongoDB Object Document Mapping (ODM) frameworks.

In the future I would expect that database storage will be abstracted in an API layer so that platform engineering, DevOps and Data Engineering teams will be able to develop in the same way that React Front End developers consume Backend via APIs in a web application environment.

That being said, the underlying databases will still be as important as they are today but this abstraction can help design more tailored solutions where multiple systems, relational and non-relational can coexist in a complex project in a transparent layer for the software engineering teams.

Finally, serverless computing is another area that I believe has huge potential and can help smaller engineering teams be more secure, productive and sometimes, cost effective as well.

Q: Why should readers choose this book over others already on the market? How would you differentiate your book from its competition?

Alex: In my humble opinion, the Mastering MongoDB 6.x book follows the experience of an engineer’s career along with MongoDB itself for 13 years now, since version 1.5. The first two books and moreso the current third one, Mastering MongoDB 6.x demonstrate knowledge and understanding as well as the result of years of research, design, and development using MongoDB.

The MongoDB books trilogy has evolved and improved alongside MongoDB itself for the past 6 years. The book presents both the theoretical aspect alongside coherent code examples based on industry use cases.

Mastering MongoDB 6.x is suitable for developers that are new to MongoDB as well as experienced MongoDB developers and administrators. The book covers all features and operators that a developer needs to design a well functioning application including the underlying theoretical concepts.

Q: What are the key takeaways you want readers to come away with from the book?

Alex: Readers will be able to take a holistic view of the problem at hand and understand how MongoDB can help them solve it in a developer friendly way with the right balance between time, cost and delivering the right set of features.

MongoDB has evolved to the point that it’s now a mature (in a good way) general purpose database system. From startups to the biggest firms, everyone is or could be using MongoDB in one way or another. We need to make the right decisions to make sure that our schemas and designs will be able to adapt with the problem and organization that we have to work with.

Q. What advice would you give to readers learning tech? Do you have any top tips?

Alex: Keep learning, never lose your passion!

The technology landscape evolves so rapidly that we constantly need to keep ourselves updated on new technologies and ways of working that come up and may be the next “Big Thing”. It’s not easy to keep the passion alive when we have watched over the years so many frameworks, technologies and platforms coming and going.

On the other hand, it’s really exciting when you find the needle in a haystack and you come across something new that’s so inspiring as you can see potential in it. And if this potential materializes then we get to experience industry shifting transformations as a whole; as we have seen with MongoDB and non relational databases in general.

Q. Do you have a blog that readers can follow?

Alex: I semi-regularly support and post articles on MongoDB and technology on my LinkedIn profile at https://www.linkedin.com/in/giamas

Q. Can you share any blogs, websites, and forums to help readers gain a holistic view of the tech they are learning?

Alex: My favorite tech journals like for example reddit, hacker news, TechCrunch, mashable, readwrite and wired are some of the sources that can help readers get a holistic view of MongoDB, database technologies and computing evolution in general.

It’s up to the reader though and their own set of preferences to make their own choices on filtering the right information out of these sources. This is a continuous process where the journey is as or more important than the destination. There is so much information, so easily accessible that filtering and prioritizing on what’s important to read and what’s not is a skill that we need to master in order to be more productive.

Q. How would you describe your author journey with Packt? Would you recommend Packt to aspiring authors?

Alex: I am really grateful for being a member of the Packt community! I couldn’t be happier with the way Packt supported me throughout my writing journey, from copywriting to technical editing, sales and marketing of the book. I would definitely recommend Packt to anyone out there who wants to share their knowledge with the world and I would be happy to answer any questions aspiring authors may have about the journey.

Q. Do you belong to any tech community groups?

Alex: I co-founded the MongoDB Athens meetup group almost 10 years ago and I regularly participate in the MongoDB London one. I have also co-organized the Monero London meetup on numerous occasions in the past few years. I am an active member of the International Association of Software Architects (IASA) which is a brilliant forum to discuss everything about software architecture from battle tested solutions to emerging trends. I am also quite active on most related reddit groups where I try to give back to the community at least as much as I have learned from it over the decades.

Q. What are your favorite tech journals? How do you keep yourself up to date on tech?

Alex: I am a big fan of Reddit and regularly follow all the major technology related communities. I also use highly curated Feedly feeds with the latest technology articles from well known sources such as TechCrunch, mashable, readwrite and wired. I follow Hacker News daily, sometimes down to the nth page and likewise as with reddit, it can serve as the starting point to learn about some new technology that I can expand on further by reading related books in packtpub.com or oreilly.com.

Q. How did you organize, plan, and prioritize your work and write the book?

Alex: Organization is key in delivering such a lengthy and demanding project. I started by coming up with a writing schedule which detailed the desired progress per month in order to hit my target publication date. My target publication date was decided based on MongoDB’s release schedule.

Much to my advantage, MongoDB has adopted a regular stable and announced ahead of time the release schedule, meaning that I knew when the release date of version 6 would be. All development for the long term support and stable release version 6 was done throughout version 5 minor releases. I am additionally following the open MongoDB JIRA tracker and all development channels so that I can keep in touch with every update and new feature added as it happens, from development to production release.

Agreeing this schedule with my publisher, Packt was the next step. I am lucky to have been working with Packt as they have been very understanding and supportive in making sure that the project would be successful.

Having agreed on the target publication date and the writing schedule, then the next step was to actually find the time to write the book while working a full time job. I decided to start blocking time off my calendar on weekdays, before and after work, as well as having longer unobstructed blocks of time during the weekends to work more efficiently and get things done.

What helped me tremendously was dividing each chapter’s work into different tasks and assigning them accordingly to different days throughout the week. I aimed for lengthier tasks or the ones requiring deeper focus to be scheduled for the weekend. I did also allocate more than a day each week to revisit earlier drafts in order to look at them from a fresh, critical perspective.

Q. What is that one writing tip that you found most crucial and would like to share with aspiring authors?

Alex: Don’t be afraid to start! You can always tweak your writing, goals or direction but only if you get started on the journey. I faced “writing blocks” many times and I overcame them by getting started, reviewing and revising my writing continuously. Revisiting your drafts definitely helps you find and develop new angles or inspiration to improve the content and style of your writing.

Q. Would you like to share your social handles? If so, please share.

Alex: https://www.linkedin.com/in/giamas

You can find Alex‘s book on Amazon by following this link: Please click here

Mastering MongoDB 6.X – Available on Amazon.com