Meet the community: Luciano Mammino, software developer from Sicily

luciano mammino developer

Luciano Mammino is a web developer, entrepreneur, butterfly maker and since recently, a book author. Luciano is also one of our guest writers for our own blog where he published great tutorials on how to build fast web applications.

This week we had a chance to sit down with Luciano to talk about his book release and discuss the latest development trends.

Luciano, let’s give our readers some brief introduction about yourself!

I’m a software developer from Sicily, the beautiful island in the south of Italy. In the last years, I relocated to Ireland and I am currently working in Dublin as a software engineer at Smartbox.

luciano mammino
The beautiful island of Sicily

As a developer, I am enjoying to work with JavaScript and Node.js and I have a number of upcoming projects that I am building with these amazing technologies.

My last side project was to work as a co-author of the book “Node.js Design Patterns (Second Edition)” published by PACKT.

Can you give us some insights on how a day in the life of Luciano looks like?

I have to admit it’s very hard for me to stick to a routine.

I wake up at 6 in the morning to attend a Brazilian Jiu Jitsu class from 7 to 8am. It’s a great way to get the morning started, and it keeps me fit.

After the class, I go straight to work where I am focused on integrating a variety of systems through REST and SOAP APIs and maintaining an Enterprise Service Bus solution that my team built in house.

After my usual work day, I head home at around 6.30pm.

There I might find a couple of extra hours to spend on some personal projects or in learning the next cool technology. If the technology is really cool, I might end up sleeping very late and this totally breaks up my routine for the next days!

Luciano, what was your motivation behind writing this book about Node.js?

I was a big fan of the first edition written by Mario Casciaro. It was probably the resource that taught me the most of what I know about Node.js today.

Also being focused on design patterns it provides a variety of examples which you can easily adapt in your day-to-day programming.

When I was proposed to work as a co-author on the second edition of this book, I couldn’t have been happier to join Mario and Packt on this new adventure.

As a blogger, you have experience in writing. What was the main difference between writing articles and writing an entire book?

I see my blog as my free personal tech space. I don’t force myself to follow an “editorial line” and I tend to write about every technical topic I might find interesting or challenging at that moment.

I write to share what I have learned but most importantly I write to improve my knowledge through my reader’s critiques and comments.

In one of my latest articles, I proposed a simple solution I used to extract information from a text using a combination of unix shell commands. That article received so many comments proposing alternative solutions that I decided to update the article and list the most interesting ones. It was one of the many cases where I definitely received much more than I gave in terms of learning.

Writing a book is a completely different experience.

There is not much space to discuss topics with your readers which would let you improve your own content. You need to have a solid knowledge and a clear vision of the content you want to elaborate. That’s why it takes much more focus and patience.

It’s crucial to have a pool of dedicated technical editors to challenge and consolidate your work before it goes to the print.

Why a book about Node.js?

JavaScript is still taking over the world and I believe Node.js has been (and keeps being) a big part of this success.

If you know JavaScript and Node.js today you will be able to bring your code not just to the browser or to the server but also in a variety of other contexts: mobile apps, IoT devices and even robots!

Also, it’s worth mentioning that companies like Paypal, Walmart, Netflix and even NASA, traditionally bound to other languages, are transitioning to use Node.js in most of their applications.

So with all this potential and traction one can assume that Node.js is somehow cool, but this doesn’t mean it’s easy to learn.

In fact, due to it’s “async-first” approach many tasks that are commonly considered simple in traditional programming might result difficult to grasp at first. One of the reasons why Mario decided to write the first edition of Node.js Design Patterns was to bring some clarity about how to address common problems in Node.js and to explain how to re-adapt traditional design patterns to the asynchronous nature of the platform.

Could you give us a short summary of your book?

Sure! The new edition of the book contains 11 chapters addressing a number of topics.

In the first part, we discuss asynchronous programming and its design patterns, from callbacks and promises to generators and the new async-await syntax. In this part, we can also include an extended dissertation about event emitters and streams.

nodjs luciano mammino

The second part is probably the core of the whole book. It addresses most conventional design patterns (Factory, Adapter, Strategy, Decorator, etc.) and shows how they might look unconventional in Node.js. This part also introduces some emerging design patterns that are specific only to JavaScript and Node.js.

In the third part, we address the module system of Node.js and Universal JavaScript, which allows sharing application code between the frontend and the backend.

The last part covers more advanced topics like scalability, architectural patterns, messaging systems and integration patterns.

Writing a book for developers in this fast-moving tech world isn’t easy. What are your lessons learned from becoming a book author?

You are totally right. Writing a book for developers is very hard, especially when all your hard work might become obsolete in just a couple of years.

Although this thought might be disappointing, it should actually become a driving factor in the way you write a technical book.

Tools and technologies change every day but some basic principles and approaches are meant to stay there for a very long time.

Probably one of the best lessons I learned is to focus on the principles rather than in the specific technology. If you can provide examples that are easy enough for people to understand and remember, then re-adapting them to the next cool language or technology would be trivial.

I believe this approach will make a tech book much more valuable and durable.

What’s coming next?

I am not currently planning to write a new book if that’s what you are asking!

I am currently in “learning and experimenting mode” and I am enjoying playing with some new technologies. Recently, I got fascinated by React and Universal JavaScript and I am spending some time in getting into deep with these two interesting topics. Other topics I am curious about are serverless architectures and parallel computing.

I will probably end up writing something about them soon, so stay tuned and check out my blog or my twitter account from time to time!

Thanks so much for your insights, Luciano!

If you want to connect with Luciano, say him to him on Twitter and follow his personal blog.