To register for an Internet.com membership to receive newsletters and white papers, use the Register button ABOVE.
To participate in the message forums BELOW, click here
VBForums  

VB Wire News
Part 10 of the Visual Basic .NET 2010 Express Tutorial Complete!
How to Use the Visual Studio Code Analysis Tool FxCop
Article :: Interview with Andrei Alexandrescu (Part 3 of 3)
Introducing Visual Studio LightSwitch
Visual Studio LightSwitch Beta 1 is Available



Go Back   VBForums > General > General Developer Forum

Reply Post New Thread
 
Thread Tools Display Modes
Old Dec 26th, 2004, 03:09 PM   #1
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Advice on my new job?

Hi there

I had been working previously for 12 years for a company where software development was not their main focus. During that time I developed using C under Unix and then Dos, shifted onto Access and then tried out Delphi and Visual Basic before moving back to Access.

Now, I’ve got a new job with a company that, as far as I can see, has multiple Cobol (under Unix) based systems out in the field and now wants to modernize by redeveloping them using Visual Basic 6, with talk about moving to Visual Basic .NET at some unknown stage in the future.

The thing is, it all seems extremely weird to me and I’d like to ask some of you guys for some advice.

In terms of programming for my old company, we concentrated on putting out systems that worked well. We didn’t believe in bells and whistles, rather we would focus on making sure everything was plain and clear to the user. At times this involved maybe not using all the possible features that windows could provide, but we found it worked and had minimal problems.

In terms of programming for my new firm I find myself, metaphorically, scratching my head in wonderment at a lot of things that I’ve found. There, they have an established VB programmer who has worked there for at least a year and his ideas in general seem to be totally opposite to what I have been taught and what I have picked up from places such as this. It would probably be best if I gave you a few, for instances…


Because I was going to be a VB developer, before the job I broke out VB 6 and started to code in anger once more. I hit at least 3 major hurdles in trying to develop a ‘framework’, or system of coding that I was happy with. When I turned up for my first day, within a half hour of chatting with the boss and the established programmer, I mentioned the 3 major hurdles I had hit and they reacted by saying things like, “That would have saved us time”, or “Ah, that’s why couldn’t get that to work”. At this stage I was a bit puzzled as to why these issues hadn’t been solved by themselves.

One of the other issues I asked about was to do with locking. Previously I had used a system of functional locking (basically, using a table to flag things that were locked, eg “INVOICE”, “12345”) rather than use Jet locking or SQL Server locking. I understand “First Save Wins” and “Last Save Wins” strategy but my previous preference was to make sure that two people could not edit the same data at the same time. When I brought this up I got the usual reply of “what happens if someone pulls a record up on their screen and then goes to lunch”. I had hit this issue before and used devices such as a utility to free locks under user control and a scheduled process to remove “old” locks to name but a few, which I duly explained. The boss seemed happy enough and told me to discuss it with the established programmer which I did. The response I got was basically that it was not that important, which I found decidedly odd.

After a couple of days, I mentioned a typical problem that occurs with VAT calculations (probably very similar to SALES TAX calculations in the US). In that it is very easy to end up with VAT figures to be out by a small amount, depending on how you total this data. In previous systems I have usually been out by a few pence but can describe exactly why this occurs and have used methods like ‘Accountants rounding’ to minimize this. The response I got completely floored me. I was told by the established programmer that he placed a ‘disclaimer’ for the user’s to manually confirm the VAT figures since they may be inaccurate and that this disclaimer “took some pressure of him”.

I am currently working on a module that was assigned to the guy who previously did my job but left before I was employed. While looking through some of his code I pulled up a form that had two fields on it, a code number and a description field. There are 800 lines of code behind this form. That is 800 lines of code as reported by MZ Tools btw. Personally I would not have budgeted for any more that 50 to 100 lines for such a simple form. The first form I was working on had 23 ADODC controls on it and accessed 4 tables, when I expanded the form and spotted them I nearly laughed out loud. I asked the established programmer about these things and was told “you don’t need to see that on your first day”. The weird thing is, that I’ve seen the stuff that the established programmer is working on and he has one form per module in his project, nothing more.

