473,769 Members | 5,131 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to deal with problematic programmer on project

Hi all,

I'm working on a project through a consulting company, and I'm writing some
database code for use in another programmer's project in Excel/VBA. The other
programmer is working through the same consulting company.

I did not initially know this other programmer's experience level, but he
seemed down to earth and friendly. I saw some signs of trouble after having
him try to integrate some of my code, but chalked it up to him trying to wrap
his mind around how another programmer thinks, which can be hard with the best
of code.

Now, it has become clear this person has some serious problems as a
programmer, and I'm not sure the best way to handle it. it's going to reflect
badly on me if the code I deliver keeps working badly, but believe me, my code
is carefully designed and rigorously tested when delivered.

The code I delivered for this project encapsulates -everything- a user could
need from it in a few class modules. Create an instance of one class to
manage the database connection and ADO command object, set its properties to
assign parameters, and call its methods to get instance of more classes that
encapsulate result recordsets, provide type-safe methods for accessing
recordset fields, etc. Totally plug-and-play.

So he's having performance problems, though my tests run well, and he has me
look at his code. he took my tests module that is designed to thoroughly test
-everything- my code does, and he's calling it in a loop! That means, he's
among other things, recreating the conneciton and command objects each time
through his loop when it only needs to be done once, and running the biggest,
slowest queries my code can run each time even though his current code won't
need those results at all. He created string variables that duplicate the
purposes of my enumerated types, then uses both! He uses global variables to
pass parameters, and never specifies variable data types. he obviously never
compiles his code, because I can't try to compile mine to check for problems
because I'd have to comment out about 50 lines compile errors in his code to
do it, etc. He also fails to always use Option Explicit.

How should I handle this situation diplomatically, but in a way that protects
the project from total disaster?

Any thoughts?
Nov 12 '05 #1
23 2708
"Steve Jorgensen" <no****@nospam. nospam> wrote in message
news:ei******** *************** *********@4ax.c om...
Hi all,

I'm working on a project through a consulting company, and I'm writing some database code for use in another programmer's project in Excel/VBA. The other programmer is working through the same consulting company.

I did not initially know this other programmer's experience level, but he
seemed down to earth and friendly. I saw some signs of trouble after having him try to integrate some of my code, but chalked it up to him trying to wrap his mind around how another programmer thinks, which can be hard with the best of code.

Now, it has become clear this person has some serious problems as a
programmer, and I'm not sure the best way to handle it. it's going to reflect badly on me if the code I deliver keeps working badly, but believe me, my code is carefully designed and rigorously tested when delivered.

The code I delivered for this project encapsulates -everything- a user could need from it in a few class modules. Create an instance of one class to
manage the database connection and ADO command object, set its properties to assign parameters, and call its methods to get instance of more classes that encapsulate result recordsets, provide type-safe methods for accessing
recordset fields, etc. Totally plug-and-play.

So he's having performance problems, though my tests run well, and he has me look at his code. he took my tests module that is designed to thoroughly test -everything- my code does, and he's calling it in a loop! That means, he's among other things, recreating the conneciton and command objects each time through his loop when it only needs to be done once, and running the biggest, slowest queries my code can run each time even though his current code won't need those results at all. He created string variables that duplicate the
purposes of my enumerated types, then uses both! He uses global variables to pass parameters, and never specifies variable data types. he obviously never compiles his code, because I can't try to compile mine to check for problems because I'd have to comment out about 50 lines compile errors in his code to do it, etc. He also fails to always use Option Explicit.

How should I handle this situation diplomatically, but in a way that protects the project from total disaster?

Any thoughts?

Stab him in the eye with a sharpened pencil.
Leap up on to his desk.
Stomp all over his keyboard.
At the top of your voice, scream:
"I am the Database Queen around here!"
"Have you got that, bitch?"
HTH

Jim
Nov 12 '05 #2
Hi, Steve!

