Get your fundamentals right
- Operating System Concepts
- Data Structure and Algorithm Design
- Networking Concepts
- Machine Architecture Concepts
- Programming Paradigms (OOPs, Functional, Procedural)
- Be familiar with at least one programming languages in each paradigm
- Master at least one of them
- Develop mastery in at least of the programming language (as you become experienced you will pretty soon realize that all most all programming languages have one or the other version of same concept. Picking up a new programming language becomes just a matter of recognizing language specific peculiarities and practicing them)