5 years ago
#1 Learning and remembering the standard libraries
#2 Deploying to production
The core of any language is pretty easy and you can learn in a couple of days. Unless it’s functional versus object oriented - it make take a few more weeks going from one to the other.
But libraries are huge and remembering all the modules and classes and functions takes the most time.
The next thing is deployment - but that is easier these days with all the continuous integration pipelines available.
The last item that I did not mention above is just thinking of every possibility that could happen with your program.
Every kind of input, contingency and output. You have to think it through.
Learning and playing chess is therefore a good training of the mind to think ahead in programming.