I expected to turn up, be told that this is the grid we use, this is the library we use (bought in or developed in house) this is the way our forms behave and these are the general principles we follow. Instead I had a very informal chat for around an hour just really about “what ifs” and things that would be nice, was sat down in front of a PC and handed 5 or 6 sheets of Access mdb documentation for the tables my module would work on. Inside a day I had discovered 4 or 5 inconsistencies with the tables (storing a value as an INT in one table and the same value was a LONG INT in another table etc). When I remarked about this to the established programmer I was told to always consider a certain value as a LONG (which to me means, “It’ll be sorted later”), not a mention of telling the boss (who is the database designer).

So, basically I’m in the situation of having no library, apart from True DBGrid and have been basically told to do my own thing. The previous guy seemed to write 400 lines of code per field edited on screen and use a data control whenever the whim took him. I can do this but it would be against everything I’ve ever learnt and will be a nightmare to maintain or alter. I fear the day I will be asked to do anything with the established programmers code.

I’ve actually thought that some day soon, the boss will tell me that I’ve passed the test and will show me the proper code they are developing or that someone’s going to pop out of a cupboard and say “Smile, you’re on Candid Camera”.

Any of you guys ever been in a situation like this?

Rgds

Adagio2004
adagio2004 is offline   Reply With Quote
Old Dec 26th, 2004, 04:06 PM   #2
RobDog888
Super Moderator
 
RobDog888's Avatar
 
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)
Re: Advice on my new job?

Welcome to the Forums.

I can't believe I read the whole thing! All I can say is that I have similar experiences with "Experienced" programmers that were making 15 to 25 dollars an hour more then me and I couldn't believe that they actually called themselves programmers. Arrrg! They were using GoTos all over the place and had very very limited knowledge of what an API was!

ADODC controls are for begining programmers, let along use 23 of them!!! OMG!!! I have never used a single one. I always program my ADO binding manually. I also cant believe that the experienced programmer could not figure out how to program correctly the VAT and had to put a disclaimer stating to double check his work. How embarassing. I would never want to purchase something from your company if they cant calculate sales tax, no offense.

My suggestion is to either look for a new job or after your familiar with their code and operations that you have a meeting with the boss. That experienced programmer needs to be FIRED ASAP! But watch yourself to make sure he doesnt turn on you and you loose your job. I bet the experience programmer taught the other programmer that you replaced and when the guy questioned the experienced one he got fired? Maybe try to find out why?

I wish you the best of luck with this and NO your not correct in thinking that they are going to pop out and say suprize and show you the real code. They probably dont know what REAL code looks like!

Stay here at the Forums and you will be able to save your sanity and post questions allot. We will all be very glad to help where we can.

Good luck and Merry X-Mas.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.

Microsoft MVP 2006, 2007, 2008, 2009, 2010
Office Development FAQ (VBA, VB 6, VB.NET, C#)
Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
Star Wars Gangsta Rap Reps & Rating PostsVS.NET on Vista (New)Multiple .NET Framework Versions (New)Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007
RobDog888 is offline   Reply With Quote
Old Dec 26th, 2004, 04:27 PM   #3
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Re: Advice on my new job?

Hey,

Thanks for the reply, it’s nice to confirm my own suspicions. During my previous job I was a sole developer and was thinking to myself that, possibly, this current job is the way things are done, no matter how strange it seems.

I know that the previous programmer went out for lunch one day and never came back and that his predecessor left under similar circumstances.

The established programmer seems a likeable enough person and as such I don’t want to do anything that would mess him about. But, saying that, I’ve tried talking to him about things without starting a shouting match and it always ends up with him telling that it’s the way he does such and such. At that stage I’m left with the option of telling him he’s full of it or just nodding and accepting it. And at the moment I’m more prone to nodding.

I think I’m going to have a quiet word with the boss about some of their practices and try to be diplomatic. Something along the lines of “this practice will lose you money in the long run” etc.

Again, thanks for your reply. It’s nice to get some feedback from someone who’s been “out there” in the industry.


Rgds

Adagio2004
adagio2004 is offline   Reply With Quote
Old Dec 26th, 2004, 04:46 PM   #4
szlamany
MS SQL Powerposter
 
szlamany's Avatar
 
Join Date: Mar 04
Location: CT
Posts: 12,378
szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)
Re: Advice on my new job?

