I tend to have strong opinions on different aspects of software development, architecture, code, culture; yet I'm fairly open to exchange and discussion regarding differing positions.
On the lookout for technologies that streamline the development process, the reasoning process, the delivery; it's not about the technology in itself but about the affordances it can provide.
Programming languages, software frameworks, C.S. theories are all valid means to simplify the daily chores of development and possibly reveal new unforseen opportunities.
I do care for the user, at the interface and interaction level.
I believe that the agile approach has its merits, as long as it stays grounded in day to day experience and feedback.
I aim to become a good software architect. I never did cover such role officialy but my current and previous jobs entailed evaluating and choosing the appropriate software stack and technologies.
I actively embraced the current wave in functional programming and reactive systems design. I especially fancy distributed systems, Domain Driven Design, Artificial Intelligence and games.
I'm constantly reading software books and articles and keen to attend to software conferences, when possible. I attend and contribute to local developer groups.
- Scala design, development and support for different projects, including: web-apis, streaming event storage, financial trading, blockchain.
- Co-organizer of the italian conference on Scala
- Core development team for the Livebase product. The job cover all aspects and the whole development lifecycle of a web-based backend-generating turnkey application provided as a PaaS solution.
- Integra Sistemi
- Support for the Livebase team. The job cover all aspects and the whole development lifecycle of a web-based backend-generating turnkey application provided as a PaaS solution.
- Design, development, testing, deployment of both back-office and B2B integration systems for a mid-sized ITC company.
- MC3 Informatica
- Software consultancy including design, developement and maintenance of web applications to manage fiscal audits for the italian tax agency.
- Sinergy Group
- Software consultancy for website and mobile development.
- Development of game and entertainement platforms for web and mobile.
- 1994–2001Master degree in physics at "La Sapienza" in Rome, with a thesis on Enterprise Knowledge Management applied to physics research
- 2014Vaadin 7 certified developer
- 2013Coursera — Principles of Reactive Programming
- 2012Coursera — Functional Programming Principles in Scala
- 2012Brief courses on Management and Communication
- 2007–2015First-aid and fire prevention training
Experience working on macOS, linux and windows systems.
Advanced knowledge of scala and its ecosystem: akka, play! framework, slick, typelevel ecosystem.
Long term experience with java 8+ and the java-ee platform, familiar with a wide range of open source libraries and the jvm in general.
Basic proficiency with haskell and elm.
Professional experience with intellij idea, vscode, eclipse, sublime text.
Professional experience with different development and deployment tools including sbt, maven, gradle, git, jenkins, docker.
Professional experience with sql, relational and nosql databases (apache cassandra, mongo-db) and apache kafka.
Consolidated knowledge of object oriented and functional approach and related design principles and patterns. Familiar with reactive distributed systems, test-driven design, domain driven design, cqrs, event-sourcing, category theory.
I can drive cars and motorbikes
I play drums and sing
I love ice-hockey, surfing and snowboarding
I read a lot
I love my family and believe in God