# Gerrit User Summit 2024 - Speakers

### Daniele Sassoli - GerritForge {#dsassoli}

Daniele is a Senior Software Engineer with a long experience in highly scalable
systems hosted in the cloud. As a member of the GerritForge team he has had the
chance to design, mantain and improve high throughput multi-site installations.
He also gets to learn from the team's wealth of experience in all things Gerrit
and contribute to the long list of plugin's maintained by them.

[LinkedIn](https://www.linkedin.com/in/danielesassoli/)

### Nasser Grainawi - Qualcomm Innovation Center, Inc {#nasser}

Nasser is a Senior Staff Software Engineer who has been working with Gerrit
since the beginning. Initially posting to the repo-discuss list, he made his
first contribution in 2011, became a Maintainer in 2020, and has been a
Community Manager since 2021. He enjoys understanding and solving performance
and other "big system" challenges, both in Gerrit and in other systems
integrating with Gerrit.

[LinkedIn](https://www.linkedin.com/in/nassergrainawi/)

### Kaushik Lingarkar - Qualcomm Technologies, Inc {#kaushikl}

Kaushik joined Qualcomm over 15 years ago and has had a variety of
roles, often related to Gerrit or workflows using Gerrit. He made his
first Gerrit contribution in 2013 and has made many more since 2020 as a
full-time member of the Qualcomm Gerrit team. He became a Gerrit Maintainer in
2022.

[LinkedIn](https://www.linkedin.com/in/kaushiklingarkar/)