This question already has an answer here:
I am in the process of filing in the gaps in my knowledge so that I can become a better developer. I am an ASP.NET developer and I sometimes need to do pure back-end stuff too. I ahve compiled a list of things I deem as necessary to know. Please feel free to fill in any gaps:
- The Repository pattern
- Dependency injection (Castle.Windsor)
- Entity Framework
- Asynchronous programming
- SQL. As in: hardcore SQL with temp tables and groupings and variables and stuff.
- Unit Tests