Compiler versions, dependency injection configuration files (why yes, I am a Java developer, how did you guess?), build systems, source control, dependency management, library incompatibilities, setting up a test environment, setting up and configuring databases and web servers, etc.
Maybe I don't actually spend as much time on these things as it feels like I do, but I do know futzing with this stuff when you just want to write real code to solve real problems is soul sucking and demoralizing.
So I definitely relate to the hard part of programming, beginner or not, as just getting to the point where you can actually write some code and see what it does.