Good read - sad story.

I've come from almost 3 decades of developing commercial applications (my own software house since 1986) - mainframe/BASIC and COBOL - and now finally, for the past 3 years, VB with MS SQL SERVER 2000.

We spent almost half of the first year thinking about what we would do - conventions, concepts, techniques. Prototypes that were terrible. Concepts that worked great.

This is standard R&D - without doing this, the software will fail.

I would personally bring up some of this with the boss - talk about conventions and consistency. I cannot imagine that the boss, who is the database developer, would not appreciate this.

Discuss what has worked at places you have been at before. Be constructive - offer policy changes that you will create to make things better.
szlamany is offline   Reply With Quote
Old Dec 26th, 2004, 05:02 PM   #5
RobDog888
Super Moderator
 
RobDog888's Avatar
 
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)RobDog888 has a brilliant future (2000+)
Re: Advice on my new job?

szlamany's got a good point - be constructive. I was still reeling from the read. It does sound like the other two programmers left because they could not make any headway with answers like 'this is the way I do it and thats all there is to it'. Probably start out trying to get small changes since the resident programmer seems to avoid change. Then work your way up to the meeting with the boss.

HTH
__________________
VB/Office Guru™ (AKA: Gangsta Yoda®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum.

Microsoft MVP 2006, 2007, 2008, 2009, 2010
Office Development FAQ (VBA, VB 6, VB.NET, C#)
Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it!
Star Wars Gangsta Rap Reps & Rating PostsVS.NET on Vista (New)Multiple .NET Framework Versions (New)Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007
RobDog888 is offline   Reply With Quote
Old Dec 26th, 2004, 05:25 PM   #6
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Re: Advice on my new job?

My own gut instinct is that, at least, the previous programmer may have got the same ‘vibe’ that I am currently getting and aimlessly toddled along and wrote the spaghetti code that seems to be the norm here rather than rock the boat.

I find myself thinking of the future though. I do not want to end up in a situation where a customer who uses our software ends up with VAT inspectors crawling all over them because of a noticed discrepancy in a calculation somewhere. I also would not like to end up in a situation were the established programmer leaves and I am left to sort out the tangle of code that I believe I will be faced with. In both situations I would end up with the finger of blame pointed at me (jointly in the first instance).

One more point btw. The established programmer claims to have been programming since he was about 10 (about 20 years ago). I have been programming professionally since I was 16 (about 20 years ago too). I started off with games software and as such had put that on my CV for this job. The established programmer knew this and seems to be interested in games programming, at least as a hobby. One day he “picked my brains” about techniques for this and that and I mentioned linked lists. His response, and I quote, was “That means absolutely nothing to me” and so I explained the concept.

Now, apart from the games programming jobs I’ve had, I’ve had absolutely no face to face contact with any other professional programmer apart from this guy. But I had assumed that knowing about things such as linked lists, stacks, binary split searches etc was fundamental in being a programmer. I’ve always believed that programming is not about the language you use but rather about the concepts and techniques you bring to the table. I understand that different environments may need new techniques but, at heart, all techniques are built from variations on about 10 to 20 fundamentals. As szlamany said, they spent a half year thinking. To me, a programmer sat with his arms folded can be much better than a programmer who is pressing 120 keys a minute all day. It’s probably better using the old phrase, “work smarter, not harder”.

But, I was taught linked lists in school during A level computer science. Since then I’ve picked up most of the fundamentals of programming myself from reading books and the net. I am thinking it’s not quite right that a programmer has never heard of linked lists even with any sort of ‘terminology barrier’ since they are such a common thing?

I could go on for pages, sorry for the length of these posts, but from my perspective, the nine days I have spent with this firm have been extremely surreal.


Rgds

Adagio2004
adagio2004 is offline   Reply With Quote
Old Dec 26th, 2004, 05:36 PM   #7
szlamany
MS SQL Powerposter
 
szlamany's Avatar
 
Join Date: Mar 04
Location: CT
Posts: 12,378
szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)
Re: Advice on my new job?

I agree - a couple of dozen concepts, used over and over again, make a good programmer. Binary searching, linked lists - coding in ASSEMBLER so that nothing appears to be magic anymore.

I still feel the boss will find you a valuable addition to the team - and maybe someday you and he will be making big $$'s with a good product.

Good luck.
szlamany is offline   Reply With Quote
Old Dec 26th, 2004, 05:48 PM   #8
dglienna
Banned
 
dglienna's Avatar
 
Join Date: Jun 04
Location: Center of it all
Posts: 17,901
dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)
Re: Advice on my new job?

