As a software engineer my role is to build robust systems which are scalable and maintainable. I am passionate on software quality and I give a great deal about it.
My skills include writing simple and effective code compiling to software craftsmanship best practices, as well transforming legacy code to fully testable maintainable software reducing technical debt.
My foundations are on server side software on high-traffic internationalised web sites, ranging from shopping comparison sites, airline booking system and recently I have been heading development on a technology innovation startup.
I have professional experience in Python and Java and enjoy functional programming languages and coding and building things on my spare time.
I have built, lead and mentored teams of software engineers and product development, as well managed and developed ground-up scalable systems.
Areas of Expertise:
Programming Languages:
- Python: Tornado, Motor, PyMongo, Boto, ZeroMq, Gevent, Twisted, Beautiful Soup, Nose, Django, Pyramid
- Java: JEE, Spring, WebLogic, Hibernate, Soap, Hadoop, XText, Eclipse Rcp, Antlr, Hadoop, Guava, Guice, Maven, Junit, Mockito, Hamcrest
- Javascript, Node.js, AngularJs (Familiar)
- Lisp, Clojure, Scala, Haskell, C, Perl (Familiar)
Databases: MongoDb, SQL databases.
AWS: Ec2, S3, SqS, Ses
Version Control: Git, Subversion, Perforce, Clearcase
IDEs: IntelliJ, Eclipse, PyCharm
Enterprise Search: Solr, Fast ESP, Lucene
Operating Systems: OSX, Linux, Windows
Methodologies: TDD, Extreme Programming, Scrum, Kanban
Data Engineer @ From June 2015 to Present (7 months) London, United KingdomSoftware Engineer @ From March 2013 to Present (2 years 10 months) Head of Development @ Chirp is a new platform for connecting devices with sound in the same physical location, wirelessly, and without a network using a tiny sound-clip called a 'chirp'. Any device that carries audio (including mobiles, radios, TVs, or ATMs) can chirp.
I recruited and headed up the engineering team leading the evolution of the software platform across multiple devices and environments.
I have developed and managed a large scale Python backend and Restful APIs as well helped defining and improving a broad range of products spanning from social media integrations, third parties SDKs and service integrations. From September 2014 to April 2015 (8 months) London, United KingdomSoftware Engineer/Scrum Master @ Ground up implementation of an airline specific content management system, which allows customers to dynamically manage booking capabilities and travel offers, and as well display dynamic content through rulesets.
My role involved the design and implementation of reusable server side components, later adopted as part of the Amadeus technology stack.
I took initiative on developing deployment tools to overcome a multi-step cumbersome deployment process, substantially saving development/support time.
Being the first Agile project in the software development division, I acted as scrum master and mentored the team on agile development practices achieving the highest quality metrics within the division.
I later joined a team involved in the support and development of tools and frameworks which constitute Amadeus MVC infrastructure shared across several products and airline websites featuring 40M+ bookings per month.
I was also responsible for the development and maintenance of a full featured Eclipse development plugin for Aria Template (Amadeus open-source client-side template language), used internally by hundreds of developers. From March 2010 to January 2013 (2 years 11 months) Nice Area, FranceIT Consultant @ Worked as full-time contractor for Amadeus, subsequently joining the company as permanent employee. From March 2009 to April 2011 (2 years 2 months) Nice Area, FranceSystem Developer @ Working for an international shopping comparison site, available in 7 countries and in multiple languages.
Responsibilities involved development and maintenance of a transaction intensive price matching system (40 millions transactions per day), the site search infrastructure and large scale affiliate partner interface.
Highlights included ground up implementation of a scalable multi node enterprise search platform based on FAST ESP.
Other responsibilities were the maintenance of site operations administrative interfaces and tools for web scraping and product matching.
The Scrum development team had a strong focus on quality and best practices, including among other things TDD, pair programming, peer reviews and collective code ownership.
Platform based on Java, Linux, and Oracle, and many open-source components. Servers deployed in two redundant data centers in Sweden and California. From July 2007 to January 2009 (1 year 7 months) Stockholm, SwedenSoftware Engineer C# @ Developed a language plugin for SharpDevelop (a .NET open source IDE) for a Calculon AB a Swedish startup based in Uppsala, Sweden.
The plugin provided full support for a fourth generation programming language, from language parsing to code completion, syntax and error highlighting. From October 2006 to April 2007 (7 months) Uppsala, SwedenSystem Administrator/Webmaster @ I have built Linux servers for standard ISP services and dial up connectivity, allowing the company to run as an independent internet service providers, regularly carrying sysadmin duties.
I have worked on several customer based project, as configuration of intranet and firewalls and built websites and e-commerce solutions, as well an internal web-based email interface. From July 1998 to July 1999 (1 year 1 month) Bari Area, Italy
International Master @ Uppsala University From 2005 to 2007 Bachelor's Degree, Computer Science @ Università di Pisa From 1999 to 2004 Erasmus Project, Computer Science @ Universität des Saarlandes From 2002 to 2003 Stefano Dipierro is skilled in: Java, Agile Methodologies, JavaScript, Git, Test Driven Development, Scrum, Software Engineering, Python, Clean Code, Enterprise Search, Lisp, Clojure, IntelliJ IDEA, Web Scraping, Apache Spark, Apache Kafka