Thursday, August 16, 2007

Seven habits of highly defective co-workers (3) – Mr KIA strikes again

I had several projects with Company Y and inevitably sometimes I needed to work closely with Mr “Know-It-All”, much against my wish. His boastful character had been quite notorious within the industry, yet he still managed to work his way up the corporate ladder.

Apparently in late 2006, my company was again engaged by company Y for this particular ad-hoc project which required us to do some enhancement on one of their existing software. This particular software was developed by one of their in-house engineer a couple of years ago. The engineer had left the company and there wasn’t any design documents around. The only thing available was the source codes (with minimum documentation) and the executables.

As usual, Mr KIA claimed that the task was very simple and he could have done it himself easily, if he wasn’t so busy. He tried to describe the software features to me, and told me that a large portion of the software was making use of a particular “D” library. I got the source codes, executables and some verbal requirements from Mr KIA, and proceeded back to do the enhancements. However, when I went back and browsed through the source codes, I realized that it wasn’t the correct version which I was required to do enhancement. The source codes that Mr KIA had given to me was in fact one of the earliest version which was very different from the latest one. Then I tried to run the executables and received an error saying unable to find a certain “O” library. I proceeded to download the “O” library from the internet and eventually managed to run the executable successfully. Apparently, the executable was the correct version while the source code was one of the earliest version. Thus, I was quite certain that the correct version of the software was making use of the “O” library and not the “D” library to perform the tasks.

So, I called up Mr KIA and informed him that he had passed the wrong source codes to me. Initially he refused to believe me but I managed to convince him when I told him I could show him the exact source codes that he had passed to me and verified with him on the spot. Then he told me maybe it was because there were too many different versions lying around and the previous engineer had a very messy way of organizing things. In order to help him identify the correct version, I told Mr KIA that the correct version was using the “O” library, not the “D” library that he claimed.

Then when I went over to Mr KIA’s office to collect the correct source code, Mr KIA said something which was out of my expectation. He said that the software was using the “D” library, not the “O” library which I claimed, and that I had given him wrong information to mislead him and wasted his time. Well, I was actually quite sure that the software was using the “O” library, but since I had not seen the actual source codes of the latest version, I couldn’t refute his claim that the software was using “D” library. Since the “O” library and “D” library are performing very similar tasks, normally developers would use either one but not both in the same software. However, I reckoned the previous in-house engineer may had rather weird preferences in developing software (due to the constant bad-mouthing from Mr KIA), so there might still be the possibilities that both libraries were being used. I did not wish to get into any arguments with Mr KIA and so I just kept quiet.

However, when I reached home and looked at the latest source code, I found out that the software was indeed using the “O” library only. There wasn’t a single trace of code that indicates it was using the “D” library, as claimed so by Mr KIA. Apparently, either Mr KIA could not understand the source codes and made a stupid and erroneous claim, or he just couldn’t accept being proven wrong and blatantly lied to me. Either way, I told myself, in future I am not gonna believe anything said by Mr KIA, and hopefully do not have to work with him anymore.

Labels: , ,