I didn't learn about linked lists until I took some C++ courses. They just weren't taught 20 years ago. I have since implemented them in VB, as they are helpful. I suppose in twenty years, programmers will have a hard time figuring out what we are doing. Things change in computers.

I wouldn't try too hard to start coding their way. Once you get something done that works, maybe they'll look at it and like it. You have to take that chance. If it works out, then great. If it doesn't, you can be glad that you don't own that company.
dglienna is offline   Reply With Quote
Old Dec 26th, 2004, 06:21 PM   #9
szlamany
MS SQL Powerposter
 
szlamany's Avatar
 
Join Date: Mar 04
Location: CT
Posts: 12,378
szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)
Re: Advice on my new job?

Quote:
Originally Posted by dglienna
I didn't learn about linked lists until I took some C++ courses. They just weren't taught 20 years ago. I have since implemented them in VB, as they are helpful. I suppose in twenty years, programmers will have a hard time figuring out what we are doing. Things change in computers.

I wouldn't try too hard to start coding their way. Once you get something done that works, maybe they'll look at it and like it. You have to take that chance. If it works out, then great. If it doesn't, you can be glad that you don't own that company.
You had poor instructors then. Lists (ordered, linked, double linked and so on) are all basic. Back in 1980 we used the Knuth's series of books on algorithms - this stuff is from 1950 - nothing has changed at all - nothing ever will. The SQL I'm finally using in production right now is from SYBASE - from decades ago.

We had to develop our own RDBMS system on the mainframe - our own "data field equation" processors. Imagine building your own INDEX files and every time a data record is written to a table - imagine having to handle bucket splits when the new keys don't fit. Imagine doing that in 1985.

The only difference I see now is that when I started there was no college majors for Computer Science - now that there is, we end up with people I wish I never hired.

I've seen people on this forum ask about the fastest sort - and then debate it - like sorting is new.
szlamany is offline   Reply With Quote
Old Dec 26th, 2004, 06:28 PM   #10
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Re: Advice on my new job?

That’s good to know, I have been worried that I’m thinking badly of the established programmer because of a possible terminology barrier, ie using different phrase to describe the same thing. I know I experienced some of that when I started talking about things like “week end procedures”, “credit control reports” etc. I just surmised that things like linked lists were universally called that. I do know that I had to explain the concept and he did not seem to know it previously. But, I will think about that for a while now that I know that that isn’t actually the case. Thanks.

Again, it’s my relative isolation in terms of contact with other professional programmers that puts me at a disadvantage here. If I had walked into this job and been confronted with dll’s that we had to use and told things like “putting SQL in form modules is frowned upon” then I would have no problems. It’s my lack of a “yardstick” that has worried me for these past nine days. I know what worked for me in the past but have no experience of the situation in the industry in general.

It’s good to get this feedback since I was worried that maybe I was missing something and would put my foot firmly in my mouth when I talked to the boss. At least now, I know that I’m not thinking stupid thoughts and that what I’m thinking is not too far of the mark.

I’m a bit wary of this situation and definitely do not want to get the established programmer fired out of hand, I like the guy. So, when I talk to my boss I’ll try to be diplomatic and rather than point out flaws I’ll try to point out possible improvements. I think it would be a bad idea to go in and say that they’re doing everything wrong. As such I reckon it will take a while, as Robdogg said.

