views:

544

answers:

5

Thinking about getting into .net technology project management

I've had plenty of experience with PHP projects: I'm aware of most of the existing frameworks and libraries, and I've written specs and case studies based on this knowledge.

What should I know about .net? Which top resources would you recommend me to know so I can rapidly learn and later stay up to date on the technology?

Edit (8.24.08): The answers I got so far essentially discuss being a good PM. Thanks, but this is not what I meant. Any .net essentials would be appreciated.

+2  A: 

Start with the basics before you get to the higher level stuff like web services (though that is important too). The most important things you need to learn, as a project manager, are the things you're going to be questioning your underlings about later. For example, my PM (also a PHP guy) has absolutely no knowledge of garbage collection and its implications, which makes it incredibly difficult for me to explain to him why our .NET Windows service appears to be taking 80MB of RAM.

Remember, you are not the one who needs to know everything. You should be issuing overarching directives, and let the people with the expertise sort out the details. That said, study up on the technicals a bit so that they can communicate effectively with you.

Edit (8/24/08):You should know something about the underlying technicals; not necessarily all .NET stuff either (garbage collection, .config files, pipes and services if you're running services adjacent to your project's main focus, stuff like that). Higher-reaching concepts would probably include WPF (maybe Silverlight as well), LINQ (or your ORM of choice), as well as the Vista bridge and related bridging code if your project includes desktop apps at all. Those three things seem to be the focus for this round of .NET. Something else that's very important to have at least a passing knowledge of is the ways that .NET code can/must interoperate with native code: P/Invoke, Runtime Callable Wrapping and COM Callable Wrapping. There are still a lot of native things that don't have a .NET equivalent.

As for resources, I'd highly recommend MSDN Magazine. They tend to preview upcoming technologies and tools well before average developers will ever see them.

DannySmurf
+1  A: 

The biggest thing you'll probably want to learn is the differences between Windows and non-Windows programmers. They approach fundamental things differently. Knowing the difference will be key to successfully managing the project. If you listen to the stack overflow podcast, and Jeff and Joel have multiple discussions on this topic. Understanding the details of the underlying technology is mostly irrelevant and you'll never know it well enough to go toe to toe with someone who works in it day in and day out. You can probably pick it up as you go.

Kevin
+1  A: 

The #1 thing you need to be aware of (and I'm guessing you probably already are) is that the guys doing the coding should know what they are doing. Depending on the personailties of the members of your team, you should be able to find someone who is willing and able to explain any of the intricacies to you on an as-required basis.

In my experience, the biggest hinderence to a project is the PM who understands the project, but not how to accomplish it (not in itself a problem), but who is also unwilling to listen to what his team tell him. As with any project management, accept that you can't know everything, and be humble enough to ask for explanations where needed.

ZombieSheep
+1  A: 

The number one rule is do NOT just ask for status updates. It is Especially annoying when phrases like "where are we on this?" are used. If you aren't directly involved in the details then just make sure you have established communication times or plans so that you know whats going on rather than asking for updates.

Kevin Goff
+1  A: 

This may be old, but should get your started on the high-level overview of the .NET Framework.

http://news.zdnet.co.uk/software/0,1000000121,2134207,00.htm

icelava