There is no shortcut to get better. You have to write software. Write, write and write again.
Take part in different kind of apps. Small web apps, big and complex web apps, simple mobile apps or more complex mobile apps. Each of these will teach you on how to think and organize your work. Try learning different programming languages for example Clojure, python, ruby, javascript, C#, java and haskell. You don't need become an expert but each language will teach you a different way to tackle problems. Another thing that I've found useful is looking at other people's code. Github and the thousands open source projects there, make this super easy. Learn what you should do and what you should not.
Comments
There is no shortcut to get better. You have to write software. Write, write and write again.
Take part in different kind of apps. Small web apps, big and complex web apps, simple mobile apps or more complex mobile apps. Each of these will teach you on how to think and organize your work. Try learning different programming languages for example Clojure, python, ruby, javascript, C#, java and haskell. You don't need become an expert but each language will teach you a different way to tackle problems. Another thing that I've found useful is looking at other people's code. Github and the thousands open source projects there, make this super easy. Learn what you should do and what you should not.