There are a lot of skills that needs to be acquired by programmers to create software in a professional way. My question is, how do programmers go about acquiring these skills. For example, to be a better ASP.NET programmer, one should have strong knowledge and skills on
- ASP.NET
- C#
- Database (like SQL Server / Oracle)
- OOAD and UML
- Configuration & Deployment
- Unit Testing, Continuous Integration
- Time Management
- Communication
- Logical & Debugging Skills
- Etc, etc...
How do you as a programmer acquire these skills? Did you choose a particular skill and start developing it (like preparing for a certification -Refer: Study Strategies) or you chose to develop multiple skills in a given time (like studying multiple subjects in college).
I am sure; we should start somewhere and get going. I thought of asking you programmers how do you go about achieving this.