Oh, and btw, that first form I was working on was about 10 textfields and 2 grids doing double duty as listboxes with an “add all, remove all” thing. It originally had about 2000 lines of code behind it. So far its down to around 500 lines of code and I’ve got a couple of classes to handle data access that I know I can reuse in other places. With a couple of new classes I’ve developed over Christmas I’m sure I can get that down to around 200-300 lines of code and since the new classes are general purpose and involve building dynamic SQL I reckon I can solve (at least partially) some of the locking problems. Eg now I’m only filing out what the user has edited rather than the whole record. I still prefer making sure two users don’t edit the same data but I can fit in with the way this company works.

Oh, and the ADODC control count is down from 23 to zero


Rgds

Adagio2004
adagio2004 is offline   Reply With Quote
Old Dec 26th, 2004, 06:49 PM   #11
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Re: Advice on my new job?

Hehe szlamany,

I know where you’re coming from. But the thing here is that Dglienna hadn’t heard of the concept of linked lists until relatively recently, thus it is possible that the established programmer in my place had genuinely not heard of them in X years of being a programmer. Whereas I was thinking, “hmm, the guy don’t know about linked lists, exactly how long has he been programming?”

I’ve been there programming on the metal, as it were. I remember writing code that relied on in depth knowledge of how a TV picture is rasterised and the timing of the electron gun to tease 16 colours per character cell out of a machine that could only display 2 colours per character cell normally. I’ve not gone so far in the business field but have used C-Isam and written what I called a “screen driver” for unix/dos which was not a kick in the ass from what Access and VB give us nowadays.

They call programming, software engineering. And as such I treat myself as an engineer. I want to produce good code. Good in the respect that it does what is expected of it. Good in the respect that it works solidly. Good in that it is based on sound principles. Good in that it is relatively easy to maintain. And good in the respect that it doesn’t make anyone’s life harder, be they developer or user.

I can understand what Dglienna says. If you read some VB books on the market they don’t mention linked lists. For most tasks they are largely irrelevant. The same thing happens with sorts, why bother coding a quicksort from scratch when you can stick your data in a disconnected recordset and have it sort it for you.

Yes, I believe it’s good to have the knowledge of what’s going on behind the curtain. But it isn’t always necessary.

I’m just looking for advice here, and don’t want to turn this into an argument over what should be known and what doesn’t need to be know mate.

Rgds

Adagio2004
adagio2004 is offline   Reply With Quote
Old Dec 28th, 2004, 09:59 PM   #12
dglienna
Banned
 
dglienna's Avatar
 
Join Date: Jun 04
Location: Center of it all
Posts: 17,901
dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)
Re: Advice on my new job?

But I did learn about ISAM files, and I wonder how many here understand them? Back in the days of tape drives, being able to jump between records was a hardware problem, anyways. In high school, they still had a teletype machine doing 30cps. We had terminals dialed into an HP system. The computer science teacher knew relatively little about computers, so only a few of us really picked up on the jargon.

Those were the days. I would have killed for a computer when I was a teen. Now, my sisters kids have had them all of their lives. My 4 year old niece was better at using the mouse than my dad was. She would move the mouse 5 seconds BEFORE the sceen saver would kick in. I don't know how she did it, but she did.
dglienna is offline   Reply With Quote
Old Jan 7th, 2005, 05:17 PM   #13
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Re: Advice on my new job?

Just thought I’d give you guy’s an update.

Had a talk with the boss between Christmas and New Year’s. Pointed out some salient points, the 800 lines of code thing, lack of locking and how that is a major point that differentiates single user and multi user systems, lack of libraries etc.

He seemed receptive enough. I didn’t mention the VAT problem directly but mentioned how poor programming techniques could cause incorrect information to be filed and could lead to potential repercussions from clients.

Like any boss, he’s interested in getting the software out the door yesterday. That I can understand.

Had a few chats with the established programmer since then. I had a few double takes, not worth going into, but on the whole he said he agreed with me on most subjects. I was trying to lay the foundations for building a common library and the process we would use for putting stuff into that library so as not to end up with procedures that did basically the same thing etc. I was also putting forward ideas to get code of the forms in terms of creating classes for business logic and the possibility of using wrappers for data access.

As I’ve said, it went well but near the end he said something that struck me as being really silly. “I know where you’re coming from but really we haven’t had the time or the resources to accomplish this to date”.

