I write software. :-)
More specifically, I write mainframe software on Unisys mainframes (no, not big Windows or UNIX boxes, but 2200-series boxes (or Clearpath IX boxes) running an OS called OS2200 that is derived from the UNIVAC 1108's EXEC 8 which has been around in the airline industry since the mid-1960's).
I write application code in a mix of Fortran, COBOL, and assembler (and a variety of other languages) which runs in what is commonly known as an "online transaction" environment. Think quick-and-dirty programs which go out to fetch data and then quickly display a text screen of information, or which accept a screenful of information and then do a number of things in response (including database updates, messages to other systems, or the displaying of other screens). It's sort of like a localized web server on steriods.
The software I'm working with (writing and supporting) does the processing of various bits and pieces of visa/passport information and tosses messages back and forth between various government systems and the airlines. Most of the users are actually doing things related to New Zealand and Australia, but more and more countries are being to the list all the time.
I obtained my BSCS from Mankato State in 1987, and spent about a year or so searching for an interesting programming job (and working at a local siding company in Hopkins, MN, called Edco doing assembly line work).
I finally found one in August of 1988.
From the middle of 1988 until the middle of 1990 I worked as an applications developer for Unisys Corporation, and I spent almost exactly two years as a Unisys contractor working on-site at Northwest Airlines in their Flight Operations area and helping them bring their copy of the large 2-million-line UNIMATIC (aka WorldFlight) system from United Airlines up and into production. The building we were in was NWA Building C, a small office building at the airport which is right by the hangars at the intersection of 494 and Hwy 5, and it was my initial introduction to the airline industry.
From the point where the WorldFlight contract expired until the beginning of 1993, I continue to work for Unisys at the Unisys ADSC (Airline Development/Support Center) in the MACS Building in Eagan, MN, mainly as a support and development programmer on the Unisys USAS*CGO and USAS*ACR software products for airline cargo carriers (fixing CGO problems and rewriting some transactions in ACR).
In January 1993 I failed to dodge the layoff axe that seemed to be swinging periodically at Unisys, and I and 20 other programmers from the ADSC Cargo group were laid off. It was an interesting experience, to say the least, and I spent some time unemployed because Unisys mainframe skills were not in very high demand. I used this time to educate myself in a number of things including Linux/Unix system administration and C programming, something I had no exposure to at all in college (we mainly used Fortran and Pascal).
In the fall of 1993 I heard about an opening in the WorldFlight group at NWA, the very same group that I had enjoyed so much being part of as a contractor, so I contacted NWA, interviewed, and was given the job.
I was there as a real (and very happy) employee for a little over eight years -- until 15 January 2002, when my position at Northwest Airlines was eliminated due to the economic crunch brought about by September 11th.
Thanks, Mr. bin Laden.
It's very hard to lose a job one cares about, and now I've had it happen to me twice. Thankfully, I've come through each time and found something new that I've enjoyed doing, but it still sucks to be told that your job is gone with no previous warning at all. Oh well. I'm getting over it. :-)
About a year into my second somewhat longer unemployment stint (32 months), I did a little bit of contract work -- actually, it was an interesting (and much needed) eight month contract doing COBOL work on a Unisys A-series mainframe down in Owatonna, MN for Viracon, Inc., a company specializing in multi-layered glass/window products for airports, casinos, skyscrapers, and the like. They made the explosion-proof glass that is used in the Pentagon, for example. That introduced me to another mainframe environment, and it gave me a chance to see how things were done in a fairly small (25-person) IT shop, which was interesting.
After that contract ended, I ran into another drought, and it wasn't until roughly sixteen months later that I started my position here at SITA in the fall of 2004. At last I'm employed again, but I had to move to Atlanta in order to get the job.
When I worked at Northwest Airlines, I was a salaried full-time employee who was part of NWA's IS (Information Services) department, I worked in the Flight Operations area of IS, and I was one member of a team of a ten or so programmers at NWA who designed, wrote, and supported the 2000+ programs and 1500+ subroutines that made up the heart of the "WorldFlight" application environment that was used and depended on by MEM CLC, gate/ramp agents, flight crews, many other NWA systems, and the folks working in the SOC.
The technology was mainly Fortran and assembler code on Unisys 2200-series mainframe hardware running in a nonstandard variant of the text-based "TIP" transaction environment. I also dabbled in a few other languages and technologies including SymStream (SSG), C, and CALL, and I maintained the WorldFlight web site for our programming team on the NWA intranet. In my position at NWA I did both transaction-level and subsystem-level application design, some non-relational database design work, a lot of software development, and a certain amount of application troubleshooting and support (including 24x7 coverage duty for a week every three months).
The code I worked on was mainly located in WorldFlight application areas related to the following:
In addition to those formal duties, I wrote and maintained various programmer utilities, maintain some of our existing programmer tools such as FINDREF (a fullscreen front-end for IACULL) and CSHELL (a DEMAND shell), and I maintained and enhanced the local copy of one of the more popular OS2200 programmer's editors (UEDIT).
I also maintained our web site on the intranet, and I spent some time doing a little bit of application development/support under Solaris (using Sybase and Tuxedo) before the idea for that project fell through.
At NWA I used a PowerMac 7200/120 with a 20" screen at work for most things, accessing the IBM and Unisys mainframe enviroments via UTS and 3270 terminal emulators, but I also had a PII/233 running Windows NT 4 Workstation sitting in my cube as well as a trusty Unisys SVT-1126 terminal.
The programming environment that I worked in was a Unisys 2200 mainframe DEMAND environment which is mainly text-mode. Not a typical environment at all, but interesting nevertheless.
For those who are interested, the main programming language I used at work is an old UNIVAC dialect of Fortran 66 called FIELDATA FORTRAN V (or @FOR), a language which used the six-bit Fieldata character set instead of ASCII for data storage, and which supports neither CHARACTER data types nor block IF structures. We had over two-million lines of that stuff in WorldFlight, some of it relatively structured and some not.
The application environment we used was a text-mode transaction environment called TIP which was lacking a real-time debugger, making some aspects of problem resolution a little more difficult (we couldn't step through the program, for example). To trace things, we basically put octal and/or FIELDATA/ASCII snaps in the code and "turn traces on" before running a transaction to get a snapshot of various variable and array values during program execution, and the end results got placed in an online text file for later viewing. I wrote a dump decoder to make the reading of things such as binary system dates and binary flight-date words a bit easier.
While the programming environment was relatively primitive in some ways, it was flexible and very sophisticated in others (we don't worry about memory management on the application side of life, for example), and I think the mix of things made the work much more interesting than it would otherwise have been.
Adding to the interest value, at least for me, was the fact that much of the code in WorldFlight had a lot of history behind it (it was originally developed almost 35 years ago at United Airlines), and I think it's neat that we had subroutines still in production that dated back to 1966!
The application currently runs under OS2200 on the Unisys 2200-series mainframe line (specifically a 2200/500), a 36-bit word-based machine which is directly descended from the Sperry UNIVAC 1100 series machines I used back when I was in college.