Pietro Di Bello

Agile Software Engineer and XP Coach

This project is maintained by xpepper

Hi! I’m Pietro 👋
I am a passionate coder, I like to build products that can change the life of people.
I am a coach and a trainer, I feel proud and happy when I can help my teammates get better every day at their jobs.
I am an agile developer, I try to embody the agile and lean principles in my professional life.
I love refactoring, testing and eating an elephant solving big problems one bite at a time, with tiny and safe steps.

My preferred programming languages are Kotlin and Ruby, but the one I know best is Java.
The people I owe the most are Kent Beck, Joe Rainsberger and Martin Fowler 🙏

I suck at drawing, but I like to draw ‘cause I think drawing and visualizing are the best way to understand things.
As a trainer, I held many courses on TDD, clean code, refactoring and taming legacy code.

I currently work for Casavo as a product contributor.

What I do

I love agile methods!
I started with eXtreme Programming (XP) in 2002, in the first XP team in Italy.
Then I widened out my experiences with Scrum, Lean and Kanban, which all have great and inspiring principles.
In the end, “being agile” basically boils down to inspect & adapt, work in tiny steps, use short feedback loops, learn constantly and visualize everything. And work together.

Technically speaking in my career I’ve used Java, Kotlin and Ruby extensively, and a bit of C#. I used Javascript too, mainly on the server side (NodeJS).

But, besides programming languages, I try to learn and use techniques which help me work better, reducing the risks and lowering the stress, in any context I may happen to work: Refactoring, Test-Driven Development, Continuous Integration, Project Automation (and DevOps practices, too) among others.
As a trainer, I held many courses on learning TDD, writing clean code, refactoring and taming legacy code.

I’m also a firmly believer in the power of Visualization, from visualizing the value stream of a production process, and capturing the workflow of a team on a board, to sketching ideas and diagrams.
All those activities, in my experience, helps you and your team building a shared understanding, creating alignment between people and grasping new and unrealized insights and improvement opportunities.

I consider myself a full-stack developer, meaning that I deeply care for the overall outcome of the project efforts, end-to-end, not just that my (or my team’s) tasks are in the DONE column in a task board somewhere.

I’m also a conference speaker, because I like to share what I’ve learned and receive feedback from others about my ideas. And because, after all, I like challenges.
My most recent presentations were about the daily journal practice we use in our teams, improving your hiring process to create a great team, creating a serverless architecture with AWS Lambda and some lessons I learned on continuous delivery on a Java project. It was an honor and a pleasure for me to speak about these topics at Codemotion Berlin, ScanAgile Helsinki, Codemotion Milan, Italian Agile Days, among others.

My previous experience at XPeppers / Claranet

I previoulsy worked for XPeppers (a Claranet company), where I helped clients to shape their ideas into actual digital products, using agile methods, and more generally any approach that can help a project to thrive and succeed.

Here at XPeppers I put as much effort in developing products as I put in helping my teammates grow, pair-programming with them as much as I can, helping them to progress in their own learning paths, making code katas with them, and sharing the essence of agile methods.

Noteworthy experiences I had at XPeppers

Euleria - E-health Company (from August 2021)

I’m working with Euleria to help them improve their end-to-end product development process, focusing not just on the technical part of the flow, but also on the other parts (discovery, planning, releasing) that are key to the success of every digital company.

Arca Vita - Insurance Company (from September 2020)

I’m helping ArcaVita dev teams to improve their skills and awareness on clean code that works, with

Mercury Payment Services (then NEXI) - Payment service provider (May 2016 - May 2021)

I led the team working on several products composing the main payment solution for the largest italian bank. My team worked on:

Paros - Payment platform for public administrations (July 2014 - April 2016)

As an agile coach, I trained the dev team of the client on the engineering practices of XP, starting from clean code, TDD, refactoring and continuous integration.
Then I worked everyday as an embedded component of the dev team (together with other colleagues from XPeppers), helping them embracing an agile and lean process (mainly Scrum plus technical practices from XP).
The platform is basically a backend developed in Java, publishing an API consumed by a single-page app (AngularJS). We’ve also developed a backoffice webapp, developed using the Play framework with Java.

The developed architecture uses extensively the CQRS pattern and an Event Sourcing approach, to track all changes of the core application state as a sequence of events.

PhotoVogue - Social network for fashion photographers (April 2016 - June 2016)

As an agile developer, I helped building the backend API for this platform, a social network for fashion photographers, with 150.000 users, 400.000 photos and 3.000 new photos uploaded daily. We used a serverless architecture on AWS Lambda.

Famas System - Intelligent Transportation Systems (March 2016 - October 2017)

As an agile coach I’m supporting Famas in evaluating an agile process for the development of their products.

BeMyEye - Mobile crowdsourcing (May 2016)

As a trainer, I’ve held a course on the Java language for a team that had to switch their technological stack from PHP to Java and AngularJS. The resources I used (exercises, examples, stuff to read and study) are published on github: https://github.com/xpepper/java-basics

For more detailed project descriptions please look them up on LinkedIn.

Some of the most relevant books I’ve read in the last years

Where to find more about me

LinkedIn: https://it.linkedin.com/in/pietrodibello

You can find more info about me on my LinkedIn page. There you’ll find some of my most relevant experiences, some projects I worked on, several presentations I gave about topics I care. And you can also find some nice photos taken here and there.

GitHub: https://github.com/xpepper

On GitHub you can find my personal projects, some projects I follow, and several exercises and katas I keep repeating to “sharpen the axe”.

Writeups, articles and thoughts: https://hackmd.io/@pierodibello

I use to write my notes and collect my learning moments on HackMD.
I also write posts on Medium and on Gist.

I use to create many mindmaps when I study!

Here are some of the lastest mindmaps created:

“Le voci del codice” YouTube channel

I keep a youtube channel with my two friends, “le voci del codice” (in italian), where we talk about different topics we find interesting (like clean architecture) or we play coding katas together (like the poker hands kata), to stretch our skills.

Presentations

You can find some of my slides here:

Videos

Interviews

I had the pleasure to be interviewed by Vasco Duarte for his podcast, Scrum Master Toolbox Podcast. Here are the five episodes:

  1. http://scrum-master-toolbox.org/2016/12/podcast/pietro-di-bello-on-the-3-dimensions-of-success/
  2. http://scrum-master-toolbox.org/2016/12/podcast/pietro-di-bello-on-the-5-problems-every-scrum-master-must-help-the-team-recognize-and-own/
  3. http://scrum-master-toolbox.org/2016/12/podcast/pietro-di-bello-describes-effective-tools-for-change-management/
  4. http://scrum-master-toolbox.org/2016/12/podcast/pietro-di-bello-on-the-dynamic-definition-of-success/
  5. http://scrum-master-toolbox.org/2016/12/podcast/pietro-di-bello-describes-symptoms-of-systemic-problems/

Other places

Sometimes I tweet. Sometimes I take nice pictures and publish them on Instagram.

Notes