Home All Groups Group Topic Archive Search About

Best way to get a Junior Programmer up to speed

Author
30 Nov 2006 10:13 PM
BK
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,

Author
1 Dec 2006 12:29 AM
Stephany Young
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.


Show quoteHide quote
"BK" <bkunn***@hotmail.com> wrote in message
news:1164924821.535097.218200@n67g2000cwd.googlegroups.com...
> 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,
>
Author
1 Dec 2006 1:26 AM
Dennis
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


Show quoteHide quote
"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" <bkunn***@hotmail.com> wrote in message
> news:1164924821.535097.218200@n67g2000cwd.googlegroups.com...
> > 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,
> >
>
>
>
Author
1 Dec 2006 4:13 AM
Tom Leylan
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


Show quoteHide quote
"Dennis" <Den***@discussions.microsoft.com> wrote in message
news:96D1F694-2530-4C63-BD7F-E236C317AD8E@microsoft.com...
> 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" <bkunn***@hotmail.com> wrote in message
>> news:1164924821.535097.218200@n67g2000cwd.googlegroups.com...
>> > 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,
>> >
>>
>>
>>
Author
2 Dec 2006 12:22 AM
Dennis
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


Show quoteHide quote
"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" <Den***@discussions.microsoft.com> wrote in message
> news:96D1F694-2530-4C63-BD7F-E236C317AD8E@microsoft.com...
> > 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" <bkunn***@hotmail.com> wrote in message
> >> news:1164924821.535097.218200@n67g2000cwd.googlegroups.com...
> >> > 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,
> >> >
> >>
> >>
> >>
>
>
>
Author
2 Dec 2006 1:47 AM
Tom Leylan
I think you will have to admit that "fire him" isn't typically a synonym for
"send him back to what he was doing before" right?  The Chairman of the
Board of HP resigned on Sept. 22nd... i.e. the size of your company and your
position doesn't mean everything.  A manager at Sears can burn $25 million
and not bat an eye but he/she wouldn't make the same decisions if it was
their own $25 million at risk.  Besides did it become a worldwide
organization based upon your firing policy or was it already one when you
got there?

So we're clear I disagreed with your "easy, test them, fire them" response.
If you read the message you will see they almost assuredly don't have "send
him back" as an option but more to the point just because the guy can't
handle what you personally think is easy doesn't mean he isn't very talented
in something you cannot do at all.  Perhaps he is good at writing
documentation, you may have gotten rid of the guy who wouldn't write "fire
him" when he meant "send him back."

If he has nothing to add to the project who would argue that he should be
kept on the project?  Nobody I know.  I've only suggested a hard and fast,
code it or get out test (given he is a "junior programmer") might not be the
best tactic.

Perhaps we should just agree to disagree on "send him back" vs "find out how
he can help".


Show quoteHide quote
"Dennis" <Den***@discussions.microsoft.com> wrote in message
news:B2D49C79-AEF8-4E49-BED1-E3BA4B1133CC@microsoft.com...
> 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" <Den***@discussions.microsoft.com> wrote in message
>> news:96D1F694-2530-4C63-BD7F-E236C317AD8E@microsoft.com...
>> > 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" <bkunn***@hotmail.com> wrote in message
>> >> news:1164924821.535097.218200@n67g2000cwd.googlegroups.com...
>> >> > 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,
>> >> >
>> >>
>> >>
>> >>
>>
>>
>>
Author
1 Dec 2006 4:20 AM
Spam Catcher
"Stephany Young" <noone@localhost> wrote in
news:OMTkJ$NFHHA.1280@TK2MSFTNGP04.phx.gbl:

> 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!'.
>

And experience for that matter!
Author
1 Dec 2006 5:08 AM
Cor Ligthert [MVP]
BK,

I completely disagree with the replies from Stephany and Tom,  why are
things as 4 tier so important, is that the first goal of an organisation.
For me that sounds beginners wisdom, use the skills of the Access, ASP
programmer to start with. Those are most probably fine form and output
design coupled with skills how to present a program to an end user. For me
those parts are thousand times more important than if something is so called
4 tier (which I doubt it is because this is mostly nothing more than
multilayer).

Therefore the tone setting of some messages sounds for me derogating too
Access/ASP developers. There is not any need for that. Often they are much
better than dotNet developers in creating what is needed, the latter
sometimes don't come any further than the design instead of bringing the
programs (at the right time) to the end-user.

Just my thought reading the message and some replies.

And let him try this

http://www.vb-tips.com/dbpages.aspx?ID=1139f14a-c236-4ad7-8882-b1ed16424252

Cor