Having been in the position of your colleague not so very long ago myself, I
can feel your pain, but also guess at his.

Excel permits a user to record a macro which duplicates the actions of
keystrokes -
in many cases, minor modifications of such code is all that it takes to
"program in Excel/VBA".
My guess is that your colleague is a high-end Excel user, who has also
learned to record and modify macros.
The whole concept of classes is not something such a user would necessarily
be familiar with; it certainly sounds as if he hasn't fully grasped it.
(In Access, we work with Forms all the time, so it's fairly easy to expand
from that concept. In my experience, UserForms, although they exist in
Excel, are not commonly used.)
I'd also mention that if you've learned mostly by modifying recorded macros,
Option Explicit and data types are not necessarily issues that would have
arisen.
And if you know of a way to compile Excel/VBA code other than running it,
I'd love to learn!

I think the significant question here is how interested he is in learning.
His interest level, of course, may be strongly influenced by how
diplomatically you make the suggestion.
You could offer to spend a half an hour with him covering concepts like
variable declarations, data types, and Option Explicit. Such a session
should be enough to tell you whether he's able and willing to do such
learning, and is short enough that nobody should get too upset about who's
paying whom for it.
If he still just doesn't seem to be getting it, you might want to talk to
your supervisor at the agency -
expressing a good deal of respect for his non-programming Excel
abilities, but indicating he'd need some organized coursework to be the kind
of developer they want.
If he does get it, he's probably salvageable.
One tactic I sometimes use in such cases is to say you need to provide
some documentation with your code, so folks like him can use it
appropriately, so you need his input on what should be in the documentation.
This gives you a chance to explain its use thoroughly to him.
If you know a good tutorial that explains classes and how to use them,
you could refer him to that, and possibly save yourself some time.

I don't know what the talent pool is in your area, but in the smaller city
where I live, I've run into one - well, maybe two - competent Excel/VBA
programmers in my decade or so of experience. It's not a common skill.

HTH
- Turtle

"Steve Jorgensen" <no****@nospam. nospam> wrote in message
news:ei******** *************** *********@4ax.c om...
Hi all,

I'm working on a project through a consulting company, and I'm writing some database code for use in another programmer's project in Excel/VBA. The other programmer is working through the same consulting company.

I did not initially know this other programmer's experience level, but he
seemed down to earth and friendly. I saw some signs of trouble after having him try to integrate some of my code, but chalked it up to him trying to wrap his mind around how another programmer thinks, which can be hard with the best of code.

Now, it has become clear this person has some serious problems as a
programmer, and I'm not sure the best way to handle it. it's going to reflect badly on me if the code I deliver keeps working badly, but believe me, my code is carefully designed and rigorously tested when delivered.

The code I delivered for this project encapsulates -everything- a user could need from it in a few class modules. Create an instance of one class to
manage the database connection and ADO command object, set its properties to assign parameters, and call its methods to get instance of more classes that encapsulate result recordsets, provide type-safe methods for accessing
recordset fields, etc. Totally plug-and-play.

So he's having performance problems, though my tests run well, and he has me look at his code. he took my tests module that is designed to thoroughly test -everything- my code does, and he's calling it in a loop! That means, he's among other things, recreating the conneciton and command objects each time through his loop when it only needs to be done once, and running the biggest, slowest queries my code can run each time even though his current code won't need those results at all. He created string variables that duplicate the
purposes of my enumerated types, then uses both! He uses global variables to pass parameters, and never specifies variable data types. he obviously never compiles his code, because I can't try to compile mine to check for problems because I'd have to comment out about 50 lines compile errors in his code to do it, etc. He also fails to always use Option Explicit.

How should I handle this situation diplomatically, but in a way that protects the project from total disaster?

Any thoughts?

Nov 12 '05 #3
DFS
Education and communication is the key. Have you told him what you've told
us (in a nice way, of course)? He'll probably appreciate the chance to
learn a better way.

