🛠 Automate (a lot) · ⚡ Optimise (whenever possible) · ♻️ Refactor (rinse & repeat)
What do I work on?
🏢 Architecture · 📦 Containers / VMs · 🚀 Deployments · 🏗 Infrastructure (bare-metal / cloud) · 🚨 Monitoring & Alerting · 🚥 Pipelines
What could you call me?
Automation Architect · Build & Release Engineer · Cloud Engineer · DevOps Architect · DevOps Engineer · Software Engineer · Solutions Architect
What I used to be?
Chief Technology Officer · Frontend Developer · Lead Developer · NodeJS Developer · PHP Developer · Freelance/Startupper · Sysadmin · Technical Project Manager
I'm Fabio, a Passionate Solutions Architect and Application Developer with ~20 years of experience. Always enjoying creating quality web applications and web portals using cutting-edge technologies.
Throughout the years I’ve worked in different markets and industries, covering different roles, here’s a quick summary of my career path:
- Freelance, allowed to be comfortable working with the UI/UX (User Interface / User Experience) side and improve the communication with the clients.
- Employee, gave a huge experience of team and company dynamics, it also helped growing on the technical side by using different stacks, frameworks and methodologies.
- Startupper, increased my flexibility and versatility, by covering different topics such as marketing, sales, management, financial planning, accounting and bookkeeping, and much more.
- Chief, responsible for the whole IT area: from the physical infrastructure (mixed bare-metal and cloud servers) to the application architecture (web and mobile), from Projects Management to IT Recruiting, from writing procedures and policies to their implementation (eg. GDPR - General Data Protection Regulation).
Thanks to my background, I'm totally confident working either alone or in a team, remotely or on-site, in building web applications and web portals by following the best practices with a particular attention to Maintainability, Scalability, Reliability, and Performances.
Working in several positions, from Software Developer to Frontend/Backend Developer, from Sysadmin to Team Leader, allowed me to work on each layer of a web application, covering the whole life-cycle from initial requirements gathering to design, planning, coding, testing, documentation, deployment, and maintenance.
During the tech career I've managed to build these core strengths:
- Tech Stack Flexibility
- Productivity Orientation
- Work Passion
- Continuous Learning
- Problem-Solving Mindset
- Product Management
- Project Management
- Performance Optimisation
- Software Maintainability
Constantly looking for opportunities and challenges to improve my skills while providing creative and high-quality solutions.
Chief Technology Officer
Working on new strategies to, continuously, improve the quality of the technical projects and make the internal process leaner. Took charge of the whole IT architecture in a very short time and built a team
from scratch for the Head Quarter in Rome. Worked directly on the optimisation of the architecture in terms of uptime, on the implementation of a geographical nodes redundancy in order to manage any downtime
on the Data Centers, on the tech stack upgrade process (dated 2013), on the optimisation of the loading times, and on the implementation of the GDPR Policies.
Managing the interactions cross-teams by facilitating the different phases: requirement analysis, epic/story planning, estimation and forecasting, execution, delivery and follow-up.
Introduced several approaches and methodologies: standup meetings, retrospectives (internal and cross-team), gantt and burn-down charts, issue tracking system (Jira), support tracking system (company wide), deployment summaries, kanban board, planning poker, no estimates (not fully adopted), team capacity planning.
Chief Technical Officer and Lead Developer, Software Architect, Agile (SCRUM, XP) Facilitator, System Administrator, Recruiter.
Projects: Skuola.net, Ripetizioni Skuola.net, Matematicamente.it, SOS Studenti
Ansible Apache AWS (EC2, Polly, S3) Docker Swarm ElasticSearch Foreman Galera GitLab GitLab CI Jira Kanban Kubernetes MariaDB MaxScale Nginx Packer Percona Proxmox (on bare-metal) ProxySQL PHP React Native Redis Symfony 3 Terraform Varnish
Lead Developer & Owner
Created an aggregation platform for programming courses and events, in many countries, focused on developers. Took care of all the product aspects, from the IT architecture to the planning, and the implementation
of marketing and sales strategies, from the scouting process of providers, clients and partners to the relationships management, from budget management to the hiring process in several areas.
DXpertise is an IT training course aggregation platform that allow developers to find the best courses available on the market. The platform is made by developers for developers with the aim to increase the knowledge level of each one of us in order to make the whole industry better, more challenging, more qualified, more satisfying, and more fun! Want to prove yourself and get better? Join us, we are going to help you achieving it.
AdWords Capistrano CSS DigitalOcean ElasticSearch HTML5 Mandrill MariaDB Microdata & Microformats MixPanel Nginx PHP 7 RabbitMQ Redis SEO Schema.org SparkPost Symfony 3
Senior Software Engineer
Learned the internal processes and technology stack of Immobiliare.it in order to replicate it to LuxuryEstate.com and mentor the team who was working on the project. We’ve managed to work on a restyle of the UI and write from scratch the whole codebase. The whole team managed to learn new approaches such as code reviews, kanban boards, morning standup meetings and advanced tools such as Apache Thrift, Capistrano, GitLab, Grunt, PHP 7, Symfony 3, WebPack.
Apache Thrift Capistrano Code Review CSS GitLab GitLab CI Grunt HHVM Kanban Board MariaDB PHP7 Standup Meetings Webpack XHProf
Introduced some improvements related to the internal technical processes, especially adopting agile methodologies, unit and functional tests, advanced code versioning. As a tech lead on some internal projects
I've taken care of several phases of their lifecycle such as requirements gathering and estimation of the user-stories, code-reviews and post-releases retrospectives.
Some of the clients I dealt with: Autotrader, Trader Media, Golden Pages IE, 192.com.
Working in a team to develop a cutting edge real-time statistic system, then, after few months, I became the Lead Developer of the project, reporting direct to the CTO. My everyday duties were basically technical
project management, product planning and code development.
Some of the clients I dealt with: ModelZone, Staples, Chemist Direct.
Web Developer / Project Tech Lead
Working as Lead Developer to a big project, reporting directly to the CTO. My everyday duties and responsibilities were basically technical project management, customer relationships, internal / external training,
team management (3 Developers, 1 Art Director, 1 Sys Admin, 1 Account, 1 Quality Assurance), and code development.
Some of the clients I dealt with: San Raffaele, Policlinico Campus Biomedico, Samsung.
Working on showcase web sites and custom web applications, interfacing directly with the clients and taking care of every single step of the development, from the kick off to the delivery of the projects.
Some of the clients I dealt with: Studio Baggio, TBS srl, Good Night and Good Luck, OCE srl, Cilia Bus, Comet Expo.
Working on the development, from scratch, of the front-end side of a user management system integrated into all the websites in the Excite network and deployed in 6 different countries (UK, Germany, Spain, France,
Netherlands and Italy).
- Management of channels Video, Bynight, MIX and Blog of Excite
- Creation of user management system (frontend side) of Excite
- Maintenance of the sites of Excite Europe Network, the Network NanoPublishing and corporate sites
- Maintenance of a system for tracking ROI
Web / Software Developer
Managed and maintained two live core products, one e-commerce website and one travelling online community.
- StockInformatica (http://www.stockinformatica.com)
- ItalianCamper (http://www.italiancamper.com)
- NoPayZone (http://www.nopayzone.com)
CSS HTML MySQL PHP
Hardware / Software Consultant
CSS Hardware HTML Visual Basic 6
The PHP badges, renders some badges for your readme with the packagist information.
Simple Reverse Proxy with Caching, written in Go, using Redis.
Nginx 1.19+ with LUA support based on Alpine Linux, Amazon Linux, Debian, Fedora and Ubuntu.
Code Challenge Review Checklist
Opinionated Checklist for Reviewing a Code Challenge.
Developer's Learning Path
Developer's Learning Path | List of great resources.
Check that an anagram of a string is contained in another string.
CLI Wipe Free Space.
S3 Backup Tool (based on Restic).
Flash Cards - 10x Software Engineer
FLASH CARDS - 10x Software Engineer: hundreds of IT terms, synthetic description of each term.
Keep In Touch
Let's KEEP IN TOUCH: connect back to your friends. Just swipe and start chatting, randomly selected from your contacts.
COVID-19 Spreading in Italy
CLI Script + Web GUI for COVID-19 Trends in Italy, based on the Official Data.
Web Crawler in Node.js to spider dynamically whole websites.
This project allow you to protect effectively your sources, without losing performances. The only free, open-source and everyone accessible, solution that lets you sleep soundly.
WP Development Utilities
This script is useful during the development of WordPress, because will extend with a set of functions.
Save Yourself From A Disaster
The only certain thing is that it’s not a matter of IF there’ll be a disaster but rather WHEN, so better be not caught off guard. I’ll show and guide you through the details of each step I took to make my websites disaster-proof, while keeping my cloud spending on a tight leash (so you could do this too).
PUG Roma / Codemotion
Badge Poser v3.0 - A DevOps Journey
Sharing the whole journey experience. Starting with the handover of the keys of the pandora box, wandering around the deep dark forest of uncertainty and instability of the rushed deployed systems. Trying to declutter and reach a stable stage where the order reigns over chaos, where the poor guy can finally sleep at night and the pager eventually goes silent for a while. At the end we'll be reaching the so-desired level of confidence to not be worried about experimenting, changing things and upgrading infrastructure.
Infrastructure as Code
how to version changes and sleep soundly
How to Survive the Day
A bunch of pills about it.
University of Rome Tor VergataDegree Not Completed
The Go Workshop
Cybersecurity Specialization by University of Maryland, College Park
AWS Certified Solutions Architect - Associate (SAA)
- Design Resilient Architectures
- Define Performant Architectures
- Specify Secure Applications and Architectures
- Design Cost-Optimized Architectures
- Define Operationally Excellent Architectures
ACL API Gateway Aurora CloudFormation CloudFront CloudWatch DynamoDB EBS EC2 ECS EFS ELB Elastic Transcoder Elasticache Glacier IAM Kinesis Lambda Polly RDS RedShift Route53 S3 SNS SQS SWF Snowball VPC
Cambridge English: Advanced (CAE)
IWA – CWP – Application Developer
Zend Certified Engineer
- PHP Basics
- Data Formats and Types
- Web Features
- Strings and Patterns
- Databases & SQL
- Error Handling
Advanced Distributed Systems Design using SOA & DDD
Cisco Networking Academy
Cisco Networking Academy
Cisco Networking Academy
Introduction to Cybersecurity
CNSS Certified Network Security Specialist
APM Fundamentals - Limited Offer
Anomaly Detection for Cybersecurity - Limited Offer
ECE Fundamentals - Limited Offer
Fundamentals of Securing Elasticsearch - Limited Offer
Introduction to Observability: Logging - Limited Offer
Kibana Fundamentals - Limited Offer
Observability Fundamentals - Limited Offer
SIEM Fundamentals - Limited Offer
RU101: Introduction to Redis Data Structures
RU202: Redis Streams
Reactive Architecture(6): CQRS & Event Sourcing
Reactive Architecture(5): Distributed Messaging Patterns
Reactive Architecture(4): Building Scalable Systems
Reactive Architecture(3): Reactive Microservices
Reactive Architecture(2): Domain Driven Design
Reactive Architecture(1): Introduction to Reactive Systems
Cybersecurity Capstone Project by University of Maryland, College Park
Hardware Security by University of Maryland, College Park
Cryptography by University of Maryland, College Park
Software Security by University of Maryland, College Park
Usable Security by University of Maryland, College Park
Architect great solutions in Azure (Trophy)
Azure fundamentals (Trophy)
Evolve your DevOps practices (Trophy)
EF Standard English Test
EFSET English Certificate - Score: 74/100, Proficient (CEFR C2)
CompTIA Security+: Complete Course & Practice Exam
- Overview of Security
- Malware Infections
- Security Applications and Devices
- Mobile Device Security
- Application Security
- Secure Software Development
- Network Design
- Perimeter Security
- Cloud Security
- Network Attacks
- Securing Networks
- Physical Security
- Facilities Security
- Access Control
- Risk Assessments
- Monitoring and Auditing
- Public Key Infrastructure
- Security Protocols
- Planning for the Worst
- Social Engineering
- Policies and Procedures
AAA of Security ARP Poisoning Application Security BYOD Backdoors Bluetooth Attacks Botnets Buffer Overflows CIA Triad Cloud Security DDoS DNS Attacks Data Loss Prevention (DLP) Disk Encryption Firewalls Hardening Hijacking Honeypots & Honeynets IDS Logic Bombs Malware Mobile Device Security NIDS and NIPS Network Access Control Network Address Translation Perimeter Security Physical Security Policies and Procedures Ports and Protocols Privilege Escalation Proxy Servers Ransomware Replay Attack Rootkits Routers SDLC Principles SIM Cloning & ID Theft SQL Injection Secure Software Development Spam Spoofing Subnetting The OSI Model Trojans Trusted Operating System Unified Threat Management VLANs Virtualization Viruses Web Browser Security Wireless Attacks Worms XSS & XSRF
PRINCE2 Agile Foundation: Complete Course & 2 Practice Exams
- Overview of PRINCE2
- Introduction to Agile
- Blending PRINCE2 and Agile
- The Seven Principles, Seven Themes, and Agile
- The Seven Processes and Agile
Agile Frameworks Business Case Change Closing a Project Controlling a Stage Directing a Project Kanban Lean Startup Managing Product Delivery Managing a Stage Boundary Organization Plans Progress Quality Risk Scrum Seven Principles Seven Processes Seven Themes Starting Up a Project and Initiating a Project Using Scrum
ITIL 4 Foundation: Complete Course & 2 Practice Exams
- Service Management
- Four Dimensions of Service Management
- Service Value System
- Guiding Principles
- Service Value Chain
- Continual Improvement
- General Management Practices
- Service Management Practices
- Technical Management Practices
Architecture Management Availability Management Business Analysis Capacity and Performance Management Change Control Collaborate and Promote Visibility Continual Improvement Costs Deliver and Support Deployment Management Design and Transition Engage Focus on Value Guiding Principles IT Asset Management Improve Incident Management Information Security Management Information and Technology Infrastructure and Platform Management Keep It Simple and Practical Knowledge Management Measurement and Reporting Monitoring and Event Management Obtain/Build Optimize and Automate Organizational Change Management Organizations and People Outcomes PESTLE Partners and Suppliers Plan Portfolio Management Problem Management Progress Iteratively with Feedback Project Management Relationship Management Release Management Risk Management Risks Service Catalog Management Service Configuration Management Service Continuity Management Service Desk Service Financial Management Service Level Management Service Offerings Service Relationships Service Request Management Service Value Chain Service Value System Services and Products Software Development and Management Start Where You Are Strategy Management Supplier Management Think and Work Holistically Utility and Warranty Value Value Streams Value Streams and Processes Workforce and Talent Management
AWS Well-Architected Training
- Describe the Well-Architected pillars, features, and common uses of the Well-Architected Framework.
- Understand the design principles, key services, and best practices for each pillar.
- Understand how to use the Well-Architected Framework to review your architecture.
AWS Technical Professional (Digital)
- Introduction to AWS
- AWS Services
- AWS Architecture
- AWS Solutions
AWS Infrastructure overview Analytics Application Services Artificial Intelligence Big Data Cloud Migrations Cloud computing overview Compute Database DevOps Developer Tools Enterprise Applications Fault Tolerance and High Availability IoT Management Tools Migration Mobile Applications Networking Security Architecture Security, Identity and Compliance Storage Well Architected Framework
Become a Ethical Hacker
- Ethical Hacking: Overview
- Introduction to Web Design and Development
- Learning Cryptography and Network Security
- Troubleshooting Your Network with Wireshark
- Learning Bash Scripting
- Learning Kali Linux
- Ethical Hacking: Footprinting and Reconnaissance
- Ethical Hacking: Denial od Service
- Ethical Hacking: System Hacking
- Ethical Hacking: Scanning Networks
- Ethical Hacking: Enumeration
- Ethical Hacking: Social Engineering
- Ethical Hacking: Sniffers
- Ethical Hacking: Session Hijacking
- Ethical Hacking: Viruses and Worms
- Ethical Hacking: Wireless Networks
- Ethical Hacking: Trojans and Backdoors
- Ethical Hacking: Website and Web Application Testing
- Ethical Hacking: Perimeter Defenses
- Ethical Hacking: Penetration Testing
Become a DevOps Engineer
- DevOps Foundations
- DevOps Foundations: Infrastructure as Code
- Learning Docker
- Chef Essential Training
- Learning Puppet
- Learning Chef
- Learning Kubernetes
- DevOps Foundations: Continuous Delivery/Continuous Integration
- Learning Software Version Control
- DevOps Foundations: Lean and Agile
- DevOps Foundations: DevSecOps
Abao CAMS Chef CloudFormation Containers Continuous Delivery Continuous Deployment Continuous Integration DevSecOps Docker Gauntlt Git Immutable Deployments Infrastructure as Code Kaizen Kubernetes Lambda Mercurial Nexus Perforce Puppet Robot Rundeck Serverless Subversion TFS Vagrant
Become a Manager
- New Manager Foundations
- Hiring Your Team
- Onboarding New Hires
- Delegating Tasks
- Leading Productive Meetings
- Performance Review Foundations
- Building Accountability Into Your Culture
- Managing for Results
- Rewarding Employees
Accountability Coaching Delegation Hiring Process Interview Leadership Managing for Results Onboarding Performance Review Productive Meetings Responsibility Rewards
Become a React Native Developer
- Learning React Native
- React Native Essential Training
- Create a CRM Mobile Application with React Native
- React Native Ecosystem and Workflow
- Building Material Design Apps on Android with React Native
Animations Deco IDE Deploy DevTools Firebase Flexbox Forms Fundamentals Gestures Jest Lodash Material Design NativeBase Nuclide Platform API React Native Debugger Redux Storybook
Become a Network Administrator
- Networking Foundations: Networking Basics
- Networking Foundations: IP Addressing
- Networking Foundations: Network Media (LANs)
- Networking Foundations: Network Media (WANs)
- Networking Foundations: Protocols and CLI Tools
- Protecting Your Network with Open-Source Software
- Learning IP Addressing
- Learning Network Troubleshooting
- Learning Subnetting
- Learning the Packet Delivery Process
- Learning IPv6
- Advanced Cisco Routing: RIPv2, EIGRP, and OSPF
- Troubleshooting Your Network with Wireshark
- Learning Cisco CLI Switch Configuration
- Learning Cisco CLI Router Configuration
- Cert Prep: Cisco Certified Entry Networking Technician (100-105)
ARP CLI Tools Cisco CLI DHCP DNS EIGRP FTP Firewall HTTP(S) ICMP IDS IMAP IPv4 IPv6 LAN NAT Network Devices Network Medias OSI model OSPF PAN POP RIPv2 RTP SIP SMB SMTP SNMP SSH Subnetting TCP TCP/IP model TFTP Topologies UDP VLAN WAN WINS Wireshark
I left the company where I directly report to Fabio more than one year ago and I'm still learning a lot of useful and profitable stuff, tools and technologies due to the experience I had with him and his staff. In addition to this he has a very persistent attitude and his mentorship is a great value for any professional who has the luck to work with him.Fabrizio Salmi Senior Network and System Administrator
Fabio was a great asset to my technical team from the outset. He possesses a solid and up to date technical understanding of web development, best practises and Agile methodologies and has a critical mindset when architecting solutions. A pleasure to work with and always keen to share his knowledge and promote inter-team learning.Dan Donegan CTO
I had the pleasure to work with Fabio when I started working on a challenging project with crazy requirements (FusePump's internal real-time tracking and reporting tool). I needed to expand my team and he stood out among the new hires, so I wanted to work with me. Fabio impressed me by his manner of carrying out his tasks with competency, accuracy and punctuality. His best strengths are the ability to quickly pick up on new technologies and/or frameworks he's not even ever heard about, and the fact that you'll never need to explain to him the requirements a second time. His coding is driven by genuine passion. Also, I shouldn't leave out the fact that I've never seen a developer cover their code with unit tests as much as Fabio does. Definitely a top of the game developer, and a friend.Samuele Artuso Team Leader
Fabio has a deep understanding of the platform, the language, its synthax and all the tricks you can take advantage of to solve unhandy situations: from a low-level perspective, he has skills like no PHP developer I've ever seen.
Additionally, in the last 2 and a half years he made a really vauable experience with the symfony framework, which has been his daily basis for writing webapps here at DNSEE.
He's also making experiments with new technologies, like Mongo, and in the last 2 years I've seen him turning into a really good PHP developer, after coming from the old PHP school.
I would definitely hire him in my next team, as you'll always need guys like him during every kind of projects' lifecycle: when he works under a lead, his commitment is a goldmine.Alessandro Nadalin Team Leader
Working with Fabio is stimulating. He has great talent in the programming and development jobs.
His excellent technical skill give him, and the team where is working, high speed development, and he is able to understand the problems related to a project development.
Curious and passionate new technologies, Fabio like to find new way to solve the issues that have been entrusted.
Deep knowledge of Internet, Fabio can follow the most difficult solution with high concentration and an overview of the problem.
These quality give the opportunity to all the team to learn new techniques, and new ways to solve the daily issues.Francesco Contini Software Architect