Welcome to my portfolio
๐๐ป Hi! Iโm Davide, a Software Engineer from Italy, who likes building software and solve problemsโฆ actually, most of the time, build software for solving problems! (But there are also some exceptions (if you could see all my side projects and POC you would understand ๐ )).
๐ Iโm very interested in software development and software architecture design, and I like (try ๐) to do it in the right way.
๐ญ I love to study new technologies, design patterns, philosophies, frameworks, and especially I love to experiment with them.
๐ฌ I also like to discuss about tech stuff, because I believe that the greatest teachings and ideas come from discussions and talks.
๐ซ How to reach me:
- Email: da.bersani[at]gmail.com
- LinkedIn: Davide Bersani
- Telegram: @bersak
Do you wanna know more? Visit the About me page!
Contacts
- Email: da.bersani[at]gmail.com
- LinkedIn: Davide Bersani
- GitHub: davidebersani
- Telegram: @bersak
Experience
๐ค Data and Software Engineer
๐ Enel Group, Rome, Italy
๐ November 2020 - Present
Overall
- Engineering of AI models and data elaboration jobs, using Kubernetes, Docker, AWS serverless services (step functions, lambda, sagemaker), Python.
- Design and develop data pipelines
- Study state of the art tool for data management, like Apache Ariflow and Dagster.
- Monitoring of models and systems, applying major patterns like distributed tracing, log aggregation, metrics
- Development of dashboards and little frontends with Angular
- Design and developing of API, usually implementing a micro-services architecture
- Implement DevOps and MLOps pipelines to deploy industrialized AI and ML solutions Following some specific projects I worked on
Development of asynchronous REST API to expose inference endpoint with microservices and task queues
Development of microservices that expose REST API to trigger inference. AI models are loaded dinamically into the microservices.
Microservices developed in Python, using Flask (stack ngnix + uWSGI + Flask) and FastAPI (with uvicorn).
Celery was used as task queue implementation, with SQS as broker.
Deployed on Kubernetes.
Monitoring of microservices application and AI model performances
Implemented application monitoring for microservices application, with distributed tracing, log aggregation and metrics. Data exposed on CloudWatch with custom dashboards and log queries. CloudWatch alarms used to monitor status of microservices.
Designed and implemented a monitoring process for AI model performances. Data exposed on CloudWatch with custom dashboards. Possibility to set alarms on common models metrics (e.g. accuracy, f1-score).
Development of backend REST API and contributed to development of validation dashboard
Backend developed with FastAPI, exposes REST API. Integrated with DynamoDB.
Contributed to the development of a dashboard for validating modelโs predictions, providing groundtruth.
Developed with Angular. Deployed on Kubernetes.
Design and development of workflow for data pipelines
Serveless solutions deployed on AWS.
Workflow implemented with AWS StepFunctions. Steps developed with Lambda Functions or SageMaker Processing Job.
Integrated with different types of sources: PostgreSQL, DynamoDB, Sharepoint.
๐ค Java Software Engineer
๐ Exeest Inc. https://exeest.com/, Rome, Italy
๐ May 2020 - July 2020
I designed and implemented ad architecture for business monitoring in a microservices architecture. (Spring, Kubernetes, Fluentd, EFK, MongoDB).
This project is part of the work for my master degree.
- Experience with microservices architecture
- Monitoring microservices
- Monitoring the business trought monitoring patterns and tool (Application metrics, Log aggregation)
- Developed a microservice for query the monitored data and obtain business analytics.
- Experience with monitoring tools (EFK Stack, Prometheus, Grafana)
๐ค Android developer
๐ Nextrek s.r.l, Rome, Italy
๐ February 2028 - May 20218
Development of an Android application for the recognition of logos and trademarks and the research of related oppositions (legal documents).
This project is the work of my three-year thesis.
Education
๐ Languages: English ๐ฌ๐ง, Spanish ๐ช๐ธ, Italian ๐ฎ๐น.
๐ Master degree on Computer Science and Engineering - 100/100 with honors
Universitร degli studi di Roma Tre
2018 - 2020
Backend development, monitoring, software architecureโs design, software engineering, data management, database SQL and NoSQL,Java, Python, Machine Learning Artificial Intelligence, Big Data, Spark, Hive, MapReduce, MongoDB.
Thesis on: Business monitoring in a micro services architecture
๐ Bachelor degree on Computer Science and Engineering - 100/100 with honors
Universitร degli studi di Roma Tre
2015 - 2018
Development of an Android application for the recognition of logos and trademarks and the research of related oppositions (legal documents).
This project is the work of my three-year thesis.
๐ High School - Diploma tecnico tecnologico
ITT Marconi, Latina Italy
2015
โ LPI Essentials Linux Professional Institute
2013
Skills
Programming
Java Python Javascript Node.js Database SQL/NoSQL Spark/Hive/MapReduce Bash
Tools
Git Fluentd Prometheus/Grafana Docker Kubernetes
Interests
I love to study new technologies, design patterns, philosophies, frameworks, and especially I love to experiment with them. I also like to discuss about tech stuff, because I believe that the greatest teachings and ideas come from discussions and talks.
But technology is not my only passion. Iโm a Scout FSE, and Iโm very proud about my path. Thanks to this I lived wonderful experiences and allowed me to grow up with solid and good values.
How to not include my passion for sport! I love football, basket, padel, ping pong and I think any other kind of team sport.
Curriculum
Link to my CV
LinkedIn: Davide Bersani