OOP and classes can be difficult to understand and use in a spreadsheet/db
interface environment. Are they necessary to the project? I'm sure in your
mind they are, and I don't doubt your approach is clean and efficient, but
he might not understand their usage. I've personally written classes and
used class instances only a handful of times in 8 years of VBA coding
(though on a couple of Java projects I worked on it was OOP from the start).

Another option: you're a much more advanced developer than he is, so maybe
it's possible for you to "step it down a notch" and make adjustments in your
work to compensate for his knowledge base? "dumb it down" as it were...

You should document the issues - summed up well by your 4th and 5th
paragraphs - and make sure your consulting company project manager is aware
of them. Maybe they'll split your assignments up differently, so there's
less (or no) mingling of code, and fewer potential problems.


"Steve Jorgensen" <no****@nospam. nospam> wrote in message
news:ei******** *************** *********@4ax.c om...
Hi all,

I'm working on a project through a consulting company, and I'm writing some database code for use in another programmer's project in Excel/VBA. The other programmer is working through the same consulting company.

I did not initially know this other programmer's experience level, but he
seemed down to earth and friendly. I saw some signs of trouble after having him try to integrate some of my code, but chalked it up to him trying to wrap his mind around how another programmer thinks, which can be hard with the best of code.

Now, it has become clear this person has some serious problems as a
programmer, and I'm not sure the best way to handle it. it's going to reflect badly on me if the code I deliver keeps working badly, but believe me, my code is carefully designed and rigorously tested when delivered.

The code I delivered for this project encapsulates -everything- a user could need from it in a few class modules. Create an instance of one class to
manage the database connection and ADO command object, set its properties to assign parameters, and call its methods to get instance of more classes that encapsulate result recordsets, provide type-safe methods for accessing
recordset fields, etc. Totally plug-and-play.

So he's having performance problems, though my tests run well, and he has me look at his code. he took my tests module that is designed to thoroughly test -everything- my code does, and he's calling it in a loop! That means, he's among other things, recreating the conneciton and command objects each time through his loop when it only needs to be done once, and running the biggest, slowest queries my code can run each time even though his current code won't need those results at all. He created string variables that duplicate the
purposes of my enumerated types, then uses both! He uses global variables to pass parameters, and never specifies variable data types. he obviously never compiles his code, because I can't try to compile mine to check for problems because I'd have to comment out about 50 lines compile errors in his code to do it, etc. He also fails to always use Option Explicit.

How should I handle this situation diplomatically, but in a way that protects the project from total disaster?

Any thoughts?

Nov 12 '05 #4
"DFS" <no****@nospam. com> wrote in message
news:10******** *****@corp.supe rnews.com...

OOP and classes can be difficult to understand and use in a spreadsheet/db
interface environment. Are they necessary to the project? I'm sure in your mind they are, and I don't doubt your approach is clean and efficient, but
he might not understand their usage. I've personally written classes and
used class instances only a handful of times in 8 years of VBA coding
(though on a couple of Java projects I worked on it was OOP from the start).


Within this newsgroup, you sometimes get the impression that classes were
the only proper way to get anything done. Therefore, your best bet would be
to rush out and get the Access Developer's Handbook and do everything how it
is done there.

Now what happens when you want some simple functionality like open an
existing file. If you did it their way you would create about 1000 lines of
code in a class module and about 250 lines in an associated module (although
there is supposed to be some redundant code copied from other modules so
perhaps not needed). Include heaps of extra functionality and roll it
together with something that you can use to select colours, use callback
functions etc. and sprinkle with copyright notices and heaps of developer
notes.

If you distribute .mdb files (so the code is available to the customer
should you get hit by a bus) do you include these notices advertising the
fact that it is not your code? Do you modify it sufficiently so that it is
your code? Or do you say that putting a whole heap of code in your
application which you didn't write and don't have the time to go through
line by line, simply so that you can say you have achieved the Holy Grail of
using a class in your application is not worth it.