I found out that he’s been working there for six years, and they have very few windows based systems (if any complete ones) actually out in the field. I say, if complete, due to the fact that I’m currently working on a part of a system that they have only showed me its character based COBOL equivalent of. The six years was from him and the number of systems was one of the first questions I asked the boss.

Now, I worked at my previous job for twelve years, and at a rough count I have written around 25 systems from the ground up, spanning Unix, DOS, Windows, Access, Delphi and Visual Basic. Fair enough, some of these systems re-used large portions of existing systems, after all a customer account is a customer account is a customer account etc. But for 6 years, not to have at least one complete system (I’m talking, ordering, invoicing, stock control, purchase ledgers, nominal ledgers, and account handling etc here) seems decidedly bad to me.

Oh, one thing that really winds me up, and I’d like you guys opinion on it…

They have this bee in their bonnet about alphanumeric codes to reference things, possibly a bit of backstory is needed here.

I have, in the past usually used numeric codes to reference everything. IE, if a user wishes to call up Bananas to add them to an order or to edit the details for that product, they would type 1234 in a code field. In the older systems in place before I started my last job, the user would have had to have a paper list to find which code to use. In current systems I had adopted the technique of using what I call a ‘picker’. EG, the user is on a customer code field and doesn’t know the code they need, they press F3 and an address book style window pops up, they click on one of 27 buttons (A..Z and everything else) and they get a list of the customers beginning with that letter (we’d also employ a sortcode system where SMI would be the sortcode for JOHN SMITH, and the buttons filtered on sortcode). Each picker was custom coded so that a user could find stuff easily, product selection was based on groups and sub groups, then a list of the relevant products to choose from, open invoices were displayed in date order showing relevant details etc. Basically, although we had numeric codes everywhere, the user just needed to press F3 and they could use the system without knowing a single code for anything.

Now, first day at this new job and the thing that strikes me is that everything is alphanumeric codes. A customer called JOHN SMITH is referenced by SMI. If there is also a BRIAN SMITH, he could have SMI as his ref too. If a user types SMI then BRIAN SMITH would appear as the selection, if JOHN SMITH was the desired choice, then the user would have to use a back or forward button to go through the list until they hit the right one. I’m only talking about the field you key to call up a customer record so that you can amend that customers details here. If you are amending a product record and need to key a group that this product is in and it turns out you have multiple groups that the user has set as FOOD then they have no choice but to use a generic search popup (called up by F3, I loved that bit). This search involves them selecting a field to search on and then typing the search string.

It’s hard to sum up, but if you’ve used Access form wizards, they’ve basically duplicated the functionality that you end up with from that, but in VB. Only it takes them 800 base lines of code to do it. I’ve mentioned this but got a couple of incredulous stares from the boss and the programmer.

Any of you guys got any opinions on the reference thing, I’d be interested to hear them.

Rgds

Adagio2004
adagio2004 is offline   Reply With Quote
Old Jan 7th, 2005, 07:07 PM   #14
szlamany
MS SQL Powerposter
 
szlamany's Avatar
 
Join Date: Mar 04
Location: CT
Posts: 12,378
szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)
Re: Advice on my new job?

6-years is a lot of time. During our first year we did small-VB apps for simple tasks and prototypes that we threw out.

We found one of the biggest tasks the effort required in VB to customize a form. You could go the "code-forever-and-800-line" method - then adding one more text box to the form takes two days to accomplish. Or, as we decided - we developed a "general maintenance" program - reads the "screen" object size/position/name from the database - so adding a new textbox to a screen is a DB change - not an app change. The name of the object self-binds to the STORED PROCEDURE recordset.

The whole reason I'm even telling you this, is that I appreciate the effort required to code in the VB world compared to the "non-object-based" and "non-event-based" world of the mainframe. This general maintenance VB client allows us to create a brand new application with basically no BASIC CODING. To us this is the ultimate in "reusability".

With all that said, our customers did not appreciate the R&D work the first two years - saw nothing from it - but we knew we were defining business rules and application concepts/conventions that would allow us to be successful for a long, long time.

Now, as far as numeric vs alpha reference codes. Having two-letter codes that the user puts in makes sense to me - for a table that has 10 items. Having an alpha-code for a customer name makes no sense to me at all.

