ISM
Information Systems Management (Alberta) Corporation


Service Development Analyst - January 1994 to October 1994

Summary

ISM is a large computer outsourcing company. Outsourcing at the time being the hot new trend in the industry, is essentially the contracting out of various services to a company that is better suited to handling the work. Information technology is particularly well suited to outsourcing as the IT employees tend to be expensive and you need a variety of qualifications to fill a large company's computer requirements. Outsourcing companies hire qualified staff and then have them available to one or more clients. Thus the employee is better utilized and the potential to have the right person for the right job is much more likely.

I was hired by ISMA to fill an opening in their Service Development Department. I worked on a number of interesting projects during my employment, but ultimately left when an excellent (and rare) opportunity to get into oil field embedded product development presented itself 10 months later. Work at ISMA was very good and the decision to leave was not easy, however, long term career objective were better met with the move, so I left to go to EVI Oiltools.

Employment Highlights

Technical Analysis - During my employment I worked with a major ISMA client and provided them with technical analysis on such topics as PC hardware, color printers, and PCMCIA standards. The analysis usually was presented in the form of a report, which was typically discussed at meeting afterwards. Sometimes members of the Service Development team would attend technical presentations with the client so they could get immediate third party opinions at the meeting.

Post Processor - The Postprocessor was a program that processed mainframe print streams to make them suitable for printing on PC printers. This program was written in C and was executed on mainframe just before the data stream was sent to a printer. When I encountered the program source code it was extremely obfuscated and there was no documentation and anyone familiar with the source code had left the company. To make matters worse there were many features that were only half implemented as well as a lot of uncommented dead code. The goal was to strip the program of as many unused features and dead code as possible. What was left was to be documented so that future maintenance would be easier. I worked on the post processor for a 3 months cleaning and reorganizing it, and was probably some of the most obfuscated code I've seen to date. Once completed the code was less than half of it's original size. To add to this improvement I turned on compiler optimization to maximum to generate the fastest executing code possible. Given that the mainframe support 6000 users and Post Processor was executed every time a mainframe print job was sent to a printer, this improvement likely saved some significant CPU time.

Print Processor - In this project documents were generated on a PC that then had to travel over a mainframe network before being sent to a PC printer. The problem was that mainframes in some instances stripped characters out of the print streams as those characters are considered invalid. Thus the print files generated at the source would be corrupt by the time they made it to the destination. After at a number of possible solutions I decided that I would use a technique similar to UUEncode. Since the printers would be connected to an mainframe network interface box, I used a feature in these boxes that would decode the encoded print stream before it got to the printer. The encoding program was made to encode exactly match to the decoding ability of the printer network interface box. While the size of the print stream was inflated by more than 100%, the solution was completely transparent and preserved all text and graphics of the original document.

Tier III Support - The Service Development group was also responsible for tier III support. My support functions were various, but definitely biased towards resolving network printer issues. While few people enjoy doing support because of the monotony, I enjoyed the challenge of tier III support since the problems were rarely obvious and generally required intense problem solving skills. There was also a certain amount of colleague recognition for your ability to resolve problem quickly and concisely.

Conclusion

Working at ISMA was a very positive experience. While some would argue that working for a large corporation is not desirable because you become lost in the large number of employees and that individuality is suppressed. ISMA proved that this does not have to be the case. I was exposed to technology and concepts, such as enterprise computing, that simply is not available outside a large multifaceted operation like ISMA. Big corporations will manage projects that will involve thousands of PC, implement enterprise wide roll outs of an operating system and large groupware applications such as Lotus Notes etc.; deal with complex network management issues such as backup, scalability, and monitoring etc. Equally important in working for a large corporation is learning to work with others. To sum it up, to be part of a team. The ISMA work environment definitely improved my teamwork thinking, and how to relate to my fellow employees.