views:

259

answers:

6

I need to get a graduate up to speed as a asp.net c# developer (with some sharepoint lucky him).

I’m thinking on creating a list of a web casts and putting some incentives in place to become certified as Microsoft web developer. Also chalk talks on friday with yours truly on TFS and real world databas design.

Any other thoughts? It seems like an age since I was in his position.

Thanks for your answers so far. "Get him coding" seem to be shining though. I like the Idea of reviews.

What about other traning?

+11  A: 

Get him coding something, anything - the best way to learn is to do.

Andrew Hare
... and do code reviews of his or her output: code reviews are a knowledge-tranfer opportunity.
ChrisW
Yes. In fact, review their designs before they go to code.
Steven Sudit
Keep him in an isolated piece of the app, but get him coding. A great place to start is unit testing.
csharptest.net
@Steven - I disagree, I think that it is better to learn by failure. By all means you should have regular code reviews so that they don't dig themselves into too big of a hole. But you must allow them to dig _some_ holes so that they can learn how to get out of them.
Andrew Hare
+4  A: 

Give him a project to build - sure, supplement this with webcasts/training, but get him to build something.

Galwegian
+3  A: 

We recently started an intern program and were in much the same situation.

We ended up selecting some key training materials from the ASP.net web site: http://www.asp.net/learn/

We had him watch specific videos for basic concepts we wanted him to understand.

However, this was the easy part. We also had to bring him up to speed on design guidelines, such as coding and naming conventions, code review policies, Source Control and check-in how-to's, theory, and policies.

In addition to that, we spent several sessions just talking about the company culture, and out principles on what makes a good programmer.

I think, however, the most helpful was to get him coding on small projects with a LOT of interaction with a seasoned developer. That developer was responsible for reinforcing all of the above during the development process so that it becomes second nature, rather than abstract concepts.

Then as time went on, he was able to take over projects with less and less guidance.

David Stratton
A: 

if he is good with C# just some videos from here will get him up to speed if not he will need some C# lessons first

also some practice would be great !

Yassir
+2  A: 
  • You'll want to keep him away from critical code but he should be coding something, from somethng minor to an internal utility to whatever.
  • Introduce him to your application code slowly, it will protect him from the big code and your code from him in case he/she mess up.
  • Make him test the application at least the first two weeks. It will allow him to have an overview of the application purpose from the user point of view. It will allow him to get a feeling of the application and to know what the application is for.
Jorge Córdoba
Devs, Hate testing :). But a good idea!.
Chris Jones
I do hate it to, but after two weeks testing he will probably know the application better than anyone. One of the things I've found out with a lot of people I've worked with is that they just program the problem at hand and they have no understanding of the "general view" so they lack a certain kind of perspective
Jorge Córdoba
+2  A: 

I would add two things:

  • Check often how they're doing. In my experience grads can be too scared, shy or determined to impress, which means they may struggle with something simple for hours trying to get it right on their own when asking would have sufficed.

  • Have relatively frequent non-aggressive code reviews where you go through how they've done things, and explain why it works or doesn't work. Dwelling on design principles is also important.

I find that the right input at this early stage in their careers is extremely important in teaching them the right way to think, which is more important than churning code.

Riko
as a new developer myself, I think your first point is the most important out of everything mentioned so far. I was just about to write almost exactly the same thing myself :)
Zeus
I agree, I think I will use TFS to shelve his work. then I can review and check in at a later date.
Chris Jones