Hello Marco, first of all could you tell us a bit about yourself and what you do for a living? Which community are you a member of?
My name is Marco Liberati and 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 choose to 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.
You seem super passionate about your job but have you ever thought about changing it? Do you imagine yourself being in this sector forever? Or do you think there could be an evolution?
I believe that we’re also working to evolve. I’d bet on this field being refined further. In other words, we are pushing forward on the graphic interface side and, of course, more patterns and applications are forever emerging which change the interface, rendering it simpler. Other fields may also emerge, such as the “voice” discourse, which I’m not very well-informed about, but I see that they’re starting to come out. Personally, I think I’m still in this field because I believe there’s still something to say, but it doesn’t mean that future technologies won’t perhaps be able to tell us something, and maybe I’ll be interested in going there.
Now it’s time to share some of your secrets with us! Can you tell us how you keep yourself up-to-date with 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.
Do you have any secret projects that you’re working on after work?
Yes, too many! You need to be able to balance things well. There’s work, there’s keeping yourself updated, and then there’s your secret ambition. I can’t juggle these three things yet, so I have to give one of the three priority. I’d like one day to publish something that can be useful to someone, whether it’s a computer project or an application….. I don’t know… something more concrete which is then relevant to the community you’re part of.
Coming back to the meetups – you are often a speaker, presenting your own talks. Can you give us a little summary of what you presented during your last talk?
The idea was to talk about this new tool GraphQL, and how it can complement what you usually have in the back-end, or take a graph database, put it in front of a tool that lets you express relationships and connections between the various data, and find yourself away in the front-end to express what you want in the simplest way possible. So instead of saying I want an entity of this kind, I look inside this entity, I see what else to ask and with GraphQL I can express everything I want at once.
In that talk, we saw how to integrate this option. Since I am navigating the various entities expressing a relationship, in GraphQL I want to be able to bring this expressivity to the database. At this point in this talk, we saw how these two technologies, GraphDB and GraphQL, can connect in a very simple way, so as to allow this expressivity in the request for information that we then perform. The complicated thing is to understand how to ask for this information and, once we find it, put it together in order to display it. In this talk, we spoke about how to build a flow that would let us do all this in the simplest way possible.
Who is this tool for? Who could use it? Who should use it in the workplace to improve their performance?
Like all tools, it doesn’t necessarily represent the solution, but it’s a “possible solution” that we’ve suggested. Sure, for the current situation it’s still a bit underdeveloped. Perhaps I wouldn’t recommend putting it into production on a big project, but it’s an interesting idea to cultivate. We’ve realised ourselves that we are novices when it comes to the literature and practical contexts, but that many people are delving into it. We need to understand then if there is that solid base which means we can put it into production, which makes it usable for everyone in a reliable way. From what we’ve tried, it’s a good setup if they actually work.
So as you put it, it’s an unfinished technology that is still evolving?
Yes, exactly. It’s still not fully ready, I certainly wouldn’t tell everyone to go and use it, but I would say start using it on smaller projects, experiment with it, see how it goes and then you can discuss whether to adopt it or not. It’s certainly sound and is getting more sophisticated. If it doesn’t get used, it won’t develop. Try it out!
Why did you decide to talk about it? To let people know about this new tool?
Like Graph Roma, we’ve spoken several times about the discourse surrounding connected data, GraphDB and in some contexts needing to navigate these connections between the data. The problem is that often you navigate this structure that includes relations, but then you have to flatten everything out to get the result and shift the problem of “what I need given this thing I’ve got on the front-end”, so whoever is on the front-end often finds themselves having to gather data here and there.
So are you trying this out in your free time?
At the moment, in my free time. I’d like to take it into the world of work, but it’s a bit more complicated because it’s not a solid solution. I have to find the right context to bring it into work.
Could you bring it to the future meetings and could you elaborate on this topic?
I think so, I think it’s a topic worth investigating. Since both technologies are fairly new, GraphQL and Graph Database, the idea of bringing them together and using them jointly is still not so common at the moment, compared with using the two things independently. There’s still plenty to do, and we have our work cut out.
What are your favourite types of tool that you use as a developer? And what piece of advice would you give to those who’d like to pursue a career path like yours?
Personally, I believe that it’s important to learn how to manage and understand trends within data. In the end, what you’re doing is manipulating the data. What I recommend is to learn not only to manipulate them but also to make them accessible to others in a technological way, then have a look on tools like GraphQL, for example, to get a good understanding of which are the suitable methodologies to use. I’d argue in favour of the front-end since you use frameworks or technologies like Angular or you do everything yourself, so it’s worth knowing them better in order to show them to the end customer.