Show quoteHide quote
"BK" <bkunn***@hotmail.com> schreef in bericht
news:1164924821.535097.218200@n67g2000cwd.googlegroups.com...
> 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,
>
Author
1 Dec 2006 6:17 AM
Tom Leylan
Interesting Cor.

If they have a multi-tier business app written in VB.Net and C# and a junior
programmer who knows Access then that's what they have.  Nobody was putting
the programmer down for using Access but extensive knowledge of Access isn't
going to translate into "I'll implement an Interface in my new business
class."  You can see the level of some of the questions posted on this
newsgroup and this is from people who actually use VB.Net.  If knowing
Access is the route to good .Net code we could start recommending a side
trip.

They aren't developing in Access if they were I'd suggest the Access guy
orient the .Net folks instead.

Stephany suggested he be taught .Net, I suggested they use the skills he has
gained in Access in developing .Net... I don't think you completely disagree
:-)

Take care.


Show quoteHide quote
"Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> wrote in message
news:%23CeP$ZQFHHA.5004@TK2MSFTNGP03.phx.gbl...
> BK,
>
> I completely disagree with the replies from Stephany and Tom,  why are
> things as 4 tier so important, is that the first goal of an organisation.
> For me that sounds beginners wisdom, use the skills of the Access, ASP
> programmer to start with. Those are most probably fine form and output
> design coupled with skills how to present a program to an end user. For me
> those parts are thousand times more important than if something is so
> called 4 tier (which I doubt it is because this is mostly nothing more
> than multilayer).
>
> Therefore the tone setting of some messages sounds for me derogating too
> Access/ASP developers. There is not any need for that. Often they are much
> better than dotNet developers in creating what is needed, the latter
> sometimes don't come any further than the design instead of bringing the
> programs (at the right time) to the end-user.
>
> Just my thought reading the message and some replies.
>
> And let him try this
>
> http://www.vb-tips.com/dbpages.aspx?ID=1139f14a-c236-4ad7-8882-b1ed16424252
>
> Cor
>
> "BK" <bkunn***@hotmail.com> schreef in bericht
> news:1164924821.535097.218200@n67g2000cwd.googlegroups.com...
>> 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,
>>
>
>
Author
1 Dec 2006 8:11 AM
Michel Posseth [MCP]
They also told he was a VB6 programmer

So i would recomend to throw him the Programming Microsoft Visual basic .Net
series of Francesco balena ( Core reference guide of VB )

Wich for a fact has special attention notes for Pre .Net VB programmers

Wit this book as a reference he should be able to pick up VB.Net pretty
quick , also i believe there are big misunderstandings about needed skills in
the pre .Net  period

