Re: Best way to get a Junior Programmer up to speed
- From: Dennis <Dennis@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 1 Dec 2006 16:22:00 -0800
By fire him, I meant send him back to what he was doing before. Giving him a
problem to solve on his own tests both his learning skills and iniative. By
the way, I manage a worldwide organization with operations in many countries
with several sub-managers and Engineers working with me and we just can't
have people on our staff who can't handle their own learning path. Neither
can any successful organization.
--
Dennis in Houston
"Tom Leylan" wrote:
In the interest of communication (not argument) I'd like to say it was a.
treat to read Stephany's well-reasoned reply. And to Dennis, I can
appreciate the fact you run your company that way (how many employees do you
have BTW) but good/smart companies don't. If he was an "employee" it means
he has knowledge of the business and one would prefer not to throw that
away. Besides what is "easy" and what is "complicated" and why must
everybody perform complicated tasks? Are there no routine tasks to perform?
To the original poster... I'd recommend you consider Stephany's response.
What I would add is a question "get up to speed with what?" Are you hoping
the new guy can design new input forms, write new reports, review all the
SQL stored procedures and travel to the Denver office to do training?
Perhaps there is some task that match his current skills. If his Access DB
experience makes it difficult for him to grasp the 4-tier design of your
system right now it would be best not to give him the responsibility to fix
something in that area. Generally speaking people have particular skills
and if you determine what his are he can be of benefit to you immediately.
He might (for instance) be better at designing reports than the people you
currently have doing it. Maybe he is good at finding tricky bugs that have
eluded the rest of the team or that they simply don't have time to look
into.
He is going to need a "tour" of your app and .Net given by somebody who
understands both. If that person also knows something about Access he/she
could even contrast the two languages. All things considered it may not be
..Net command set that gives him the most problem, I know people quite versed
in a language who couldn't make heads or tails of an application written in
that language. An orientation to what was done and why helps alot.
Tom
"Dennis" <Dennis@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:96D1F694-2530-4C63-BD7F-E236C317AD8E@xxxxxxxxxxxxxxxx
Simple...assign him something simple to do in VB.Net and see what he
does...if he can't figure out how to learn what he needs to know to get it
done then fire him...if he does then give him something more complicated.
--
Dennis in Houston
"Stephany Young" wrote:
Well ... This one has all the hallmarks of 'how long is a piece of
string?'.
Your use of the word 'inherited' indicates to me that you did not recruit
him yourself. How he came to be working for your company is a major
factor
in how you approach the exercise. Was he, for instance, in some other
position where he used 'MS Access' etc. and now is being moved into a
more
'mainstream' area of the company, or perhaps recruited by someone else in
the company as a personal favour or similar reason. Maybe he, himself
'asked' to moved from weher he was to 'mainstream' area of the company.
In
addition, is this person 'new' to you personally or have you known him
for
some time. This sort of information is important to you so that you can
gauge his ability to learn, his level of self-motivation and perhaps his
abilities in analysing and solving 'problems', which, after all,
programming
is all about.
Realisticly, you have to gaugue his skill levels in various areas and the
best way is to start at the beginning. That is to start him off on 'ye
olde
standard' Hello World! console application. This should have the
intention
of introducing him to the VS IDE, the VB.NET compiler and the VS
Debugger.
It important that he understand what is actually happening when the app
hits
the 'Sub Main()' because, in Access, the need to worry about that level
of
functionality was hidden from the user.
As you are satisfied that he has mastered each step, increase the
complexity
of the exercises at the rate you gauge to be appropriate. Some people
learn
faster than others and some are able to grasp very complex concepts very
quickly indeed.
Reinforce the need to have Option Explicit and Option Strict turned on in
ALL projects, again making sure that he understands why.
Reinforce the need, and of course, the reasons, to follow the company
standards for naming conventions and coding styles at all times. Make
sure
that he is given a copy of the company standards manual as early as
possible.
In parallel with this, introduce him to existing projects. For example,
take
a small app and get him to dissect the code to understand what the app is
doing. It is not good enough for him to tell you he understands it, he
must
be able to demonstrate that he understands it. I get people to write a
report (in prose) of their analysis of the application, which also
provides
me with a way of gauging their written communication skill level. Make
sure
you review the report with the person, reinforcing where they have 'got
it
right' and correcting where they haven't.
Once you can gauge that their proficiency levels are at a certain stage
you
can send them out 'to play' on their own, but still reviewing what they
are
doing. As their skill levels increase you will be able to reduce the
amount
of reviewing that you need to do. When he makes a 'mistake' make sure you
don't browbeat him with it, rather, uUse it as an opportunity for
analysis
and learning.
At all steps along the way, you, of course, need to make sure that you
are
pointing them toward the appropriate references that will provide more
technical explanations on various concepts.
If the person concerned is a 'quick study' and is self-motivated this
process may be as short as a few weeks. For others it may extend into
months.
Unfortunately there is no 'magic bullet' formula that dictates how long
such
a process will take just as there is no 'magic bullet' formula that tells
you how you must go about it.
I have a slogan (which is never erased) written in big letters across the
top of my whiteboard. It reads "THERE IS NO SUBSTITUTE FOR TRAINING!'.
Good luck.
"BK" <bkunneke@xxxxxxxxxxx> wrote in message
news:1164924821.535097.218200@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Our .Net team has just inherited a junior programmer that we need to
get up to speed as quickly as possible. Unfortunately, his skill set
is largely Access with some VB6 and ASP classic experience. We employ
some parts of XP such as pair programming, and this should help. Other
than books, does anyone have any suggestions? His skill set is pretty
antiquated and we need to get him up to speed as quickly as possible so
any suggestions are appreciated.
Background:
Mixture of Vb.Net and C#.Net code
Mixture of Oracle, DB2, and SQL server backends (we have our own
DataAccess class similar to the MS Enterprise Library Data Access)
Mostly Windows Forms for front ends
Mostly 4 tier design due to the complexity of our needs.
Thanks,
- Follow-Ups:
- Re: Best way to get a Junior Programmer up to speed
- From: Tom Leylan
- Re: Best way to get a Junior Programmer up to speed
- References:
- Best way to get a Junior Programmer up to speed
- From: BK
- Re: Best way to get a Junior Programmer up to speed
- From: Stephany Young
- Re: Best way to get a Junior Programmer up to speed
- From: Dennis
- Re: Best way to get a Junior Programmer up to speed
- From: Tom Leylan
- Best way to get a Junior Programmer up to speed
- Prev by Date: Re: What does this mean?
- Next by Date: Deployment Registry Entries
- Previous by thread: Re: Best way to get a Junior Programmer up to speed
- Next by thread: Re: Best way to get a Junior Programmer up to speed
- Index(es):
Relevant Pages
|