Hello Marco. Some time ago you presented one of your talks “Write once, debug everywhere”. Could you tell us a little bit more about it?
There were many questions from the audience, who were much more interactive than normal. This gave us an idea of where to orientate ourselves for the next talks, so as the RomaJS community we have an idea of what people might or might not like and it’s a different way of asking “What do you want to talk about?” So it was a starting point for other talks, rather than being an end in itself.
So it was a way to take on the issue, rather than dealing with a specific topic?
Exactly. It was a bit of a pretext to tackle a problem that has always been taken for granted, and even talking about it in a simple way has created that context to start a discussion. This has led to dissecting the doubts within the community, which are the less well-known aspects.
Was it a meeting where you talked about debugging more than anything else?
Yes, we have a black box, which comprises the tools for debugging. We opened it up and said “We use these, this is what you can do, do you use them in another way?, do you have any other techniques?, are there any things you use that we haven’t talked about?”. This was a more open way to make this box a little less dark, a little more explorable.
During this talk did you demonstrate your debugging tools or did you just discuss them in a general sense?
It was halfway through the talk, so there was a bit of a general overview and an intentionally complex application was built to do what it had to, i.e. highlight advanced features that are worth bringing out in special cases. By using the debugger tool it’s possible to see and study performance.
Would you have any suggestions for a new developer who finds himself or herself in front of the debugging tool and says “Now what data should I look at? How should I proceed?”
I definitely recommend looking at the relevant Google documentation. Though it’s specific to Google Chrome, it’s very well done documentation covering almost all of the more or less similar debugging tools. They all have a default set of tools. In addition to this, I’d say to focus on two tools: definitely a debugger, and try using it, try doing PLAY or STOP while running an application. The subject of performance is a subject which comes up a lot in the field of development. Everyone talks about it, but few measure it. The dept tools have a tool to measure it, you have to learn to decipher what it’s saying, so I advise everyone to play around it a bit.
Thanks so much for all the information. We are really looking forward to hearing your next talk! But, before that, we’d love to know a bit more about you…
I’m a member of two AperiTech communities: one is RomaJS, the other one is Rust Roma, recently founded by me and two other guys, with the aim of spreading knowledge about connected data in the Rome area. In RomaJS, on the other hand, I became part of something that already existed; I try to help as much as possible by giving talks or finding speakers. I deal with web development, in particular front-end. I specialise in “data visualisation”, taking data and making it usable in a visual way for the people who have to work with it. Both the analyst and end user. I did this abroad for many years and, on returning to Italy, I wanted to bring all this to Rome too. I also attend other meetups, such as Machine Learning meetups. They already existed and I decided to participate, but only as an attendee.
What do you do in your free time? Do you spend it on programming as well?
I really like the discourse of artistic design, so I like reading design manuals, or reading how to express concepts in a visual way and I love the field of Data Journalism, I really like reading articles on this topic. I can’t name any specific passion, sport, etc… I do a little bit of everything.
Coming back to your work, why did you become a developer?
I like to solve complex problems, like Sherlock Holmes: there’s the case, then the clues. You can try to dissect as much as possible. This was the beginning of everything. I found myself working in the field of data visualisation and business intelligence and I thought “Oh, look how cool this is!”. I can show something and it’s something nice that helps people solve problems with fraud, cyber attacks or various other things.
The action of building something and having immediate feedback is something that drives my passion beyond the simple technical desire to solve an algorithm. It’s seeing that moment when someone sees what you’ve done and says: “Ah, this seems interesting,” even if they haven’t yet understood what you’re talking about, just from seeing an image. That can be an interface or it can be data or different things. It’s the practical aspect of working in this field.
Last but not least, how do you keep yourself up-to-date with the tech news? As you say, this is a field in a constant state of development. Do you attend meetups or webinars, do online courses, read lots of books, or do you have a method of your own?
Mainly, I don’t sleep! Sometimes there just doesn’t seem to be enough time. In general, I try to systematically use some tools, like Twitter, that I find very handy for tracking the latest news, and there are some sites in particular, Hacker News, or some more specific site. Turn to some more niche blogs or chat apps like Slack or some community newsletters. I really believe in the community’s active role in keeping you up to date. In the end, you can read as much as you want, but having a discussion with someone who has actually used those things gives you a different perspective on what you’re thinking of doing or would like to do. I find going to the meetups very useful.