Career
I have decades of experience in the Information Technology sector as an analyst, developer, programmer, trainer, and troubleshooter. I have been part of many projects through the entire SDLC (Software Development Life Cycle). I have created databases, business applications, reports and graphs, written technical documentation, participated in code reviews, led training classes, and produced video presentations.
I brought with me best practices regarding business requirement gathering, technical specification design, coding style, source control, and project management.
My understanding of the needs of a business allowed me to work just as well with business personnel as with technical staff. I specialized in project work, but enjoyed the chance to roll up my sleeves to help troubleshoot production issues or pitch in wherever additional resources were needed.
I retired in June, 2023.
College Bound?
After graduating from Luck Public High School in 1979 it was assumed I would go on to college at a University of Wisconsin Extension college. I had no long-term career in mind. I figured I would end up doing something with technology, such as copier repair. Leaving home to live in a dorm 90 minutes away was a big shock. I took a learning track that was way too ambitious and my ability to easily learn high school subjects did not translate well to college courses.
In 1980 I transferred to U of W - River Falls thinking it was a better school. But I had poor guidance from the college, switched courses in the first week and never recovered. Most of that year I skipped entire classes. After the second of three semesters ended, I dropped out.
Finding Myself
I spent a few months back at my parent's house. I got an opportunity to work the summer of 1981 at a horse ranch in Los Olivos, CA owned by a distant relative. I thought this was a chance to 'find myself'. Although I could do the work, I struggled with dedication to the physical labor. I left to drive around the west coast to look for any job I could find. I didn't look hard. I had lost faith in myself and had no ambition. I ran out of money in southern Oregon and had to call my parents to wire me enough money to get back home. Needless to say, I went to California to 'find myself', but there were no revelations.
Tech School
In the fall of 1981, I figured attending a technical school was what I needed to do to quickly get into the workforce. I rented a room on the second floor in a house in a 'questionable' neighborhood in St. Paul, MN. (Questionable because gun shots would ring out during the night). I rode the bus to downtown St. Paul to attend the Control Data Institute. (Control Data was a computer company in Minnesota). The school gave me a fundamental knowledge of electronics and the computer programming language, assembly. Again, I figured my destiny was to repair copy machines.
I graduated the tech school in 1982, a time the United States was going through a recession. No business were hiring entry level people with no experience. To make a few dollars, I went to the job agency and waited for hours for dish-washing jobs and factory work to show up.
Help From the Landlady
The landlady of the house where I was renting a room lived in one of the rooms on the first floor. I did odd jobs for her and she took a liking to me. She knew I was looking for a job with computers. It just so happened she had a friend whose son owned a computer business (Logical Design Corporation) in a suburb of Detroit. In late 1982, she set up a phone interview with me and the son (Gary Alexander). I had to make the call from the landlady's phone because I did not have one in my room. I do not remember the details of the phone call. But based on recommendation and character reference from Gary's mother, Gary made me a deal: He would pay for the airfare to fly me from St. Paul to Detroit for an interview; I would pay for my way back. I would stay with Gary at his home for the day.
Lesson From IKEA
On the flight to Detroit, I taught myself the basics of COBOL from a tattered book that Gary had mailed to me. During the interview at Gary's office, we talked about my education and he grilled me on how to write a COBOL program. The interview seemed short to me. Gary said he had a meeting to go to. He had just ordered the parts for a new book case and said since I still had time in the office, would I mind putting it together for him. So I did! When he got back to his office, he was pleased with my work and said that he wasn't sure about hiring me based on our interview, but the fact that I took on a random task and demonstrated I could follow directions, he offered me a job at $9,000 annual salary!
Leaving the Nest
Fast forward to January, 1983. I am standing in the driveway of my parent's home during a cold, snowy Wisconsin winter. I have a small trailer and my 1975 Dodge Dart Sport packed with my possessions - ready to drive straight-through to Detroit. I am on my way to my first professional job to start my career in Information Technology. I had car trouble on the way and the first few weeks I was in Detroit. But I had the advantage of an Uncle who lived in a Detroit suburb where I stayed for two weeks until I found an apartment in a rundown town called South Lyon, about a 30 minute highway commute from my job. Eventually I moved closer to work to a modern apartment.
Just the Beginning
I left Logical Design Corporation after a few years; worked at a competitor software company (RMS) for a short time, then at a computer company called PDS. After five years in Detroit, I moved to the St. Louis, MO area in 1987 for a 3-month programming contract with McDonnell Douglas. I have had many jobs since then, but I still live in the St. Louis area. This is where I end the story of how I got my first professional job.
To figure out how I got to be where I currently am in my career, I need to review all the professional I.T. jobs I have ever had. Since I am taking a long trip down memory lane, I might as well include a few anecdotes along the way. Here is a list of jobs in chronological order, what the company did, what I did there, and how I felt about the people.
Logical Design Corporation (1983 - 1985)
Office in Farmington Hills, Michigan, a suburb of Detroit. Three principle owners, one secretary, four programmers, two salespeople. They sold a mid-size computer accounting package targeted to manufacturing companies. I need to thank Gary Alexander for giving me my first professional job. See the 'First Job' tab for details. Gary also played a part later down the road when he helped me get another job. I was hired during a time when they were venturing into a new product line around manufacturing quality control. The U. S. auto industry was taking a big hit from the Japanese, who were producing better quality cars. There was new focus on making sure the Big Three auto companies were being supplied with parts within specification from their suppliers.
Burroughs was a company that supplied our desktop workstations; the B20. We sold it along with an OkiData printer, a Tandy Model 100 and calipers. The Tandy and calipers we used on the manufacturing floor to take part measurements. The data was then transferred to the B20 for generating QA reports. I wrote the Tandy software in BASIC. There was only 64K of memory to work with! I wrote the B20 code in COBOL. Most of the difficult work was programming the Okidata printer to produce statistical graphs using continuous green-bar paper. A bit later, Gary and I learned a 4GL language called PROGRESS and replaced the COBOL code.
I was in my early 20s. A very quiet and shy guy. One of the programmers, Linda, helped get me out a my shell. She was a few years older than me. Very outgoing and was always inviting me to do things with her and her family. She tried to get me to date Marilyn, the receptionist, but I wasn't interested. This was the time in my life I learned about the internet. Using the company's 300 baud modem during my free time, I connected to BBS around the world to download files and used Fidonet, a text-based chat network (long before Twitter and Facebook).
After a few months, Gary offered to give me a project manager position. For some reason, I declined. I did not have a long-term career plan. I think I wasn't ready and wanted to stay a programmer. So I left to work at Release Management Systems.
Release Management Systems (1985 - 1987)
Matt Rozek, owner of the company, was a friend to Gary Alexander. The two shared many clients and used similar computer equipment. His focus was on providing software called Release Processing. It was used by part manufacturers to the auto industry to manage their inventory supply. This was an attempt to compete with the Japanese car manufacturers, who were using a technique called JIT ('Just-In-Time') inventory control.
Gary introduced me to Matt and told him I was a good programmer. I was working for very little pay at this time, so that probably made it easy for Matt to hire me. Matt had just started the company, so I went from working in a typical office setting to coding in Matt's basement. Matt and I were the programmers; there was one user support person, one trainer, and one salesman. Matt had two dogs at his house. When the salesman was on the phone, he would joke that they were our guard dogs. During lunch, we would always go up to Matt's kitchen to eat our sandwiches and watch The Andy Griffith Show. A few months later, Gary moved Logical Design Corporation to another office and Matt moved into its old office space. It was ironic that my desk was back in the exact same spot as it was when I worked at Logical Design!
I really liked the small company feel. I sat right next to Matt and learned about the business from listening into conversations. Every Friday for lunch, we would meet in the conference room, drink beer, and talk about our week. They hired a female programmer to handle the increased demand for the software. This was the first of three instances where I shared an office with a woman (the other two were with Parameter Driven Software and when I was a consultant at Maritz Travel).
For some reason, I was getting frustrated with the job and left. In hindsight, I should have been more tolerant.
Parameter Driven Software (1987 - 1988)
This company was located in the affluent suburb of Detroit, Michigan called Birmingham. Total of about 12 employees; two in administration, one in sales, one trainer, two project managers, five programmers, and me, Quality Control Specialist. My job was to review the programmers work for quality and errors before it was released to customers. They sold accounting module software that ran on a mid-size Burroughs server. Why anyone would buy it, I don't know. It was coded in a proprietary language in a small window inside the development program. Because of the small window, code wrapped around a lot and was hard to look at.
When everyone had left the office for the day, I would stay late and teach myself UNIX and shell scripting. I created a menu system for the sales people to use when installing and demonstrating the accounting software. This allowed them to easily show a demo to clients with just the press of a few buttons instead of following a long list of technical jargon. I was still using the company's modem to participate in local chat groups in the Detroit area. One group starting to hold picnics and gatherings at people's houses in order to meet face-to-face. Some of these became my friends while I was living in Michigan.
I shared an office with a woman who was a technical writer. She was tall, blond, and young. She lived in the same apartment complex as me. Many of the guys in the office had a crush on her. She took advantage of the attention to get her way. Some of the people in the office had poor attitudes and disrespected me. I was still shy, but I went to company events, regardless. One was a bachelor party held at a strip club across the river in Windsor, Canada. We had to change our money from U.S. to Canadian. This was back in the day all you had to do was show a drivers license to get into Canada. I was not comfortable at Cheetahs. I don't get why people go to strip clubs.
I was getting bored with my work and felt out-of-place in the office. One day I remember sitting in the middle of the living room in my apartment and praying for something to help get me out of my situation. Within a couple of days, I got a call from Gary Alexander (my first boss), who told me of an opportunity to be a PROGRESS programmer for a short-term contract in St. Louis, Missouri. I jumped at the chance! I was so happy to give my two-week notice to Parameter Driven Systems!
McDonnell Douglas (via Innovative Solutions, Inc) (1988)
Gary Alexander formed a new company to keep track of his consulting work, called Innovative Soutions, Inc. McDonnell Douglas, an aircraft manufacturer based in St. Louis, Missouri, was the contractor for a telephone provisioning system being developed in the PROGRESS 4GL programming language. It must have been hard to find programmers, because their search for resources took them all the way to the Detroit market. It was a lucrative consulting project; they would pay for room and board and a hefty hourly rate. I learned PROGRESS while working for Gary, so he offered me a job to work with him on the project in St. Louis for 3 months. This was my ticket out of the rust belt and away from my current job that I did not like.
Even though it was only a 3-month contract, I was willing to relocate and give St. Louis a chance. I packed up everything and moved temporarily into a motel near the project for a week. Then I found an apartment complex where a lot of McDonnell Douglas workers lived. I rent to a furniture rental store and filled up the apartment.
There was a programmer were from Atlanta, Georgia and one from Iowa. Others were local to St. Louis. The project was first housed in the top, 5th floor of a bank building at the Northwest Plaza mall. At that time it was a very popular mall in a good neighborhood (not anymore!). The project them moved to the McDonnell Douglas campus near Lambert Airport that required building access badges and a visual screening by a guard behind a one-way mirror every time you entered and exited the building. This was a government project, so there was a lot of paperwork and a lot of waste. I did so little actual programming, that I got bored and started to write UNIX script to automate the application build process.
The project lasted a few months longer than expected. When it ended, I tried to get on full time with the McDonnell Douglas programming group, but there was not a spot for me. I lived off my savings for months before applying for unemployment. I was getting low on savings, when one of the programmers on the project I had just worked on called to say her husband was looking for a programmer and was I interested. Sure am!
Citicorp Mortgage, Inc. (1988 - 1991)
This was definitely one of the best jobs I ever had. Per a reference from a co-worker (who I did not know very well) on my short-term project at McDonnell Douglas, I interviewed for a programming job with a statistician in the Credit Policy Department at Citicorp Mortgage, located in Chesterfield, Missouri. Right away I got a corner office (but no window) that I held for a couple of years. I taught myself how to create JCL mainframe jobs to run SAS programs that processed personal loan data. I would generate cross-tab reports for the statistician. I also helped with subsets of that data by programming dBase desktop applications, as well as transferring data between different systems.
In my study of SAS, I learned it had modules that could be used to generate graphs and line charts. I discovered we had a color printer in the next building and I could access it from the network. I developed a set of pie charts and line graphs that summarized data by month that ended up being used by the head of the department when going to USCBG meetings. I created these visualizations monthly, as well as ad-hoc as requested by department managements.
I worked with a lot of nice people. Even dated a couple of woman from work. Many of us went together for events outside of work, such as Cardinal baseball games and the St. Louis Mardi Gras festival. We even created a group called 'Studs and Muffins' because most of us were single and looking for a reason to party. I was part of the department softball team. During lunch, a group of us would walk around the parking lot for exercise and socializing.
After a couple of years, I got bored. An opportunity came up to work in the PC/Network support group. I had always wanted to learn more about networking, so I applied for an opening and got it. This was a lateral move in the company - going from a cushy programming job to user/desktop/network support. Looking back, it might have been a mistake. People already in the networking group did not like the fact I was there because I had taken the position from one of their friends. The entire time I was in the networking group, I had to deal with back-stabbing and disrespectful behavior. I did not learn as much as I had wanted to as a result.
In 1991, what was termed the 'October Massacre', Citicorp Mortgage went through a large layoff. I assume that since I was in the network support group, I would be one of the last to go because someone had to turn out the lights. Nope. I was part of the first wave of people to go since in my networking job, I had no seniority. I did get a nice severance package. And my supervisor allowed me to have paid time off for a month while I did a job search. He could have made me come into the office that month, but did not. What followed was a period of mostly unemployment. But I took advantage of the free time to sleep late and ride by bicycle a lot!
Confluence St. Louis (volunteer) (1991 - 1993)
This is a non-profit organization in the St. Louis area that promotes cultural diversity. My girlfriend was working there as a secretary. Since I was unemployed and needed something to keep me busy, I volunteered to rebuild their membership database and rewrite all reports. I drove to the office on Vandaventer Road near the city of St. Louis and sat at one of their computers. The database was in dBase. I rewrote the reports in a tool called Report Writer. I created a distribution list that was used to contact all members in the database to not only determine if they were still members, but to solicit donations. I wrote documentation on how I did the programming and how to run the reports. I trained the administration staff. I looked at an old 'time and material' document that shows I made 52 trips of 40 round-trip miles to do the work. Even though I was promised some money for my effort, I was never paid.
I can't say anything nice about the office environment. The woman who was Executive Director used a demeaning tone with her employees. She scolded me one day because I wasn't coming into work in a shirt and tie. I was glad to finish the project and get away from the negativity. I have a copy of my 'resignation' letter.
MasterCard International (via Epic Consulting Group, LTD) (1991)
Place of work was in Westport in West St. Louis County. Not much to say here. Probably did one month of work as a consultant in PC and Novell network support during a period of heavy volume.
Citicorp Mortgage, Inc. (1992 - 1994)
You cannot beat this deal. After months of unemployment (sleeping late and riding my bike all day), just two weeks before unemployment benefits expired, a job opening appeared in the I.T. Department with Citicorp Mortgage at their service center building in Ellisville, Missouri. I applied for the job and was hired immediately ... at the same employee level and salary as what I got before Citicorp laid me off in 1991! It started out rather rough. I was part of a new team of programmers who were supposed to deliver daily reports to managers every morning. I couldn't start my reporting workflow until after overnight mainframe jobs had completed. I would have to get up around 3am to remote in and check for job completion. Then I could start my mainframe jobs and go back to bed for a few hours. I would get to work each day around 7am to finish data processing and report printing.
After a few month, there was a reorganization of the I.T. staff so that technical resources could be shared across multiple departments instead of individually being controlled by department managers. This was a good group of people and allowed me to work on interesting projects. I still used a vt100 terminal to access the IBM mainframe, but I started to learn the technique of screen-scraping and coding in a language called Clipper (think of it as compiled dBase code). I started to support other systems.
When there was a consumer loan meltdown on the east coast, I went with a team from I.T. to investigate systems that Citicorp Mortgage was going to take ownership of. On one hand, it was nice to be one of those chosen because it showed they trusted me. I got to travel to New York City for the first time and stay in a hotel room one block from Time Square! On the other hand, we were shutting down businesses and the employees losing their job were not happy to see us. They were not open about what systems existed and how they worked. We had to be nosy and sneaky in how we determined where data was kept and why. We only had two days to do it. Overall, it was still an interesting experience and more exciting than sitting in a cubicle.
We had a consultant in from a company called Ferguson Consulting. He was in the office to work on a mainframe project. He sat across from me for months and got to know my skills and what I was interested in doing. One day he approached me and a co-worker about becoming consultants with his firm. At that time, my co-worker and I were both frustrated with recent management decisions within the I.T. group. The two of us talked to Ferguson and liked the idea of making more money and moving on in our careers. We made a plan to turn in our resignation the same day. It was a big surprise to our manager. I had also pre-warned my friend in the network support group because he would be the one to start turning off my access to company resources and data now that I was no longer with the company. I sat at my desk and watches as my access to the mainframe and network disappeared. He would call me and whisper, "I am removing your access to the Terraserver database now ...".
Concordia Publishing House (via Ferguson Consulting, Inc) (1994)
First, a bit about Ferguson Consulting
Before I describe my first experience as a consultant, I need to say a few words about Ferguson Consulting, Inc. Run by Miriam Ferguson and some old co-workers of hers. The offices were at Highway 270 and Manchester in West St. Louis County. Her daughter, Sue, was also around to help with the business. I, along with some other young programmers, were her 'golden' staff. She would do anything for us. She sent me down to Orlando, Florida for PowerBuilder training for a week. When we were placed at a new client, Sue would bring a cake and cookies in the first week - for us and for our clients. Miriam and Sue liked to ride bikes. It wasn't long before I was scheduling company bike rides on the weekends. I also volunteered to create a weekly newsletter called 'The Ferguson Minute'. I would gather articles throughout the week and go into the office after hours to edit and publish it. A printed copy was put into employee paycheck envelopes.
You will see that Ferguson placed me at a number of client sites; the last being Maritz. Then Sue Ferguson started to take control over client placement causing me and other consultants to leave Ferguson.
Back to Concordia
I left Citicorp Mortgage after a very nice job offer that would allow me to learn Visual Basic. At this time in the technology market, with Y2K not far off, consulting firms could set their price and businesses would pay it. Just as it sounds, Concordia publishes books. For this project, they were developing a church membership management software program called "The Shepherd Staff". I did not know Visual Basic, but that didn't matter. I learned on the job. There were about 8 programmers from Ferguson on this projects.
The location was on South Jefferson Avenue within the city of St. Louis. Not a very good neighborhood, at all. Parking for the building was surrounded by a gate. People were encourages to leave work before 4:30pm in order to not be in the vicinity when it got dark. One day I was walking back to my car and saw a drug bust. Kid was being arrested by two officers. They pulled a wad of paper money out of his pocket.
I was happy doing the work and learning new technology. They guys I worked with were young and very friendly. I carpooled with the other Ferguson consultant who left Citicorp the same day I did. But he was kinda strange and we stopped car pooling after awhile. For some reason, my consulting firm pulled me off the project to work on a new PowerBuilder project at Express Scripts in Earth City, Missouri.
Express Scripts (via Ferguson Consulting, Inc) (1994 - 1995)
Express Scripts is a company that handles the distribution of pharmaceuticals. They opened up an office building in Earth City, Missouri. PowerBuilder was a new programming language they were using to create new applications. My particular project was called PHP Drug Budgeting. It's purpose was to track a doctor's percentage of prescribing generic drugs vs. brand name. I distinctly remember the hiring manager ask me during the interview process: "Do you know how to spell PowerBuilder? If so, you are hired."
PowerBuilder came with large manuals describing how to use the language. I took them home and read them from cover to cover. I was loving the new language. After a few months on the project, Ferguson pulled me out to work on a different project that was ramping up at Maritz in Fenton, Missouri.
Maritz - Travel (via Ferguson Consulting, Inc) (1995 - 2000)
I was put on a multi-year project called IMPACT '95. It actually ran through the year 2000. I stopped by Maritz Travel in 2017 to meet with a guy who was now a project manager, but at the time I was on the project, he was also a PowerBuilder developer. The project was to rewrite a handful of legacy applications into a new language and at the same time, write them to support the new way the company did business. An entire room was dedicated to the project. It included representatives from each business unit that had a stake in the project, as well as one or more developers dedicated to helping translate business rules into programming language. The database was Sybase. Developers were a combination of consultants and full time employees of Maritz Travel.
I was one of the lead developers to create a base class that all code would rely on. I helped create coding and change control best practices. I taught PowerBuilder coding techniques at monthly brown-bag lunch meetings. I was the first person responsible for creating the main .EXE. We called that person the 'Executitioner'. I participated in code reviews. I was assigned to the Billing business unit to analyze how their business process could be incorporated into the project. Over time I had a couple of developers reporting to me.
I really liked this job. My manager was Pat Croat. She was the best manager I ever worked for. She knew how to read and handle people. She was stern, but kind. I got a lot of respect from the team and the people were fun. One of the developers who sat next to me got a 'day-a-year' calendar that had fishing trivia on each page. Every morning he would host 'fish trivia' where he would read a real fact and two false facts and the team would have to figure out which was the real one. In one of the company's employee contests, I won free tickets for two to Washington D.C. My wife and I took advantage of it.
After much of the projects goals were complete, I was moved to another project, but still using PowerBuilder. This was to rewrite an outdated financial application. I worked with a new set of developers and business users. Again, I did a lot of training of Powerbuilder. My main responsibility was to refactor the report module. On my spare time, I realized that the old IMPACT project was writing activity logs, but there was no way to easily filter through the logs for troubleshooting purposes or identifying hotspots. I wrote a small utility where someone could reference a list of logs files and it would find activity based on category and time frame.
When this project was ending, I wanted to continue to work at Maritz as a consultant. There was an opportunity to help create ASP web sites in a different Martiz division, than Travel.
Maritz - MPIC (via Ferguson Consulting, Inc) (2000 - 2001)
MPIC - Maritz Performance Improvement Company was a different department than Maritz Travel. It was on the same campus, just in an adjoining building. Its purpose was to build web sites for clients where their customers could redeem earned 'points' (mainly from credit card purchases) for physical items that Maritz had in their warehouse. When a customer made an order from the web site, Maritz would have it shipped to them.
The web sites were written in classic ASP with a SQL Server 7 backend. Even though I was hired to write ASP code, there were enough developers on the project to write ASP. I don't recall how it happened, but the role of Data Modeler opened up and I took it. I did not know anything about data modeling and very little about databases. But I quickly taught myself how to use PowerDesigner against a SQL Server database. I was now responsible for managing a couple dozen development and production databases, printing out schemas, developing DTS reusable objects, creating data import standards, and training developers how to use them. From this point on, I realized that the focus of my career needed to be database-related. New software programming languages came out much quicker than changes to OLTP database languages.
Things were running along smoothly. I was happy with my job and Maritz was happy with my work. But Sue Ferguson, daughter of the founder of Ferguson Consulting, Inc., the firm I was working for, wanted to move me to another client site. I didn't want to, but she gave me no other choice, but to quit Ferguson. Luckily, a new a former Ferguson consultant had just created his own company and he hired me on.
NetPositive (2001 - 2002)
Al and another guy were former consultants with Ferguson, like me. Al and I knew of each other during our time there. They started their own business and had a variety of small projects. Their first office was in a strip mall in Ballwin, Missouri. Later they merged with another small consulting company and moved to their office Kirkwood, Missouri.
Al knew I wanted to leave Ferguson, so he offered me a job. My first project was creating a data warehouse schema for CircleK in Texas and shipping it out on a server. I worked on a couple of prototype web sites using classic ASP. Their internal network needed security leaks plugged and their source control needed to be reworked. I was shocked when I found out their tape backup had a tape stuck in the drive for months and was not backing up data. I literally had to pry the tape out with a screwdriver! My last project was doing some database tuning on-site for a local mortgage company.
I remember sitting in the office early one morning. It was only me. The radio was stuck on Rush Limbaugh's program. He announced that there was a report of a plane crashing into a building in New York. No details as yet. As the day progressed, we found out more. One of the owners came into the office and we drove to his house a few miles away to watch the twin towers collapse on TV.
Al and I never meshed. It was apparent we did not have the same vision as to what I could do for the company, so we parted ways.
Build-A-Bear (via SSE, Inc.) (2002 - 2003)
This company is located in North St. Louis county. This was the world headquarters of the company that has stored around the world where kids can, well, build their own teddy bear. The company was run by a woman. She also hired a lot of women. I was hired to help generate ad-hoc queries against the database to generate mailing lists and report statistics. All the programmers and DBAs sat in an open room called the Bear Den. They kept the lights low because the developers wanted it that way.
The database I had to query was full of information entered by kids or parent into a kiosk at the time they were building their teddy bear in the store. There was no data validation, so the database was full of names and addresses that were invalid. And yet Build-A-Bear relies heavily on mailers during the holiday seasons. Running queries each day was like starting everything over from scratch. We were not given the time to create reusable routines or tune the database. As a result, it could take hours for one query to run. It might have even been the same query run yesterday against a database with only a few more records in it.
Employees were allowed to bring their kids into the office. And animals. The main accountant had an office I had to pass on the way to my cube everyday. Her dog sat outside her office and would constantly grown at people as they walked by. Event bit someone! But she was allowed to keep it. There were occasions that pets got into fights with each other. But the pet policy did not change.
People find it hard to believe that this was one of the worst places I had ever worked. It was a very stressful situation. I remember new programmers coming in at the start of the day and if they did not perform well enough to create a report, at the end of the day they were told not to come back. I remember the company owner showing guests around the office and berating her employees in front of them.
Even though I hated the job, I needed the money so I tried to stretch out my time there. I was being pressured to become a full-time employee. I had to take a personality test. I was warned by my supervisor at the time that it was rigged so that it was best to not be too uptight about scenarios, but also not be too lax about how you would approach a situation. Apparently I did ok. The other thing I was told to do was to have my own personal experience with building a bear. My wife and I went to the local mall and both make a bear. It's really a silly process you have to go through and of course, they try to up-sell you with accessories. Probably paid $70+ for the effort. When I went into the hiring managers office a few weeks later to show off my bear, she was so busy with getting payroll out the door that I basically got a "yeah, whatever" attitude from her. There was an effort to replace the old reporting system with a data warehouse. Since I did not have the experience, I was let go when the warehouse was implemented.
Simpova (2003)
I worked a few months for my old co-worker from Ferguson Consulting, Inc, Corbin. He had left Ferguson a few years back to run his own computer software company out of his house. He was working on an application that would allow the vetting and scheduling of babysitters in the St. Louis area. I helped him code classic ASP pages and maintain the SQL Server database. I would stop by his house to do some of the work; other work could be done remotely. Corbin is a nice guy for giving me an opportunity to make some money, but his business was not making enough to sustain a full time employee, which is what I needed and wanted.
Monsanto (via Technology Partners) (2003)
This was a consulting position made available due to the busy plant harvest season that Monsanto is built around. In the 'seed breeding' department I worked in, the busy season is in the fall when the experimental corn is harvested. Data on each kernel of corn was collected local to the farm land, then dumped to the main database in St. Louis on a regular basis. My job was to resolve issues with XML transfer files and to update remote laptops with a newer version of SQL Server. I ended up leaving this position voluntarily due to the fact my mother was dying of cancer and I needed to take care of estate matters in Wisconsin.
From the very first day, one of the girls in the department I was to work in had it out for me. She dropped a pile of documentation on my desk without going through it with me or giving me any sign of expectations. Luckily there was another guy in the group who was nicer and helped me navigate some of the workflow issues. I would go on walks around the Monsanto campus during lunch with the two of them and the girl blatantly ignored me; wouldn't even speak to me. Now that I think back on it, she must have been really pissed that I kept on going on the walks! The job was not very stimulating and I was often bored. The job ended at the end of the busy harvesting season.
Bank of America (via Adecco Technical) (2003 - 2004)
The location of the project was in downtown St. Louis. Couldn't get more downtown - just a couple blocks away from the arch. The project was to write DTS (Microsoft's Data Transformation Services) to move data from one place and put it into Excel spreadsheets. There was just one other consultant on the project from another company. We had very little direction. After a few weeks of programming, Bank of America completed the take over of another company. This usually means project-work is suspended or terminated while management determines if there is duplication of work or if projects are meaningful to the new company direction. My project was ended immediately.
I hated working downtown. I don't like big city traffic or crowds. I had to find my own parking and pay for it myself. The first parking space in the first lot I tried was a one that I had to parallel park into and it was right up against a set of doors near an electrical panel. I parked away from the wall enough so the doors could be opened without hitting my car or requiring maintenance to have to call me to come down and move my car for them to get into the doors. That put my car 'outside of the parking lines', which caused the parking garage to put tow notices on my windshield! I ended up moving to a different garage a block away from work.
Scottrade (via Envision) (2004 - 2005)
Scottrade is in business to manage stock market trading accounts. It gets a small percentage of every trade you make through their accounts. They provide PC software to track the trading values of stocks you are interested in. They had a business office in Chesterfield, Missouri where the software was written and the company's databases were housed. There were a set of databases that had dedicated network lines to Wall Street in order to get sub-second access to the electronics on the trading floor. If we had connectivity issues between 8:20am - 8:25am, it could lose millions of dollars.
My job was to write DTS packages, tune SQL Server databases, create Reporting Services Reports, and help create a change control process. I came up with DTS package creation standards and trained developers to use them. I taught myself Reporting Services and created reports on web site usage that were delivered daily to upper managements.
My development group was very small. I got along well with the SQL Server DBAs. It was a stressful time for the I.T. staff, though. The department was growing in size, but the building space was inadequate. They had reached their maximum of electricity usage to power their computers. Enough so they had to shut down one section of the building and cram all employees into the other building. A new I.T. director was hired and decided to 'clean house' of all consultants. We went one-by-one into a small office to talk to the director about becoming a full time employee. I made my meeting short when I told him, "Sorry, I am staying a consultant." I had to leave the premises that day. But I was OK with it. A lot of the full time employees were crying that day. What a shame. Unfortunately, my consulting company, Envision, did nothing to help find me another assignment.
TricorBraun (via independent) (2006)
One of the consultants I worked with at Scottrade was also terminated. He was working at Tricor Braun and knew I was looking for work. I hired on as an independent contractor and worked there while they still had money in the budget. Tricor Braun's business is supplying consumer product packaging. My job was to manage the SQL Server databases and data warehouse. I upgraded the database versions to the newest level. A company that had implemented a data warehouse at Tricor Braun did not bring it to completion. I had to finish their work and implement a business intelligence cube for reporting purposes.
I left the project when funding ran out.
RR Donnelley (via Application Engineering Group) (2007)
R. R. Donnelley had just bought out a book binding company in the St. Louis area. It had laid off many full time employees and was bringing in consultants to help keep systems running or gracefully shut them down. I was brought in because of my knowledge of SQL server databases. Some employees had left without any transition of responsibilities. I had to figure out what processes were important and document their purpose.
I worked solely with a full time manager who was passive-aggressive. He spent too much time pointing out a person's flaws and did not know how to manage people. I went to his supervisor and mentioned the toxic environment, but only got his sympathy.
It just so happened that during my work there, I had a kidney stone attack on Memorial Day and had to be rushed to the emergency room. It blocked one of my kidneys and I found out my other kidney was no longer functioning. The doctor went into get the kidney stone, but ended up just pushing it back in. That relieved my pain and I was back to work the next day. But the personal and professional lives were too stressful at the same time, so I decided to leave the project.
Anheuser Busch (via Oakwood Systems) (2007 - 2008)
I was at a St. Louis SQL Server Users Group when one of the attendees gave me his business card from Oakwood Systems and said he had work for me. I wasn't working at the time, so took him up on it. There happened to be a need for a developer on a business intelligence project at Anheuser Busch's packaging management office in Sunset Hills, Missouri.
I met up with Phil, the project manager and only other person on the project, on the steps of the building where he was working since I didn't have an access badge. I thought that was a detail that would be taken care of later, but it turns out Phil was floundering on the project and didn't want Anheuser Busch to know another resource was being brought onto the project. It got worse: I had to sit in an empty cube next to Phil and was not allowed to tell anyone what I was doing in the building. I had to meet Phil every morning at the door for him to let me in. It gets worse! The first day I was sitting in the same cube as Phil, reading up on the project specs. I asked him a question and was told I wasn't allowed to talk to him until he said it was ok! Any meeting with other Oakwood personnel on the Anheuser Busch premises had to be done in secret behind a locked door. I put up with the situation for a few weeks before I complained to Oakwood. They were obviously not aware that Phil was not making any progress and in danger of losing the client. Much of my time was not devoted to database work; it was hacking away at JavaScript used by the the Proclarity visualization product to get Phil's business intelligence cube design to work! What a mess.
I had Oakwood Systems management meet me and Phil for lunch to make sure they understood the failing project and how Phil was treating me. It had no effect on the situation, what-so-ever. Final, one day when Phil could not put off presenting something to the client, I was told to scramble and write some JavaScript to make it appear we had made progress. That was the last stray. I drove to the Oakwood System office, explained the situation, and quit.
AEP River Operations (2008 - 2016)
I had interviewed with River Ops prior to taking the Oakwood Systems consulting position. After leaving Oakwood, I checked back with River Ops and the position was still open. I accepted the job to work in the Application Development group of the I.T. Department. I would start by tuning queries being run by VB6 application against a SQL Server database. When I joined the company, they had just replaced their I.T. Department manager. The offices were Swingley Ridge in Chesterfield, Missouri. Within a few months, it moved to the 4th and 5th floors of a new building on Lydia Road - just to the north of the Chesterfield Mall. I helped set up the PC and network cabling during the transition.
My relationship with my manager, Scott, was rocky at the start. Apparently before I arrived he had to deal with some odd personalities and had already placed me in the same mold. But after I proved I was loyal and reliable, we got along well during the rest of my time at River Ops.
I spent a lot of time refining the development change control process, developing best practices for code of SQL queries, troubleshooting performance issues in SQL Server, streamlining background data processes, and documenting data workflows. I became a VB6 developer; creating new applications to automate data transfers between applications and implementing an electronic invoicing system with our largest vendor. I refined the process of collecting position data of our boats and provided a way for our docks, fleets, boats, and barges to be displayed on a map in Google Earth.
Since we were a relatively small I. T. Department, I found opportunities outside the application development group to help out the business. I stood in when there were connectivity or network performance issues.
I implemented a content-management web site for the sales Department. I implemented a SharePoint web site for the H. R. Department. I recorded video of training sessions for the Training Department. I recorded a safety video that would be distributed to the boat crews. I implemented video conferencing through web media applications in the conference rooms.
When the company had meetings at the headquarters in Chesterfield, I would set up web cams or record the meetings on video, then have them mailed on DVD to our remote offices around the United States. When the company had public events, I was there to volunteer my skill at photography and videography.
After the first year I worked here, the company was called MEMCO. It was bought out by AEP, American Electric Power, with headquarters in Ohio. In 2016, AEP sold the old MEMCO resources to another barge company. I had the choice to keep my job if I moved to Louisville, Kentucky, or take a lucrative severance package. Since no job is a guarantee and my wife has family in the St. Louis area, I took the severance. My last day with the company was officially Feb 15, 2016. However, for months prior all of my project work was canceled, which means I mainly sat at home, waiting for an email to tell me what was needed from me.
Now What? (2016 --> Retirement)
During the 8 years I was at AEP River Ops, there was no long term plan for developers to keep their skills fresh. In the last few months of my employment, we got free on-line technical training accounts assigned to us for learning about .Net and other topics. But unless you actually use what you learn, it can disappear from memory rather quickly.
I decided to take time off to pursue some personal projects and retool on the newer technologies. I spent a lot of time on a genealogy project, digitizing old LP records, learning more about Linux on a Raspberry Pi 3, and creating this web site. I watched many YouTube videos about emerging technology (machine learning, big data, IOT, cybersecurity) and areas of electronics that I have not had the chance to learn or did not understand. So much I didn't know and still want to know!
In June, 2023, I officially retired. I will still pursue personal technical projects with what time I have left on this earth.
Part of what I did for a living was move data from one place to another. In and out of databases; out to reports or exports to spreadsheets. Raw numbers serve daily business operations well.
For analysis, getting a feel for the 'big picture', or making it easier to explain a workflow, visualization was the way to go. This might be a graph, a map, or diagram. I got much enjoyment in being able to give data more meaning than just a grid of numbers on a spreadsheet. This web page shows examples of how I have used visualization in my professional projects.
Examples
In preparation for a job interview, I downloaded the Power BI Desktop application and signed up for a free Microsoft Power BI account. I created a simple data source with 13 rows representing sales by salesperson by date. In one afternoon, I was able to publish the following interactive dashboard.
Click on icons above the "Quantity by Product" report to filter and drill-down into that graph. Click on any bar in any of the three bar graphs to filter the data in all other graphs (the interaction is configurable within the report). I added a date slider to filter data by date range. You can mark checkboxes under the Salesman, Product, Year columns to the right to filter data even further. The second tab of the report shows the raw data.
Overall, I find Power BI to be an intuitive and easy to use tool for visualization. It is even more powerful when you understand how to link to data sources, create data models and customize dashboards using the DAX programming language. I was able to do further data integration testing with Microsoft Azure by creating a free trial account. Just be cautious as to how Azure charges you for resources use. I created a virtual warehouse instance and even though I did not use it for any testing, it used up my free account resources within a few days!
Data
While creating statistical cross-tab reports from mainframe data using SAS, I discovered our company had a color printer in another building that I could print to over the network. After playing around with types and styles, I came up with this visualization. Upper management liked it so much that they had me schedule these to run on a monthly basis to use during industry presentations.
A data model (logical or physical) shows the relationship between objects. Before you can write applications or reports, you have to decide what data to store and how to store it. Designing your database correctly at the start of a project is critical in preventing performance issues and development bottlenecks later on.
Data flow diagrams go a long way to show complexity and inter-connectivity. Here are a few I created during projects to show the impact of changes to a process and details of where a change needed to be made.
I had a lot of fun mapping geographic data points for an employer. There were certain mile points of the U. S. waterway system that we did business on, but did not have data for them in our database to help us track asset location. When the USGS did not have official waypoints for miles, docks, or facilities on rivers for us to use, we created our own. Using Google earth and it's mapping tools, here are some visualizations of data related to rivers.
I was careful to remove and obfuscate some of the information so as not to reveal the client I was working for and exact purpose of the report.
I wrote these to show counts and percentages of how customers used a web site, such as where they navigated to and where they may have bailed out. These were written in Microsoft Reporting Services and automatically scheduled to be delivered to management every business day.
One of the very first projects I ever worked on as a professional programmer was to create reports on an Okidata printer consisting of part measurement statistics. A worker would use a caliper to measure parts on the production line. That data would them be dumped into a desktop workstation where it was used in reports. The reports let the engineers know if the tool and die machines were getting out of specification and had to be adjusted. It is important to suppliers of parts to the automotive industry that all parts pass certain tolerance requirements.
Testimonials
Personal note from Sheila thanking me for voluntarily rebuilding the agency's membership database and reports.