In VB.Net i see nowadays people calling themself proggrammers , while they
can only use drag and drop , and call methods in the framework   , if there
is not an out of the box solution they are lostm  cause they can`t write the
solution  themselves

If you wrote complex programs in VB6 you are probably a much higher skilled
programmer as the current .Net pilots

regards

Michel Posseth [MCP]  





Show quoteHide quote
"Tom Leylan" wrote:

> Interesting Cor.
>
> If they have a multi-tier business app written in VB.Net and C# and a junior
> programmer who knows Access then that's what they have.  Nobody was putting
> the programmer down for using Access but extensive knowledge of Access isn't
> going to translate into "I'll implement an Interface in my new business
> class."  You can see the level of some of the questions posted on this
> newsgroup and this is from people who actually use VB.Net.  If knowing
> Access is the route to good .Net code we could start recommending a side
> trip.
>
> They aren't developing in Access if they were I'd suggest the Access guy
> orient the .Net folks instead.
>
> Stephany suggested he be taught .Net, I suggested they use the skills he has
> gained in Access in developing .Net... I don't think you completely disagree
> :-)
>
> Take care.
>
>
> "Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> wrote in message
> news:%23CeP$ZQFHHA.5004@TK2MSFTNGP03.phx.gbl...
> > BK,
> >
> > I completely disagree with the replies from Stephany and Tom,  why are
> > things as 4 tier so important, is that the first goal of an organisation.
> > For me that sounds beginners wisdom, use the skills of the Access, ASP
> > programmer to start with. Those are most probably fine form and output
> > design coupled with skills how to present a program to an end user. For me
> > those parts are thousand times more important than if something is so
> > called 4 tier (which I doubt it is because this is mostly nothing more
> > than multilayer).
> >
> > Therefore the tone setting of some messages sounds for me derogating too
> > Access/ASP developers. There is not any need for that. Often they are much
> > better than dotNet developers in creating what is needed, the latter
> > sometimes don't come any further than the design instead of bringing the
> > programs (at the right time) to the end-user.
> >
> > Just my thought reading the message and some replies.
> >
> > And let him try this
> >
> > http://www.vb-tips.com/dbpages.aspx?ID=1139f14a-c236-4ad7-8882-b1ed16424252
> >
> > Cor
> >
> > "BK" <bkunn***@hotmail.com> schreef in bericht
> > news:1164924821.535097.218200@n67g2000cwd.googlegroups.com...
> >> 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,
> >>
> >
> >
>
>
>
Author
1 Dec 2006 1:22 PM
BK
First off, thanks for all the input... I won't address all the points
and questions, but here is some feedback from me (the original poster).

The programmer I "inherited" is the last of the VB6 programmers here.
The reason he was a hold out is because he is more old school and
reluctant to change.  I actually did want him on the team, it was a way
to further show management how good the move was to .Net (if we can
make him more productive, we can make anyone more productive!)  The
rest of us embraced the .Net environment and jumped in feet first over
a year ago.  The rest of the team is very productive now, much more so
than when they coded in VB6 (I actually programmed in VFP prior to this
and came into the .Net team as a team lead).  We had a few hurdles to
cross initially, but they were mostly related to team development
instead of individual development.  We now attack all projects as a
team, divide and conquer.  Using OOP principles, eXtreme Programming
techniques, and the .Net framework, we are all doing our job different,
but much more efficiently with fewer bugs and faster turn around.  The
customers are happy, management is happy, my job is fun.

The reason for the post is that this programmer has been a challenge,
he wants to revert back to "old ways".  FWIW, he is the oldest member
of the team.  You can tell he wants to change and he doesn't resist
change, but his programming style is very procedural and he has a hard
time thinking of the Enterprise (Oracle, DB2, SQL Server).

Things are getting slowly better.  We do a lot of paired programming
and that has been helpful.  We also do a lot of code review, so he
see's other peoples work.  Another thing I've found useful is to give
him shorter deadlines... if he has too long to work on something he
tends to bog himself down in minor details that don't enhance the
system or the user experience.

Once again, I do appreciate the replys and I will share my progress in
the hopes that others may benefit.
Author
1 Dec 2006 1:36 PM
Michel Posseth [MCP]
Do him a favor and buy the guy these 2 books ( yes he needs them both )
http://www.amazon.com/Programming-Microsoft-Visual-Basic-2005/dp/0735621837/sr=8-1/qid=1164979820/ref=pd_bbs_sr_1/104-3763231-8180736?ie=UTF8&s=books
http://www.amazon.com/Programming-Microsoft-Visual-Version-CD-ROM/dp/0735620598/sr=8-5/qid=1164979820/ref=pd_bbs_sr_5/104-3763231-8180736?ie=UTF8&s=books

And he will probably amaze you in a few weeks time ,,, i know i did with my
collegues ( however is started with the 2002 version , wich is now obsolete
to read )

regards

Michel Posseth [MCP]


Show quoteHide quote
"BK" wrote:

> First off, thanks for all the input... I won't address all the points
> and questions, but here is some feedback from me (the original poster).
>
> The programmer I "inherited" is the last of the VB6 programmers here.
> The reason he was a hold out is because he is more old school and
> reluctant to change.  I actually did want him on the team, it was a way
> to further show management how good the move was to .Net (if we can
> make him more productive, we can make anyone more productive!)  The
> rest of us embraced the .Net environment and jumped in feet first over
> a year ago.  The rest of the team is very productive now, much more so
> than when they coded in VB6 (I actually programmed in VFP prior to this
> and came into the .Net team as a team lead).  We had a few hurdles to
> cross initially, but they were mostly related to team development
> instead of individual development.  We now attack all projects as a
> team, divide and conquer.  Using OOP principles, eXtreme Programming
> techniques, and the .Net framework, we are all doing our job different,
> but much more efficiently with fewer bugs and faster turn around.  The
> customers are happy, management is happy, my job is fun.
>
> The reason for the post is that this programmer has been a challenge,
> he wants to revert back to "old ways".  FWIW, he is the oldest member
> of the team.  You can tell he wants to change and he doesn't resist
> change, but his programming style is very procedural and he has a hard
> time thinking of the Enterprise (Oracle, DB2, SQL Server).
>
> Things are getting slowly better.  We do a lot of paired programming
> and that has been helpful.  We also do a lot of code review, so he
> see's other peoples work.  Another thing I've found useful is to give
> him shorter deadlines... if he has too long to work on something he
> tends to bog himself down in minor details that don't enhance the
> system or the user experience.
>
> Once again, I do appreciate the replys and I will share my progress in
> the hopes that others may benefit.
>
>
Author
1 Dec 2006 4:59 PM
Cor Ligthert [MVP]
> I don't think you completely disagree
> :-)
>
You know me,

:-)

Cor