I ended up teaching a friend to program using Kotlin. The downside was just telling them to just accept what the IDE wizard lays down as gospel first but the advantage was that running code from main() or tests was always a fully IDE integrated experience. Explaining the build system boilerplate became natural when it came time to start adding dependencies to the project.
Don't underestimate how important that integrated experience is. Within their first month or so they were already using a real graphical debugger which is something I didn't pick up until much later because of where I started.