At any stage you can call @code_{warntype, lowered,...} and inspect exactly what code has been produced by the compiler to find bottlenecks.
I’ve not written much R before but in my experience I’ve never had to go to those lengths to debug Julia code! (Although the error messages can sometimes be a bit of a mouthful, I think because it uses LLVM)
https://juliaobserver.com/packages
https://pkg.julialang.org/docs/
As a personal answer, I really like unitful for keeping track of physical units and libraries like MLStyle.jl or Match.jl which add stuff like pattern matching to the language (though they are more general helper libraries compared to stuff like Turing.jl and DifferentialEquations.jl):
https://painterqubits.github.io/Unitful.jl/stable/highlights...