Curriculum

Profile

In my 20+ years’ experience in professional software development, I started with .Net/C# language, continued my career in mobile development (Nokia platforms, Qt/C++) to finally become a Python/Django backend developer. During these years I also became an expert user and administrator of Linux systems. I am constantly striving to learn new technologies and to improve my skills. My ideal working place is an Agile environment where Test Driven Development and Continuous Integration are the norm and where I can balance my work between writing code, pairing and mentoring junior developers.

Current position: Backend Software Engineer at Supertab (remote)

Skills

  • languages: Python, Go, C#, Java, C++
  • frameworks: Django, Django Rest Framework, Flask
  • databases: PostgreSQL, MySQL, MS-SQL and MongoDB
  • other technologies: RabbitMQ
  • methodologies: Test Driven Development, Agile (Sprint, Kanban)
  • cloud and PaaS: Amazon AWS, Heroku, CloudFoundry, Docker
  • automation: Ansible

Professional Experience

January 2019 / present - Backend Software Engineer at Supertab (remote): I’m working as Python/Django backend developer for Supertab (formerly known as LaterPay), a company with a fully distributed and remote team. In my current role I have the opportunity to work on a backend service which uses Django, Django Rest Framework and it’s based on a PostgreSQL database.

November 2016 / December 2018 - Software Developer at Government Digital Service (London):  I worked in the Data division of GDS as Software Developer in a team of data scientists. My role was to help the team to deliver well structured Python applications, mentor other developers and bootstrap new projects. During the last year I’ve improved my data science skills and helped my team to deliver a couple of Machine Learning based projects. I then moved to Data Ops team for other Python related work and finally moved to Cyber Security team to help the development of a Python/AWS based application to detect and report misconfigurations with potential security implications.

February 2016 / November 2016 - Software Engineer at Marks & Spencer (London): Working in the “Quick Order” team to deliver a Python/Django based tool used internally by the customer care. I’m also working on the Android version of Quick Store used by staff in stores. The aim of Quick Order was to build an end to end journey on top of APIs and help the API team to build a reliable platform that is now being used by customer facing products.

June 2015 / February 2016 - Python/Django developer at Plentific (London): I worked on the Python/Django backend of the website plentific.com, a property service market partner of Zoopla and Prime Location. We used Django Rest Framework for the API and PostgreSQL for the database.

March 2015 / May 2015 - Python/Django, Go Platform Engineer at Yoyo (London): As a Platform Engineer, I worked on the backend implementation of the product, developing the API with Python and using Go to write complementary micro services.

April 2013 / March 2015 - Python/Django backend developer at Glow (London): I helped maintaining the backend code of our main product “Glow Machine” and played an important role in the development of a new application, developing the rest API and interacting with other API services. All these products were mainly developed in Python/Django (with an ExtJS frontend) and using both PostgreSQL and MongoDB as databases. At Glow I also maintained the infrastrastructure (Debian server, PostgreSQL, MongoDB, Django, Nginx) where we deployed our web application and leaded the migration to Docker containers.

June 2012 / September 2012 - Software Engineer in Nokia (Tampere): I worked in Nokia with a 3 months contract as software engineer in the “Nokia Developer Forum”. My role was writing examples in Qt/C++, working on some Qt libraries and helping developers on Nokia Forum. During this period I worked to SocialConnect, a Qt library to connect to Facebook, Twitter and Instagram and QGoogleAuth, a Qt library that implements 2-steps Google authentication.

June 2009 / September 2009 - Software Developer for Igalia: During a 3 months Internship at Igalia I developed a Python binding for MAFW (a multimedia framework for Maemo OS).

November 2006 / December 2006 - Software Developer for Develer: I developed an embedded software in C language that manages employees badge and doors alarm.

July 2005 / October 2006 - Software Architect and QA for Kyklos: I joined the company as Quality Assurance for some softwares they were developing, then I developed some parts of applications in C# (.Net) language, then I wrote the architecture of some .Net class for Kyklos programmers team in Romania.

January 2004 / July 2005 - Software Developer for Megamente: I developed applications in C# and Vb.Net languages. The kind of application I developed are web applications, desktop applications and embedded applications (with .Net Compact Framework).

August 2003 / January 2004 - Software Developer for Orange Informatica: I developed applications in Visual Basic 6 and Visual Basic.Net, Microsoft Access applications and a little of PHP/MySQL.

August 2002 / July 2003 - Software Developer for Levon Italia: I developed database applications in Vb.Net and MsSql Server and I was a System Administrator for their Linux server.

June 2001 / September 2001 - Software Developer for Softec: I’ve been a software developer at Softec S.r.l. for the Audiotex customer (an important local Call Center).

Projects and Open Source Contributions

I’ve been a strong contributor to open source project for almost a decade and I’m currently working on some Python related libraries and experimenting with MicroPython. In the past years I’ve fixed bugs for Django, Django Rest Framework and contributed to Ubuntu Unity 2D. I founded and managed the Linux User Group of my home town (Pistoia) for 12 years and I’ve been involved in Ubuntu Community, Maemo/MeeGo Community and recently in the Python Community. All open source projects I’ve contributed to are available on my GitHub profile.

Other roles

Between 2005 and 2008 I worked as a system administrator consultant (Linux systems), I managed the Pistoia Wireless project, I taught programming at a local school and I wrote articles for an italian Linux magazine.

Conferences and Talks

  • April 2018 - Practical Machine Learning with Python and scikit-learn (PyCon Italy)
  • April 2017 - Getting Started with requests HTTP library (PyCon Italy)
  • September 2016 - Getting Started with requests HTTP library (PyCon UK)
  • April 2016 - Getting Started with BBC micro:bit (PyCon Italy)
  • January 2016 - Django ligthning talks (FOSDEM)
  • January 2012 - QtDay Italy: Introduction to QtAmbassador program
  • May 2010 - PySide: Python Bindings for the Qt Framework (PyCon Italy)
  • October 2009 - python-mafw: MAFW framework for Python developers (Maemo Summit)
  • September 2008 - ESBox and Pluthon Eclipse plugins: how to use Eclipse to develop Maemo applications (Maemo Summit)
  • May 2008 - PyMaemo: Python for Nokia Internet Tablet (PyCon Italy)

Languages Knowledge

  • Italian: native
  • English: fluent
  • Spanish: basic
source code available on GitHub
Built with Hugo
Theme Stack designed by Jimmy