Try to write a compiler for some simple language from scratch. You will improve you skills a lot along the way (with some nice theoretic techniques from formal language theory as a bonus). I tried to write a simple version of Excel, and it's also a very nice exercise.
Like others said the only way to improve your coding skills is to actually do it. Get your hand dirty with some large projects. But then for large program, it's even more important that you master software design techniques, otherwise the size of the program seems unmanageable.
There's one nice quote from Nate Kirby:
"Bad programmers ignore details. Bad designers get lost in details."
So switching between these two levels of abstraction is the skill you should master.
Also the speed of how many lines of code you can write per hour is not what you should aim for. I rememberlike a nice quote by by David Parnas:
" I often hear developers described as `someone who knows how to build a large system quickly.' There is no trick in building large systems quickly; the quicker you build them, the larger they get!"