Jan-Aug, 1997 — ISM-BC, Burnaby, B.C.

  • Junior Programmer: Developed mainframe database requests of relevant server availability data
  • Programmed complicated statistical analysis of the data using SAS
  • Created automatic report generation scripts of the results for delivery to clients

This was a co-op job that I obtained through the Computing Science co-op department at Simon Fraser University. The company, then ISM-BC, was bought by Telus Enterprise Solutions, but is now owned by IBM. I took this job to complement my minor in Computing Science. It was originally intended to be a single work semester, but at the request of my supervisor I decided to stay for a second semester.

My position of Junior Programmer involved the following:

  • speaking with clients do determine their needs on a given project
  • writing database queries in JCL to extract the relevant data from the mainframe's tapes
  • writing statistical analysis programs using SAS to get the raw data into a usable form
  • preparing graphs of the results for presentations using SAS or Microsoft Excel

In particular, I worked on three major projects during my 8-month co-op:

  1. Year 2000 Compliant Code

    The updating of all of my group's code for Year 2000 compliance. This involved first developing a search strategy for finding problems efficiently, as the thousands of lines of code would have taken too long to read and understand completely. Then, the strategy had to be implemented and the offending code repaired. Finally, the code had to be tested to insure that it still performed correctly, and that it would indeed work after the year 2000.

  2. Upgrade and Documentation

    The updating and documenting of a large automatic query/analysis/graph program that ran every day. This program automatically ran daily, weekly and monthly scripts to generate the graphs required by clients. The program was almost undocumented, and needed updating for some new functionality that was needed.

  3. New Client Integration

    Working on my own with a new client, I ran through several iterations of the tasks listed above. I had to determine the needs of this client, and then plan how to meet those needs as best I could. I wrote programs from scratch to do the query/analysis/graph steps, and then presented the graphs to the client and got feedback from them. From their feedback, I had to return to programming to modify the analysis and graphs to their updated specifications.