|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Best way to get a Junior Programmer up to speedOur .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, 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, > 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. -- Show quoteHide quoteDennis 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, > > > > > 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, >> > >> >> >> 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. -- Show quoteHide quoteDennis 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, > >> > > >> > >> > >> > > > 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, >> >> > >> >> >> >> >> >> >> >> >> "Stephany Young" <noone@localhost> wrote in And experience for that matter!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!'. > 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, > 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, >> > > 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, > >> > > > > > > > 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. 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. > > > I don't think you completely disagree You know me,> :-) > :-) Cor
Re: Is VB.NET Stable?? To Aaron Kemp - Ahole Extrordinare
String to Byte & Vice Versa Best way to communicate from Desktop to SQL DB Re: Is VB.NET Stable?? deployment of project migrating MSDE to SQLExpress End Processing in Multithreaded App Cross-thread operation not valid. catching close button Re: Is VB.NET Stable?? NNTP Question |
|||||||||||||||||||||||