I'm doing a lot of reviewing/re-engineering
of Notes applications lately. I made a number of interesting observations
how applications are done here in the region. Most of them were developed
by developers placed into the customers environment by contracting companies
or professional service firms. Once the developer is with the client they
face an interesting dilemma: The client pays only for hours on the job
to the contracting company. So they want their employee to stay on the
job as much as possible; training gets cut short. The client doesn't consider
the contract staff to be part of the firm, so no training there either.
I met a number of developers who didn't get any training for 5 years, not
even off days to go for their own training. While senior developers can
stomach that and learn on their own, junior people will have a hard time
getting the experience when they are placed into an environment where they
don't have access to experienced developers The experienced ones are more
expensive (nobody looks into efficiency), so quite often a bunch of newbies
end up on site cut off from the experts.
As a result a lot of the code I saw
was full of hacks. Hacks of someone desperately trying to figure out some
something works, not hacks of someone who exactly knows what he was doing.
And a lot of the code is rather fragile and won't survive an extension.
Of course you could ague: a developer should take personal responsibility
if not pride in the delivered results. However from the work slave's
contract staff's perspective it looks different: Why should (s)he care
if no one cares for him/her? On top of that: once the application is completed,
(s)he moves on to the next project and so hardly face the need to maintain
they system (s)he has build before, so why write maintainable code?
Here Notes and Domino are cursed. Since
you can get something going very fast and Domino is rather forgiving with
whatever you do, you end up with a lot of messy code. And then people say
"Notes sucks". I would say: "Not training your staff sucks".
I think IBM has to play some catch up to make better Notes training en
vogue again.
And for code quality this is my advice:
"Write your code as if the one who has to maintain it is a maniac
with a gun who knows you address." (I would like to attribute that
quote correctly, but I can't find the source where I did read it)
Update: I met some of my ex-colleagues
from my Deutsche Bank Singapore days, who are all working for professional
service firms. This little rant made the round very fast. They unisono
confirmed, that they haven't seen any training for years. Luckily some
of them remember the days we worked together, so they know that better
quality is more fun to do.
This site is in no way affiliated, endorsed, sanctioned, supported, nor enlightened by Lotus Software nor IBM Corporation. I may be an employee, but the opinions, theories, facts, etc. presented here are my own and are in now way given in any official capacity. In short, these are my words and this is my site, not IBM's - and don't even begin to think otherwise. (Disclaimer shamelessly plugged from Rocky Oliver)
Comments
Posted by Aaron Seet (icelava) At 00:02:32 On 01/12/2006 | - Website - |
Posted by Brian Benz At 01:11:08 On 01/12/2006 | - Website - |
http://www.leadershipbynumbers.com/MS.nsf/d6plinks/BMAA-6L4H2A
Good luck on building up a user group !
All the best,
Jack
Posted by Jack Dausman At 21:56:07 On 01/16/2006 | - Website - |