How to train a graduate?

One thing I do is tell them to think of a program they'd like to see that doesn't exist yet, or doesn't exist with the features they have in mind. Then do it.

Helps them learn how to think instead of just work from instructions given

I agree with this...

On the one hand, you say you want him to add value, but from the rest of the comments, it seems like you just want him to code. If that's the case, you should provide him a detailed spec (preferably bite sized chunks) in that gives him complete direction and he'll just transpose that into code.

If you do want him to actually add value, i.e. determine best approach/method, optimization, etc. that's a different story... Even without the typical experience that's required for this, he's unlikely to add any value to something he doesn't understand. Rather give him a problem that he understands and is passionate about and let him work on that. He can still use ~25% of his day doing more administrative stuff for your core business like documentation, reporting, etc. It's a few weeks "throw away" time wrt your core deliverables, but will greatly benefit him and you in the long run.

Either way, coaching a junior is tough - I know this first hand. It's a rewarding experience though and we all know we need more good people in this field... Good luck!
 
tl;dr

Give the guy some of the legacy code to go through. Let him write a s spec sheet/Test case out of the code that he sees.

Then give him tasks to make those functions more dynamic.

Letting him learn from a silo that doesn't know how to share knowledge is not a good idea because he will always be dependent. I am kind of in a similar situation when it comes to C, but I'm the BAAAAAAWS when it comes to .net in my team.

To strengthen my C knowledge, I am writing little docs on the functions in the legacy code (as there is absolutely no documentation for anything in my team). This helps new comers to understand how the application is put together, helps with a quick reference, and it gives me an edge in learning quicker.
 
Just wait for the day when you realise that he is at the level where you want him to be, and then he hits you with a resignation letter.
 
Just wait for the day when you realise that he is at the level where you want him to be, and then he hits you with a resignation letter.

Well, that sounds like you must limit your employees to the level where you make them feel like they must doubt their skill set if they ever decide to jump, keeping them stuck at the company, and slaves in their own minds.
 
I agree with this...

On the one hand, you say you want him to add value, but from the rest of the comments, it seems like you just want him to code. If that's the case, you should provide him a detailed spec (preferably bite sized chunks) in that gives him complete direction and he'll just transpose that into code.

With adding value I mean delivering some useful code on a project. The job that I gave him is very simple. He has to write a class with methods that execute SQL against a DB and then return the result.. :cry: Not even a whole app
 
Just wait for the day when you realise that he is at the level where you want him to be, and then he hits you with a resignation letter.

Initially I wanted to appoint but after the tech assessment, i reduced it to 3 months to limit my exposure. I will have to monitor progress...
 
With adding value I mean delivering some useful code on a project. The job that I gave him is very simple. He has to write a class with methods that execute SQL against a DB and then return the result.. :cry: Not even a whole app

Was he doing C# as a primary language at his institution?

Maybe just sit with him and break the solution down with chapin diagrams, and explain to him why a Chapin Diagram or any diagram is useful when coding. Because he is just going to jump in not knowing what to search for.
 
With adding value I mean delivering some useful code on a project. The job that I gave him is very simple. He has to write a class with methods that execute SQL against a DB and then return the result.. :cry: Not even a whole app

If he cant get that right cant google how to do it and has a degree or whatever then id would toss him immediately. I had a similar issue about two years ago, i had to train this guy because he got tossed from developer to developer to help him, i sat with him explained everything, i gave him resources to read/look at. I then asked him to write me a very basic CRUD application, i said use SQL, use winforms, these are the tools you can use, this is the code you can look at to help you. I leave him, but before doing that i say if you need help ask us. He doesnt ask i give him two days, after that i say okay lets see. He tells me hes struggling with saving to the database... i ask why? No hes using sql work books as a DB. I fired him that day.
 
If he cant get that right cant google how to do it and has a degree or whatever then id would toss him immediately. I had a similar issue about two years ago, i had to train this guy because he got tossed from developer to developer to help him, i sat with him explained everything, i gave him resources to read/look at. I then asked him to write me a very basic CRUD application, i said use SQL, use winforms, these are the tools you can use, this is the code you can look at to help you. I leave him, but before doing that i say if you need help ask us. He doesnt ask i give him two days, after that i say okay lets see. He tells me hes struggling with saving to the database... i ask why? No hes using sql work books as a DB. I fired him that day.

Work books?
 
Was he doing C# as a primary language at his institution?

