views:

264

answers:

7

I've been a software developer for 10 years and came all the way from a wild world of assembly language programming, then server side of C++ and COM, and for the last 5 years I was comfortably settled in a quiet world of .NET, C# and development of business applications.

The problem is - the last couple of years was so comfortable and I was also spending almost half of my time doing a BA's work, that I feel like I forgot a good part of low level C# language, Design Pattern and ASP.NET. And after almost 5 years of not using C++ for a big projects my skills in that language are even worse.

That does not mean I can't program - I do it every day and quite successfully - but I feel what I would not be able to pass most of tough job interviews should the need arises, which is very likely in a current recession. And the reasons I think I would not pass - is that I forgot all the standard things what usually people are being asked on the interviews (e.g. I use the design patterns - but if you ask me - which pattern what that - I would probably not give you the correct name, because all he DP for me are just a smart ways of using static functions and virtual functions).

Can someone please point me to a resource or give me an advice (can I have both please?), how can I quickly (in a week or so) could brush up my knowledge of C#/.NET, DP and ASP.NET to the level of the very good senior dev (whom I was a 2 years ago). As for the C++ - I am willing to spend a month to get my knowledge back again, but this is of less priority.

Please do understand me right - I am not a newbie and all these things I knew before - just want to be back in business 100% again.

Thank you.

+4  A: 

For Design Patterns, I would suggest to get a copy of Head First Design Patterns. Regarding ASP.NET, C# and the usage of some patterns, watching Rob Connerys ASP.NET MVC Storefront Webcasts would be a good start.

What you could also do, is having a look at Scott Hanselmanns interview questions which you can find at his blog. Try to find an answer to all of them and you should be in pretty good shape ;-)

In addition, I'd have a look at the code of some successfull open source projects like subtext, DasBlog, Oxite ...

They are a great learning ressource.

The next step could be to contribute to some of those projects (sending some patches to the project admins), because nothing can replace practice ...

However you should keep in mind, that one week might not be enough time to resharpen your skills.

Good luck anyway

Andre Kraemer
+1  A: 

Well, since you knew all this, which I guess means "have used all this" previously, you could take look back at your own code as a starting point.

Really ask yourself:

  • why did I do it like this?
  • when was this, what situation was I in?
  • can I do it better now?

Take a small tricky and interesting part of the program out, and try to recode it.

This is all meant to get you mentally back to those times, pick up a few discarded threads in memory. I find such methods really useful to reactivate knowledge.

Then read up on new developments/best practices on blogs and books and skim through books that used to be useful to you (maybe there are current editions)

I used scott meyer's "Effective C++..." series to get me back into and advance my knowledge of c++.

AndreasT
+1  A: 

Design Patterns are covered in many books today. The stanard of course is the "Gang of Four" book named "Design Patterns".

Put OO, Agile and Pattern together

Another book is more hands-on and combines Design Patterns with an other new thing -- "Agile Development". The good thing is, that design patterns are presented in live examples and interestingly presented in context. I think Robert C. Martin also brings a lot of insight into many OO development principles. The book is called Agile Software development.

But of course, it depends how far you want to go. Do you really want to brush up your knowledge (then I could maybe give further hints) or do you want to just be upto date for interviews?

Juergen
A: 

Well if you have some two months to bursh up C++ and design patterns then I would recommend you the following books .

- C++ FAQ Second Edition
 - Effective C+++
 - Effective STL

I think for C++ this should be sufficient, if you have some more time you can also try

  Inside c++ Object Mode

For design Patterns I think reading complete book at one go is not a good idea. Try to list down few design patterns from each category creational, structural and behavioral that you have worked on or that you want to talk in interviews. There are lot of resources on net about each of them and try to completely understand each of them rather than jumping into a book and getting almost lost.

Alien01
A: 

The online C++ FAQ Lite is a good place to brush up as well.

Dan
A: 

I've found that the asp.net videos on www.asp.net/learn are very good for quickly learning about (or remembering) many asp.net topics.