Yes practice is the key, but don’t just spend your time doing the software equivalent of scales, actually try and build something that is difficult and complex. I have always learnt the most when I am trying to solve real problems rather than toy problems, plus I am more motivated when I know the effort is going to result in something useful.