In all our "reference code lookup textboxes" the user enters either the "reference code" (numeric or alpha - no fixed rule) OR the "description text". Pressing ENTER will either fill the field, or bring back a drop-down box with choices. So if a smart user knows to put code "1", they put code "1" and move along. If a novice user puts "SMI" then the drop down appears with all the "SMITH,xxx" names and they choose one and then move along.

We are all about "minimizing" keystrokes in our apps - since they are mostly clerk like - loading hundreds of health claims a day type stuff.

Personally, I believe that auto-number and other ACCESS-like concepts are for small-type systems. We like to have "obvious" keys on our tables where possible. For instance, I've seen a student-class system where the courses were represented with integer-keys. People know that 0011 is ENGLISH 11 and 4011 is MATH 11 and so on. So we store the course as a 4-character field. The system we replaced stored the course as an integer auto-number field. The key on our STUDENT/CLASS table is multi-fields - YEAR+BUILDING+COURSE+SECTION+TIMEVECTOR+STUDENTID. The other system had it as STUDENTID+CLASSID. Our concept allows for clustered tables that group data in the table in what we consider the the best method. Plus a user browsing through data with EXCEL, for instance, can actually make sense of it.
szlamany is offline   Reply With Quote
Old Jan 7th, 2005, 08:25 PM   #15
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Re: Advice on my new job?

I hear where you’re coming from szlamany.

What I was talking about was the following form…



Product code : ______

Description : ___________________________________


Group: _____ ________________________________


Note that the underlines to the right of group denote a display only field. This is the group code description.

You key in a group code, and the group code description is filled in so that you can visually confirm you have keyed the correct group code.

They way I always looked at this was that the user either knows the group code, or they don’t.

If they don’t, then they press F3 and get a list of groups, they (maybe scroll and) click on the one they want then click on OK (or press ENTER). The group code is then sent (via sendkeys) and it’s like the PC has keyed the code for them.

If they do know the code, they key it.

The codes I’m talking about are unique. I always used numeric codes, but if the system for picking codes is good, then the user doesn’t need to know any codes.

What I found really bad was the fact that with the alphanumeric coding system, the user could set up many codes as the same thing. The user chose the codes. There was nothing to stop them making every group code ABC. And that’s the way this company works.

Then, when they have to enter the group code in the above form, they are forced into the search facility.

I understand the possible problems with having unique codes etc that can arise. But we always worked on that issue, we had routines for generating those codes, it weren’t really rocket science.

As another point about these codes, they have a standard whereby, as you type a code, the system tries to do a complete match based on what you typed so far. EG, if you have ABC on file and you key A, the form pulls up the entire set of information for ABC. If the next key you press is J and you have AJK on file then the form is filled out with the info for AJK. I’ve pointed out how this is a no go for broadband access etc but I feel I’m playing a losing game.

Rgds

Adagio2004
adagio2004 is offline   Reply With Quote
Old Jan 7th, 2005, 08:32 PM   #16
szlamany
MS SQL Powerposter
 
szlamany's Avatar
 
Join Date: Mar 04
Location: CT
Posts: 12,378
szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)
Re: Advice on my new job?

From what you described - they cannot get out of that "dumb-terminal" full screen edit mode of mainframes of 20 years ago.

That's a shame.

We have one school district that has 1000+ teachers/admin/secretaries connected to SQL over a WAN during a typical school day. If we didn't research the effect of "size" of data transmission we would be burned right now.

I really wish you the best - it seems this company must have some reason to be developing - big customer base? - and maybe with some better direction they will have a product that performs and succeeds.

Ps. That type a letter - bring up all the records - type the next letter - fine tune the list - that is not the way it works in SQL and VB. Client server takes you far away from the data and the user must realize that a [VIEW] button to fill a drop down list is the way it works. No more free lunch - it costs too much.
szlamany is offline   Reply With Quote
Old Jan 7th, 2005, 10:29 PM   #17
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Re: Advice on my new job?

I’m still not sure about the size of the customer base. All I know is that the boss has said they have a lot of Cobol based systems out there (read character based) and are under pressure to deliver Windows versions.