Maybe just sit with him and break the solution down with chapin diagrams, and explain to him why a Chapin Diagram or any diagram is useful when coding. Because he is just going to jump in not knowing what to search for.

Yes I showed him to diagram it on the board before he does the code. And recfator the diagram before he codes.
Until such time as he can visualise it in his head.
 
CheekyC if you cant grasp basic concepts you are not going to get him to do even more complex stuff, as sad and not cool as it is you mind as well not waste your time.
 
some people just can never do development, no matter how much you teach/train them, just like I could never draw/paint....
 
some people just can never do development, no matter how much you teach/train them, just like I could never draw/paint....

What?

Anyway, monitor him and cut out social sites and cellphone use and stuff that might derail him. You need to hit him hard with the facts that if he doesn't perform then he won't have a future anywhere. This is the mind game part of management. This will make him come to reality and think of his situation, this will make him take his work home and force him to work due to the pressure that you are giving him.

You going to have to talk to this kid, also, on your side, don't leave him hanging. Show him the way forward, some people just need that push.

So now that you showed him how to refactor and all that, tell him to explain what you just did on the board (after you erased it) and how he can break it down. With that said, have patience.

What Universities lack is what Technikons' have. In-service and a better understanding of the working world. Varsities focus mainly on algorithms and complexity or O(log n) stuff, can't remember clearly...You need to engage this guy in a way that he comes out of that shell. And believe me, once he is out of that shell and gets his priorities straight...he will benefit your company more than what you thought.

I also think that people with Bsc. are bred for architect, integration, Systems Analyst roles (of course it requires some dev exp. but...). What do you guys think?
 
This is a common problem with college and even university graduates, they have a lot of theoretical knowledge in the back of their heads but when it comes to coding they lack experience with all the small problems that seniors are used to and they can’t even begin to see how to put this knowledge to practical use.
Whatever you do, don’t spoon feed him. It is important that he learns how to research(google) a problem as soon as possible. He shouldn’t ask you anything about C# or the .NET environment before he exhausted every option online. If you don’t do this he will get so reliant on you that you will end up doing his job. Explain programing concepts and reasons for doing things a certain way but don’t, for example, show him how to bind data to a dropdown list, things like that he can research himself and he will remember it forever.
Juniors that are young and energetic, can adapt to any environment, they are not afraid to work hard and don’t care about late hours as long as they have a dream or goal to hold on to. They learn quickly and you have full control over their work. Its just getting over this first bump.

I second your opinion I am a junior myself, I don't mind late nights at all.
 
What Universities lack is what Technikons' have. In-service and a better understanding of the working world. Varsities focus mainly on algorithms and complexity or O(log n) stuff, can't remember clearly...You need to engage this guy in a way that he comes out of that shell. And believe me, once he is out of that shell and gets his priorities straight...he will benefit your company more than what you thought.

I also think that people with Bsc. are bred for architect, integration, Systems Analyst roles (of course it requires some dev exp. but...). What do you guys think?

We had a fairly long discussion (on MyBB) on this the other day, the outcome being that a B.Sc. is of more value than a diploma.
 
Anyway, monitor him and cut out social sites and cellphone use and stuff that might derail him. You need to hit him hard with the facts that if he doesn't perform then he won't have a future anywhere. This is the mind game part of management. This will make him come to reality and think of his situation, this will make him take his work home and force him to work due to the pressure that you are giving him.

He does not use any internet while here by his own choice. He also does not even take phone calls by his own choice. So cannot fault his sense of commitment and focus.

He fully realises his shortcomings and he is spending huge amounts of his own spare time reading up on the topics I give him, Also doing code at home, so commitment seems to be there.

You going to have to talk to this kid, also, on your side, don't leave him hanging. Show him the way forward, some people just need that push.

So now that you showed him how to refactor and all that, tell him to explain what you just did on the board (after you erased it) and how he can break it down. With that said, have patience.
Yup that is why I am giving him a chance. I talk to him all the time and give him feedback about where I think he is struggling. I have asked him to compile a short doc on the classes he created with class diagrams to show structure and relationships and then interaction diagrams to show behaviour. The fact is that even without the code at home he needs to remember what he did as it was a very specific problem and about 6 classes to implement the solution. So I want him to recall that and document it from memory.

And believe me, once he is out of that shell and gets his priorities straight...he will benefit your company more than what you thought.
Sure hope so for my and his sake
 
Top
Sign up to the MyBroadband newsletter
X