- Learn your 1st programming language a new programming paradigm or a
- find a mentor you can learn from
- Apply what you've learnt in a real world project
- Learn from your mistakes and successes and goto step one
The trick is knowing what to learn first:
- Programming languages - this is the place to start bcause you cannot write software without knowing at least one of these. After you've mastered one language try learning another.
- Programming paradigm - i.e. object oriented, dynamic/functional programming etc. Try to learn a new one with each new language.
- Design concepts - S.O.L.I.D, design patterns as well as architectural concepts.
- People skills - learn to communicate your ideas.
- Team leadership - learn how to sweep others and how to become a team or technological lead.
After that the sky is the limit.