Naming is hard, it’s no unfamiliar thing to software engineers that describing our software can sometimes be just as hard as writing it in the first place. But did you know that the names we give our well-intentioned ideas can come back to haunt us?

It would turn out that naming is not just hard, but it has implications! Gradle will often not actually report when names collide! Which means you might end up with unexpected class resolutions! Which leads us down the rabbit hole of, how does Java resolve classes in the first place?!

This talk is a work in progress, I’ll show you my problem-solving approach, and what discoveries I made along the way to find out that, well, naming is indeed, hard.