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:

  1. WebForms
  2. MVC
  3. jQuery
  4. HTML5
  5. WPF
  6. WCF
  7. The Repository pattern
  8. Dependency injection (Castle.Windsor)
  9. NHibernate
  10. Entity Framework
  11. Asynchronous programming
  12. SQL. As in: hardcore SQL with temp tables and groupings and variables and stuff.
  13. Unit Tests
  • My question is in the context of C# development, as opposed to web development in general, as is the case with the linked "possible duplicate of" question. – Captain Kenpachi Jun 24 '13 at 10:02

I would add

  • ALM for continuous delivery & source control
  • MVVM
  • MEF
  • CSS3

Not sure what your knowledge is on general programming skills; but I advice every developer to go trough some of the basic design patterns.

  • Thanks. I am fairly well-versed development wise but I seem to have fallen behind with all the new "fads". – Captain Kenpachi Jun 24 '13 at 10:37
  • @JuannStrauss it is good you keep your scepticism up, but a lot of this stuff is here to stay. There is proven value in all of these techniques. Knowing them helps in identifying good opportunities for an application. – Steffe Jun 24 '13 at 10:50
  • Thanks. This is exactly why I posed the question. It's easy enough to pick up a new way of doing things. Usually a day or two is enough to get a working knowledge of something like IoC and Dependency Injection. – Captain Kenpachi Jun 24 '13 at 11:38

Not the answer you're looking for? Browse other questions tagged or ask your own question.