I've been a consultant since early 2002. During the past 17 years, I've joined teams of all sizes to help them develop software for their customers.
My focus has always been on delivering value by infusing on the team the concept of code quality and fast feedback cycles.
I'm a strong believer in continuous improvement. I'm always on the lookout for new things to learn that will help me get better at what I do. Once I learn something, I love sharing that knowledge with others. In fact, I made teaching and mentoring my mission.
If you're part of a team of developers who is looking to improve their skills in one of these topics, I might be able to help. Here's what I can do for you.
When you first approach a new topic, it's easy to feel overwhelmed by the sheer amount of information available to you. It's hard to know where to start. In those cases, the easiest way to jump-start your learning is it to have someone come in and point you in the right direction, help you separate the signal from the noise.
The best way for you to learn depends on your needs and how much you can fit in your schedule: it might be enough with just a 1 hour presentation (maybe combined with a breakfast seminar or during lunch break) or you may want to have a full-day workshop. I deliver both kinds of training on any of the topics I specialize in.
If you're interested in having me for a full day of training, you're welcome to check out my current workshops and see if you can find something that suits your needs.
Traditional classroom training is a great way to get you started on a topic but it can only get you so far. Once the workshop is over, it's up to you to continue your journey by finding new ways to learn. Being in training also means being away from your project. This alone can seriously limit the amount of time you are able to invest.
So, here's my idea:
What if, instead of choosing between training and productivity, you could have both.
How? By having me join your team for a while. During that time, I'll be actively working on your project while, at the same time, I'll be coaching the rest of the team in the topics you care about. I call this teaching by doing — I'll teach you how to do something by actually doing it together with you.
In my experience, this is the form of learning with the longest impact, giving teams the best chance to grow and actually change the way they work.
I've also specialized in building and maintaining a Continuous Delivery environment, both on Windows as well as on Linux. If your team has a DevOps culture, that's an even better match in my book.
If all you need is a bit of advice, I'll be happy to assist you with traditional consulting. To give you an idea of what I can do for you, here are some of the projects I've helped my customers with:
These assignments typically take the form of dedicated workshop days where we walk through the task at hand together. Depending on the scope and complexity of the project, these sessions can either be held in person, remotely or a little bit of both. Of course, you can also choose to have me on your team for longer assignments.
Regardless of how you choose to improve your skills, here's the list of topics I specialize in and will gladly help you with.
If you're interested in learning or improving your knowledge in one of these areas, get in touch. You'll find my contact information below.
I always ask my clients for feedback throughout our collaboration. Once an assignment is over, I ask them if they're willing to share a testimonial. Here's what they had to say:
— Jonas Rylander, CTO, Skånska Byggvaror
Enrico took on the responsibility for our web backend after a short handover. He has been able to resolve all issues and new requirements that we have thrown at him. He has with passion, knowledge and great enthusiasm supported our business and customers in an excellent way.
Enrico's passion for teaching and mentoring has given us a lot more than just his work done.
— Edith Lesage, Automation Platform Expert, Alfa Laval
At Alfa Laval, the Automation Development department used Bazaar to handle the source code. Bazaar has limited features, so we decided to have a better and more sustainable solution by using Team Foundation Server and Git.
Enrico and I worked together during two intensive days to find the perfect solution.
Enrico found how to migrate from Bazaar to Git while keeping the history and the version flags. He helped me structure the new repositories in Git to fit our needs by creating different branches. He also helped me create Git submodules in our application, to share parts of the code with different projects. This feature really improved our code development.
Enrico knows Git so well; when I have an idea, he helps me realise it in an effective manner.
— Philip Juhl, Product Owner at DevOps-Serviceteam, Jyske Bank
I've had the pleasure of holding a Meetup with Enrico Campidoglio.
Enrico's presentation was very clear. He took a "simple" but complex tool like Git and broke it down into smaller parts that made it easier to understand.
Enrico has a deep knowledge of Git and in general about source control, and is very accurate and thorough in his explanations. Something that is very important when your audience is experienced software developers.
Do you want me to speak at your company or event? Are you interested in hiring me? If so, I'd love to hear from you. Here's a few different ways you can reach me.
By far the easiest way to start a conversation with me is by sending off an email. The address is [email protected].
Twitter is great if you just want to ping me about something specific. For example, you may have a burning question about Git and would like me to take a look at it. You can also DM me, if you prefer. My handle is @ecampidoglio.
If you're on LinkedIn, you can always send me a message there. Here's a link to my public profile.