views:

78

answers:

3

I'm gearing up to jump ship at my current company in (hopefully) 9 months or so. I'm a c# developer but don't have experience past the 2.0 framework and VS2005 due to the OS limitations of our target environment. Last year we had a consultant come in for about 9 months or so and he opened my eyes to new technologies, etc.. I still keep in touch with him and he's always on me to learn tdd and dependency injection tools and theories.

What should I start learning first?
3.5/4.0 framework, TDD, or Dependency Injection

Also, please feel free to suggest other tools and technologies I might not know about that will make me an attractive candidate come next summer! Thanks!!

+1  A: 

I would say TDD, personally. The rest are good but domain specific, TDD has uses in all languages and all platforms which aren't VB6. (I know there is even a test driver for VB6 but come on)

stimms
+1  A: 

All three are good and you don't have to limit yourself to learning just one at a time. I'd say that TDD is probably going to do the most to transform you as a developer. It's a fundamentally different way of thinking about development and design. The entire agile philosophy of lightweight artifacts, deferring design decisions until the last practical moment, continual refactoring, in addition, to TDD is probably worth an investigation.

I would also include LINQ -- in all it incarnations, though I'm partial to using extension methods rather than the LINQ syntax, would also be an important technology to pick up. Lastly, I'd include ASP.NET MVC if you do web development at all. I find it to be a much better fit to the web than WebForms. I really feel like moving to MVC has improved the reliability of my code enormously due to the increased testability of the design pattern. Of course, you have to take advantage of that with TDD to reap the full benefit.

tvanfosson
+1  A: 

Get familiar with VS 2008 and .NET 3.5 SP1. Learn how to be efficient with Visual Studio and get very intimate with the .NET Framework API. Most importantly make sure you can deliver something that works.

Learning about TDD and Dependency Injection is great but you need to know your tool set fist.

Software development methodologies, design pattern...etc will come with time and some change with time, hell some are trends. Every company does things differently with the same methodologies.

It ok to stay on top of the newer technologies, but most companies don't adopt them as fast as you would think.

rick schott