Even once you have written the class module and associated public functions,
etc just look at the fun you have just to get the path to an Excel file (see
below). I currently have a fraction of the number of lines of code in a
module modOFN which includes a function:
Public Function GetOFN(AccessOF N As MSA_OPENFILENAM E) As String
Would any sane developer recommend I replace this clearly inferior public
function with a vastly superior class module? If so, do I re-write it using
my coding conventions and remove the ADH notes and copyright notices or
perhaps modify the code but leave the notices, or perhaps just accept that
it was
written by more experienced developers and so not touch the code?

I am genuinely interested. What do you folks do? It's a very popular
book - is anyone using the ADH class modules?

Private Sub cmdTest_Click()

On Error GoTo Err_Handler

Dim objDlg As CommonDlg
Dim strPath As String

Set objDlg = New CommonDlg

With objDlg
.CancelError = True
.hWndOwner = Me.hWnd
.OpenFlags = cdlOFNHideReadO nly Or cdlOFNEnableHoo k
.DialogTitle = "Select file to import..."
.Filter = "Excel Workbooks (*.xls)|*.xls"
.CallBack = adhFnPtrToLong( AddressOf GFNCallback)
.ShowOpen
strPath = .FileName
End With

MsgBox "Holy Cow!" & vbCrLf & strPath

Exit_Handler:

If Not objDlg Is Nothing Then
Set objDlg = Nothing
End If

Exit Sub

Err_Handler:

Select Case Err.Number

Case cdlCancel
' Do Nothing

Case Else
MsgBox Err.Description , vbExclamation, "Error No: " & Err.Number
Resume Exit_Handler

End Select

End Sub
Nov 12 '05 #5
I'm a big fan of the ADH, but no, I do not use the classes from the ADH, at
least, not directly - I use them as learning tools to figure out how to do
that stuff myself when I need to.

And, no, I don't use classes for most things. I use them only when I need
the code to be widely re-usable - reusable by me in other applications, and
reusable by my colleagues.

When I write code solely for my own use, in one application, I can make
certain assumptions, based on the way that I like to do things, that I can
not make when writing code that may be used in other applications, or by
other developers who may prefer to do things in other ways. The alternative
to using a class in the latter situation is often a very complex procedure,
with a large number of optional arguments and lots of conditional loops to
take different actions depending on the values of those optional arguments.
In that situation, the procedure becomes more complex and difficult to
maintain than a class would have been.

--
Brendan Reynolds

"Eric Schittlipz" <er**@schittlip z.com> wrote in message
news:c1******** **@hercules.bti nternet.com...
"DFS" <no****@nospam. com> wrote in message
news:10******** *****@corp.supe rnews.com...

OOP and classes can be difficult to understand and use in a spreadsheet/db interface environment. Are they necessary to the project? I'm sure in your
mind they are, and I don't doubt your approach is clean and efficient, but he might not understand their usage. I've personally written classes and used class instances only a handful of times in 8 years of VBA coding
(though on a couple of Java projects I worked on it was OOP from the

start).


Within this newsgroup, you sometimes get the impression that classes were
the only proper way to get anything done. Therefore, your best bet would

be to rush out and get the Access Developer's Handbook and do everything how it is done there.

Now what happens when you want some simple functionality like open an
existing file. If you did it their way you would create about 1000 lines of code in a class module and about 250 lines in an associated module (although there is supposed to be some redundant code copied from other modules so
perhaps not needed). Include heaps of extra functionality and roll it
together with something that you can use to select colours, use callback
functions etc. and sprinkle with copyright notices and heaps of developer
notes.

If you distribute .mdb files (so the code is available to the customer
should you get hit by a bus) do you include these notices advertising the
fact that it is not your code? Do you modify it sufficiently so that it is your code? Or do you say that putting a whole heap of code in your
application which you didn't write and don't have the time to go through
line by line, simply so that you can say you have achieved the Holy Grail of using a class in your application is not worth it.