I’ve been here about 3 weeks or so, and I’m driving a cart and horses through almost every aspect of what’s going on here. But, I’m going to stick it out and see what happens, I like a challenge

The established programmer didn’t know what a class was until today, and now he’s actually working on one! So I might be having a good influence

We’re having a big meeting first thing Monday, and I’ll pop in here and give you an update. If nothing else it’ll give someone else in my position a frame of reference.

Rgds

Adagio2004
adagio2004 is offline   Reply With Quote
Old Jan 28th, 2005, 08:29 PM   #18
adagio2004
New Member
 
Join Date: Dec 04
Posts: 11
adagio2004 is an unknown quantity at this point (<10)
Re: Advice on my new job?

Well, I missed the update, sorry about that.

That was a couple of weeks back. But now we’re working on an even keel for a change.

I had pointed out a few inconsistencies in the database previously, and now the boss decided to test these out. I’m talking here about a table with around 5 million records.

Well the tests came out exactly as planned. Boss was well chuffed. I heard him say to the existing programmer, just as I was heading out for a smoke, “It’s nice to see a bit of speed there”

Then, at the end of the afternoon today, the existing programmer was basically asking me for advice on how he should proceed in rewriting everything he’s done to date.

F**k a result

It’s times like these that make the hard slog all worthwhile

Rgds

Slaihne
adagio2004 is offline   Reply With Quote
Old Jan 29th, 2005, 09:35 AM   #19
mendhak
ASP.NET Moderator
 
mendhak's Avatar
 
Join Date: Feb 02
Location: Ulaan Baator GooGoo: Frog
Posts: 38,161
mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)mendhak has a brilliant future (2000+)
Re: Advice on my new job?

Smile, you're on Candid Camera!!!
mendhak is offline   Reply With Quote
Old Jan 30th, 2005, 12:47 AM   #20
dglienna
Banned
 
dglienna's Avatar
 
Join Date: Jun 04
Location: Center of it all
Posts: 17,901
dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)
Re: Advice on my new job?

No fooling. If you Google your username, this thread comes up #4. Hope nobody at the job knows your username!
dglienna is offline   Reply With Quote
Old Jan 30th, 2005, 01:55 AM   #21
ice_531
Frenzied Member
 
ice_531's Avatar
 
Join Date: Aug 02
Location: Sitting w/ Bob Status: -Next -To- Null- Friend: Philip
Posts: 1,087
ice_531 is on a distinguished road (10+)
Re: Advice on my new job?

Quote:
Originally Posted by dglienna
No fooling. If you Google your username, this thread comes up #4. Hope nobody at the job knows your username!

lolol What were you doing to have found that out?
__________________
:::`DISCLAIMER`:::
Do NOT take anything i have posted to be truthful in any way, shape or form.
Thank You!

--------------------------------
"Never heard about "hiking" poles. I usualy just grab a stick from the nature, and use that as a pole." - NoteMe
"Finaly I can look as gay as I want..." - NoteMe
Languages: VB6, BASIC, Java, C#. C++
ice_531 is offline   Reply With Quote
Old Jan 30th, 2005, 10:20 AM   #22
szlamany
MS SQL Powerposter
 
szlamany's Avatar
 
Join Date: Mar 04
Location: CT
Posts: 12,378
szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)szlamany has much to be proud of (1500+)
Re: Advice on my new job?

Glad to hear things are looking up.

PS. I've also noticed in the past that GOOGLING for my username finds lots and lots of hits - mostly on VB forum - but the older ones come up against dead pages - ones that simply don't add up to what the "search" said they would.
szlamany is offline   Reply With Quote
Old Jan 30th, 2005, 01:49 PM   #23
dglienna
Banned
 
dglienna's Avatar
 
Join Date: Jun 04
Location: Center of it all
Posts: 17,901
dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)dglienna is a glorious beacon of light (400+)
Re: Advice on my new job?

I wondered about the Candid Camerat comment, and tried it.
dglienna is offline   Reply With Quote
Reply

Go Back   VBForums > General > General Developer Forum


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 05:23 AM.





Acceptable Use Policy

Internet.com
The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.