tags:

views:

507

answers:

6

Hello everyone.

I have some 5+ years' background in C++/Unix development. I have been trying my hand at C#/.Net/WPF based software development for some time now. I am at a stage where I can write functioning applications fluently, but am not sure how to take my skills to the next level.

So, my question(s) to you all, especially to those who are experienced in C#/.Net/WPF:

  • What are the component skills and knowledge that an expert developer on this platform should have?

  • What technology-specific books would you expect a would-be expert to have read?

  • What other deliberate steps can I take to become really good at application development using C#/.Net/WPF?

Many thanks in advance! I would be especially grateful for comprehensive answers - I'm pretty sure many other developers have similar questions.

+5  A: 

Learn how the C# language and .NET runtime work by reading CLR via C#.

Lucas McCoy
+3  A: 

Scott Hanselman's article, "What Great .NET Developers Ought To Know", is a great resource on the subject.

Chalkey
+2  A: 

Also have a look at this past Stackoverflow question: Questions every .NET developer should be able to answer.

driis
+1  A: 

For WPF specifically (and the power of WPF binding) I like M-V-VM: http://karlshifflett.wordpress.com/

Aaron Hoffman
+1  A: 

Make sure you learn how to use and leverage Dependency Injection / Inversion of Control in your applications. Other very important pieces of software to learn to include with your development is Microsoft Enterprise Library and Windows Communication Foundation. Those 2 tools offer an amazing amount of leverage to avoid having to recreate the wheel to solve problems.

Other really good packages to become familiar with are NHibernate and Fluent NHibernate.

Windows Workflow Foundation is a very powerful piece of software however the complexity level is high this would be another great addition to your knowledge base time permitting.

Chris Marisic
+1  A: 
Anthony Brien