Even once you have written the class module and associated public functions, etc just look at the fun you have just to get the path to an Excel file (see below). I currently have a fraction of the number of lines of code in a
module modOFN which includes a function:
Public Function GetOFN(AccessOF N As MSA_OPENFILENAM E) As String
Would any sane developer recommend I replace this clearly inferior public
function with a vastly superior class module? If so, do I re-write it using my coding conventions and remove the ADH notes and copyright notices or
perhaps modify the code but leave the notices, or perhaps just accept that
it was
written by more experienced developers and so not touch the code?

I am genuinely interested. What do you folks do? It's a very popular
book - is anyone using the ADH class modules?

Private Sub cmdTest_Click()

On Error GoTo Err_Handler

Dim objDlg As CommonDlg
Dim strPath As String

Set objDlg = New CommonDlg

With objDlg
.CancelError = True
.hWndOwner = Me.hWnd
.OpenFlags = cdlOFNHideReadO nly Or cdlOFNEnableHoo k
.DialogTitle = "Select file to import..."
.Filter = "Excel Workbooks (*.xls)|*.xls"
.CallBack = adhFnPtrToLong( AddressOf GFNCallback)
.ShowOpen
strPath = .FileName
End With

MsgBox "Holy Cow!" & vbCrLf & strPath

Exit_Handler:

If Not objDlg Is Nothing Then
Set objDlg = Nothing
End If

Exit Sub

Err_Handler:

Select Case Err.Number

Case cdlCancel
' Do Nothing

Case Else
MsgBox Err.Description , vbExclamation, "Error No: " & Err.Number
Resume Exit_Handler

End Select

End Sub

Nov 12 '05 #6
"Eric Schittlipz" <er**@schittlip z.com> wrote in
news:c1******** **@hercules.bti nternet.com:
Within this newsgroup, you sometimes get the impression that classes
were the only proper way to get anything done. Therefore, your best bet
would be to rush out and get the Access Developer's Handbook and do
everything how it is done there.

Now what happens when you want some simple functionality like open an
existing file. If you did it their way you would create about 1000
lines of code in a class module and about 250 lines in an associated
module (although there is supposed to be some redundant code copied from
other modules so perhaps not needed). Include heaps of extra
functionality and roll it together with something that you can use to
select colours, use callback functions etc. and sprinkle with copyright
notices and heaps of developer notes.

If you distribute .mdb files (so the code is available to the customer
should you get hit by a bus) do you include these notices advertising
the fact that it is not your code? Do you modify it sufficiently so
that it is your code? Or do you say that putting a whole heap of code
in your application which you didn't write and don't have the time to go
through line by line, simply so that you can say you have achieved the
Holy Grail of using a class in your application is not worth it.

Even once you have written the class module and associated public
functions, etc just look at the fun you have just to get the path to an
Excel file (see below). I currently have a fraction of the number of
lines of code in a module modOFN which includes a function:
Public Function GetOFN(AccessOF N As MSA_OPENFILENAM E) As String
Would any sane developer recommend I replace this clearly inferior
public function with a vastly superior class module? If so, do I
re-write it using my coding conventions and remove the ADH notes and
copyright notices or perhaps modify the code but leave the notices, or
perhaps just accept that it was
written by more experienced developers and so not touch the code?

I am genuinely interested. What do you folks do? It's a very popular
book - is anyone using the ADH class modules?


Vague Ramblings ...

I restrict my use of class modules to the following situations:

1. I may require more than one concurrent instance of a procedure which
uses modularly scoped variables. An example is a class which saves the
current values of some form properties/controls in modularly scoped
variables and, later, reopens the form with those property/control values
set to those saved values.
2. A procedure uses many variables which must be initialized and the
procedure will be used many times. An example is a procedure which
translates numerical data to words, as in 156 -> one hundred fifty-six.

Classes seem slow and unnecessary in other situations. I have my own
GetFileName Procedure. I don't know if it's longer or shorter than that
commonly referenced here. I use it because it allows me to use the same
procedure to search for a Directory.

I distribute only ADPs and (not recently) MDBs. If someone steals
something, it is he or she who is the lesser, not me. My contract quite
clearly states that the purchasing organization may do whatever it likes
with the application, except sell, transfer or otherwise make copies of it
available to any other organization, or individual. If someone changes
something and the project needs to be repaired, then he or she must pay for
my time. My current ADP hovers around 1 megabyte (at this moment Explorer
shows 1019kb) in size. I like it that way.

I read the ADH many years ago. It is no longer one of the books I keep
close by for immediate reference.

--
Lyle
(for e-mail refer to http://ffdba.com/contacts.htm)
Nov 12 '05 #7
Steve,

It seems like the responses have gotten pretty far off topic. One thing to
take from that is a moment to think about whether or not the way you're
going about things could be way over the head of someone and who is,
nevertheless, capable of doing this job in a reasonable and reasonably
efficient manner. If so, then I think there's good reason to think about how
you two can find a middle ground, which might involve him hitting the books
a little and you using techniques that are a little easier for him to grasp,
even if they're a little less efficient, and even a little less bulletproof
(to the developer, not the user).

On the other hand, if this guy is just not going to be able to cut it, I
would say that it's important that you go to the company through which
you're working and let them know your concerns and how you would like to
approach the situation. Probably best if you have a plan that gives the guy
a chance and also makes clear where the problems lie. Definitely best if you
talk to them before he does. Very important that you talk to the company
with a huge amount of diplomacy, and probably even some humility (that's not
a comment on what you've posted here or elsewhere). I'd try to approach it
from a perspective of seeing this guy in over his head, wanting to help him,
but looking out for the client, and not being 100% sure the guy is going to
be able to make it through.

Jeremy

--
Jeremy Wallace
AlphaBet City Dataworks
http://www.ABCDataworks.com
"Steve Jorgensen" <no****@nospam. nospam> wrote in message
news:ei******** *************** *********@4ax.c om...
Hi all,

I'm working on a project through a consulting company, and I'm writing some database code for use in another programmer's project in Excel/VBA. The other programmer is working through the same consulting company.

I did not initially know this other programmer's experience level, but he
seemed down to earth and friendly. I saw some signs of trouble after having him try to integrate some of my code, but chalked it up to him trying to wrap his mind around how another programmer thinks, which can be hard with the best of code.

Now, it has become clear this person has some serious problems as a
programmer, and I'm not sure the best way to handle it. it's going to reflect badly on me if the code I deliver keeps working badly, but believe me, my code is carefully designed and rigorously tested when delivered.

The code I delivered for this project encapsulates -everything- a user could need from it in a few class modules. Create an instance of one class to
manage the database connection and ADO command object, set its properties to assign parameters, and call its methods to get instance of more classes that encapsulate result recordsets, provide type-safe methods for accessing
recordset fields, etc. Totally plug-and-play.

So he's having performance problems, though my tests run well, and he has me look at his code. he took my tests module that is designed to thoroughly test -everything- my code does, and he's calling it in a loop! That means, he's among other things, recreating the conneciton and command objects each time through his loop when it only needs to be done once, and running the biggest, slowest queries my code can run each time even though his current code won't need those results at all. He created string variables that duplicate the
purposes of my enumerated types, then uses both! He uses global variables to pass parameters, and never specifies variable data types. he obviously never compiles his code, because I can't try to compile mine to check for problems because I'd have to comment out about 50 lines compile errors in his code to do it, etc. He also fails to always use Option Explicit.

How should I handle this situation diplomatically, but in a way that protects the project from total disaster?

Any thoughts?

Nov 12 '05 #8
On Fri, 27 Feb 2004 11:15:44 -0500, "Jeremy Wallace"
<ab**********@A lphaBetCityData works.com> wrote:
Steve,

It seems like the responses have gotten pretty far off topic. One thing to
take from that is a moment to think about whether or not the way you're
going about things could be way over the head of someone and who is,
nevertheless , capable of doing this job in a reasonable and reasonably
efficient manner. If so, then I think there's good reason to think about how
you two can find a middle ground, which might involve him hitting the books
a little and you using techniques that are a little easier for him to grasp,
even if they're a little less efficient, and even a little less bulletproof
(to the developer, not the user).

On the other hand, if this guy is just not going to be able to cut it, I
would say that it's important that you go to the company through which
you're working and let them know your concerns and how you would like to
approach the situation. Probably best if you have a plan that gives the guy
a chance and also makes clear where the problems lie. Definitely best if you
talk to them before he does. Very important that you talk to the company
with a huge amount of diplomacy, and probably even some humility (that's not
a comment on what you've posted here or elsewhere). I'd try to approach it
from a perspective of seeing this guy in over his head, wanting to help him,
but looking out for the client, and not being 100% sure the guy is going to
be able to make it through.

Jeremy


In response to all.

First, I used class modules in this case precisely because it was clearly the
-easiest- interface I could deliver, and the test code clearly demonstrates
how to use the classes. The recipient of my code doesn't need to understand
anything about how my classes work internally, and it's similar to haow the
other object models provided by VBA work.

Second, with regard to this programmer's profficiency, a programmer who never
compiles his code and fails to use data types for variables, and doesn't use
Option Explicit religeously? Sounds like a VBScript programmer, but I digress
<g>. No, this is obviously a -very- low-level programmer.

I do have no desire to attack this person, and I do assume until I know
otherwise that he does want to improve. I think I will take the approach of
trying to arrange to work more closely with him, and tutor him up to speed,
but I wonder how I should broach the subject, and to whom first to get the
best response?
Nov 12 '05 #9
Steve,

Especially because you are so willing to work with this guy, I think it
makes sense to let the company who hired you know what's going on. Tell them
that you don't want to place the guy's job in jeopardy but that he's got a
lot to learn and that you can teach him this stuff quickly, if he's willing
to learn. Then approach him. There's no need to mention that you spoke to
anyone else about it, and I wouldn't think he would ask. It's a difficult
conversation, but it sounds like you have a fairly calm head about it.

"Can I show you why I did it that way" might be a decent way to lead into a
conversation about this kind of thing.

Jeremy

--
Jeremy Wallace
AlphaBet City Dataworks
http://www.ABCDataworks.com
"Steve Jorgensen" <no****@nospam. nospam> wrote in message
news:n2******** *************** *********@4ax.c om...
On Fri, 27 Feb 2004 11:15:44 -0500, "Jeremy Wallace"
<ab**********@A lphaBetCityData works.com> wrote:
Steve,

It seems like the responses have gotten pretty far off topic. One thing totake from that is a moment to think about whether or not the way you're
going about things could be way over the head of someone and who is,
nevertheless , capable of doing this job in a reasonable and reasonably
efficient manner. If so, then I think there's good reason to think about howyou two can find a middle ground, which might involve him hitting the booksa little and you using techniques that are a little easier for him to grasp,even if they're a little less efficient, and even a little less bulletproof(to the developer, not the user).

On the other hand, if this guy is just not going to be able to cut it, I
would say that it's important that you go to the company through which
you're working and let them know your concerns and how you would like to
approach the situation. Probably best if you have a plan that gives the guya chance and also makes clear where the problems lie. Definitely best if youtalk to them before he does. Very important that you talk to the company
with a huge amount of diplomacy, and probably even some humility (that's nota comment on what you've posted here or elsewhere). I'd try to approach itfrom a perspective of seeing this guy in over his head, wanting to help him,but looking out for the client, and not being 100% sure the guy is going tobe able to make it through.

Jeremy
In response to all.

First, I used class modules in this case precisely because it was clearly

the -easiest- interface I could deliver, and the test code clearly demonstrates how to use the classes. The recipient of my code doesn't need to understand anything about how my classes work internally, and it's similar to haow the other object models provided by VBA work.

Second, with regard to this programmer's profficiency, a programmer who never compiles his code and fails to use data types for variables, and doesn't use Option Explicit religeously? Sounds like a VBScript programmer, but I digress <g>. No, this is obviously a -very- low-level programmer.

I do have no desire to attack this person, and I do assume until I know
otherwise that he does want to improve. I think I will take the approach of trying to arrange to work more closely with him, and tutor him up to speed, but I wonder how I should broach the subject, and to whom first to get the
best response?

Nov 12 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1812
by: Hal Vaughan | last post by:
I'm self taught and most of what I've been working on for the past several years has been entirely in Perl and Java. I've noticed that I can code about 5 times faster in Perl than Java, in part because I feel like whenever I want to do something in Java, I have to create an object, do a few preperatory things, then do what I need, but in Perl, I just call the routine. Java, however, does much better at cross platform apps, especially if...
7
1974
by: Andante.in.Blue | last post by:
Hello everyone! I've been working with a problematic legacy database for a while. While I am still fairly new to Access, the more I work with the database, the more problems I've uncovered. Unfortunately, most of these problems lie in the ways of architecture. A lot of the tables are designed with no primary keys, and a number of them using the text names in place of the PK-FK relationships. For instances, I have one table called ...
1
1418
by: Yuriy | last post by:
I download a project from Microsoft site (Survey Admin) http://msdn.microsoft.com/library/default.asp? url=/library/en-us/dnaspp/html/surveysample1.asp Installed it and try to open using SurveyAdmin.vbproj file which I do usually when open Projects and received a message (The project you trying to open is a Web project. You need to open it by specifying its URL path.) Although the project was installed properly, Virtual directory was...
8
2138
by: John Dann | last post by:
Just getting started with VB2005 and unsure how best to move active VB2003 projects into the VB2005 environment. Nornally I've versioned my VB2003 projects at specific development points by starting a new (blank) project and using Add Existing Item to import all the files from the previous project version before saving in a new folder location belonging to the new project. But on doing this in the VB2005 environment I find I've got a...
5
1432
by: Jenea Ciur | last post by:
Hi ! I am student in 4th year, Computer Science,and already have been working for 1.5 year. I really like programming, I this is what I do a lot. Before getting a job, I wrote lots of programs by myself,enjoying it and thinking that I can deal with this kind of job easily. But when I started to work a a company,I was putted to debug already written very huge programs... This is why I jump from one company to other,now it is 4th...
0
5575
by: gunimpi | last post by:
http://www.vbforums.com/showthread.php?p=2745431#post2745431 ******************************************************** VB6 OR VBA & Webbrowser DOM Tiny $50 Mini Project Programmer help wanted ******************************************************** For this teeny job, please refer to: http://feeds.reddit.com/feed/8fu/?o=25
9
1488
by: E.D.G. | last post by:
Important Research Project (Related to computer programming) Posted by E.D.G. on August 30, 2007 edgrsprj@ix.netcom.com This report is being posted to a number of Internet Newsgroups to see if there are any experienced computer programmers who would like to provide some assistance with an effort to develop a Perl language computer program. Interested parties can try contacting me by e-mail or by posting a response note to the...
5
3302
by: M.Liang Liu | last post by:
I have a project with the following dirs: --------------------------------------------------------------------------------------- +src |-proj0 |-program1 |-program2 |-proj1 |-program1 |-program2 |-program3
0
9423
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10210
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10039
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9990
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9860
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8869
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6668
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5445
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3560
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.