After escaping Ameridata, I was without work for about a week before I got a tip about a gig: One of the tools I had used in my work was something called MicroFocus Cobol DIALOG SYSTEM. This was pitched as the power of COBOL (which truth be told, was actually very good at doing straight up transaction processing) with a graphic user interface. The way it worked was that you wrote your Cobol programs in text on the back end, and it worked just like any old mainframe. But instead of building a screen interface, you put in a single section to "call out" to a paired Dialog program: You built a graphic user interface in a different tool, and you had a single two-way pipe between your screen and your program logic. It was kludgey and you were definitely limited in how the program would operate - you collected the data on the screen, hit a button, and BAM it sent it to the back end where the real work happened. Then it passed the results back up the pipe, and you had your results on screen.
In other languages like VB, Powerbuilder, Delphi, etc, the logic was at the same layer as the screen code... but those tools were only just coming to the fore in the mid 1990s. For an number of years, Cobol and Dialog System was a very slick solution for the big corporate IT shop that was looking to leverage existing talent (years of Cobol programming), but modernize the user experience.
Having this on the resume was like having Java on your resume in 2000. It was HOT.
So I was out of work for a week, and then it was off to a project at a life insurance company LifeUSA - back to contracting. This was a local company, with a strong "ownership" culture - the employees were believers, the bosses were very out and about, and stock options were given freely. By the time it was finally sold in the late 1990s, there were more than a few millionaires made... across the organization. It was like Enron, only the business wasn't a sham and people actually made money.
I learned all of this in the course of the year I worked there, from Fall 1995 to Fall 1996 (when I was recruited to join ValueRX). Of course to start, I was not brought anywhere NEAR the company: Somehow I was put into a room with 3 other programmers, a classroom with tiered desks, a huge whiteboard, and four computers. In a low profile building in an office park 2 miles from the main campus. Our team included Eric, the chain smoker who only knew the back end Cobol parts, Steve, the young(er than me) geek who only knew the Dialog side, myself, who could bridge the gap, and Bob W.
Bob W (I don't often withhold names, but this guy...) was a programmer who I had run across at Ameridata: He had been working on Cobol reports for months and months, and suddenly had to leave due to a family emergency. I picked up his work, and discovered that he hadn't actually done much work, but that the work he HAD done was completely useless... and I rewrote them from scratch in a couple of weeks. My DAD had actually run across this guy's name in code HE had rewritten as well - the guy was a bad penny: If you saw his name on a program you were working on, you knew you were going to have to reach in, rip out the guts, and start from scratch.
So I'm on a new project, and somehow in the middle of this strange scene, I'm in an office with this guy again, who was all chummy chummy. He was supposed to be "the Architect" of the project, laying out the program logic that we were supposed to make happen. As it happened, he was around for maybe 2 hours a day, and out making phone calls the rest of the time. So Eric, Steve, and I whiteboarded the whole thing and got to work. After a few weeks, Bob stopped showing up entirely... and nobody asked us about it. But we suspected he was "reporting his progress" to the boss who was 2 miles away and never stopped by.
The project was a system to track Insurance Agent commissions against the draws they had taken. The data was complex, and we needed to calculate the value of the policy over time (commissions were paid at certain maturation times). Eric's coding was very tricky, and I actually learned some good tricks in the way he did things. We got along well even though his constant nicotine cloud was thicker than the haze inside of First Avenue. Steve, on the other hand, was a programmer who liked to make things complicated. He wrote elaborate error checking routines into the graphic front end that were unnecessary (validation could be done much faster and cleaner on the back end), and by the end of it, the screens were huge unwieldy affairs that pushed the very limits of the computers it was running on.
We had split our efforts because I had a hard time working with him: We were both young and convinced we were right - so he worked on one big screen, and I broke my half of the program into several smaller programs that handed control across as needed. Many small, simple programs that do their job well, versus one huge monster that crashed frequently. To be fair, his side DID work - and it behaved ALMOST like a Powerbuilder application would. But I would have done it completely differently.
We handed off version 1 to the client, who liked half of the program.... and wanted another project done. They gave me the whole project this time, and Eric and Steve were stuck working on Version 1.1 of the monster. Every so often I'd stop by to see Steve's handiwork. He was always defensive and I quickly learned not to comment on it in ANY WAY. We saw Bob W from time to time, and were never sure just what project he was working on.
Now, 2 months into the project, we were moved into the mothership: Goodbye remote facility with no privacy, hello cubicle. And it was here that I learned about the culture. For the most part, it was a pretty positive experience, especially after the slightly depressing start in corporate America at Ameridata and the Telephone Billing place. They had spirit days. People brought food to share. People went out to lunch together. It was at one of these spirit events that I witnessed the horror of one of the VPs cooking up RAW bratwurst as though they were pre-cooked. 3 minutes a side, soft and pink on the inside. I ate nothing but potato chips that day.
I was sitting in my cube one day in January 1996 when the Director of IS came by and asked "Have you met Mark? He likes music - you should go talk to him". So I wandered over almost immediately, met Mark Loesch, and we became immediate friends. A couple of weeks later, he invited me to his birthday party... but not being a particularly good listener, I came a week early. And we sat with a bottle of wine and knew that we were of the same tribe. The relationship with Mark was what brought me to ValueRx in the fall of 1996. On my other blog are more stories about Mark, who I miss every day since he died in 2007.
In the meantime, Mark and I were regular lunchmates, heading off the the "Cafetorium", where the neon sign promising "Fresh, Tender, Juicy Wieners" brought a laugh daily. There were other characters there as well: Mark's sister in law Molly was just beginning her programming career there. Our friendship there was wonderful, but by early summer, Mark had taken off to a new, mysterious gig, and I was stuck with the Cobol Guys.
Over on the "old Cobol Guy" side of the fence, a guy named Gene was never seen to be doing any actual work, but was always too busy to answer a question... and I overheard enough heated discussions about "Beany and Cecil" that I'm sure that once he left, he probably uploaded himself into the alt.tv.beany-and-cecil newsgroup and haunts it to this day. There was Tom, who resembled a pekinese, and wore clothes two sizes too tight - and vintage from the 1970s, which is when they were first bought. Another programmer, whose name is lost to time, had Solitaire up on his computer EVERY SINGLE TIME I WALKED BY.
I met more "Business Analysts" and was still none the wiser on exactly what their role in the organization was supposed to be. As I worked, I developed a work style to cope: Meet with the business analyst. Go to the client, review what the business analyst had told me, get the REAL requirements, and build according to the client's specs. This worked pretty well, until one of the analysts figured out I wasn't doing what he said. He tried to raise the issue with the client, but she was happy with my work. So he went to the project manager, who took him off the project, and put a different analyst in. Even today I have a suspicion of the pure "business analyst". They rarely understand what the client wants, nor what the developer can do. The best BAs I've worked with have a realistic view of their role. The worst actually believe they add value.
In addition to Bob W, there was one other "prize" coder at work at LifeUSA. One of the guys from the Telephone Billing gig was doing mainframe programming... and I was called in to finish his work on something when he was out for a week. I already told part of this story in another post, so you know that I fixed his 2 months of work in a few days.... and when he returned he wasn't very happy with me. But for a time, given my shared history, this guy, Eric the smoker, and I were friendly. It was in that time that Eric dropped perhaps the most crass line I've ever heard (outside of some of Phil's gems) - In talking about doing Y2K work for $70/hr, Eric paused and said "Man, for that kind of money, I'd blow dogs".
By the end of my year there, things were looking good: I had a good reputation, people wanted me on their projects... There was some tension with the Cobol Corps, but I didn't pay it much mind. In the early Fall, the IS Manager asked me into his office for a meeting.
He wanted me to consider dropping the contract, and coming on as an employee. He made the pitch for the culture, the people, the opportunities... but in the same breath he stressed something else which made me shudder: He wanted me to know that this was a slow moving place, and that I could expect a long, stable career there, but I'd need to slow my work down a bit, because I'm shaking up the team and people feel threatened by my work pace. We're a TEAM here, not a superstar shop, but it's a good family. So slow down, come on board, and I can have stability and an easy life.
I thanked him profusely for the offer, and within a week was interviewing with ValueRx.
Showing posts with label IT. Show all posts
Showing posts with label IT. Show all posts
Tuesday, October 27, 2009
Monday, September 21, 2009
Spring 1994 - Contracting Hell
I first recounted a version of this tale on my personal blog... but I'm revising it and posting it here, because it is a CLASSIC Tale of the Nineties.
By early 1994, I had done 9 months of good work for my Dad, learning Cobol, and our first release of our software was in the client's hands. Dad took a call from a headhunter friend, and he forwarded the contact on to me. One thing led to another, and I took a programmer job for an outsource code shop. Prior to this, COBOL was something I did with my dad. This was my first chance to take the skill to the street and see if this could be an actual career for me.
As first gigs go, it was pretty low-profile: I was a subcontractor working for a subcontractor, working for a contractor, working for a telephone company in southern Minnesota. I was paid $15/hr, and told to bill 40 hours a week, no matter what I was doing. With 3 subcontracting firms above me, I am guessing that the client must have been paying at least $50/hr for my work, with everyone taking between $5-10/hr off the top.
Still, this was my big entree: I was going to make $30k a year. The recruiter said the gig was for 12 months. I could BANK on that. Of course, I needed to get corporate attire: 3 pairs of slacks, 5 dress shirts, 5 ties, 1 pair of shoes. The old man fitting me for these things commented the pants "look good across the beam" while appraising my tush. Which was a lie, since I was still around 135 lbs and over 6 feet tall. But it takes all kinds.
Also, having lived in the city and having divested myself of my very bad automobiles, I needed some way to get to and from Eden Prairie. So we bought a NEW CAR. A Nissan Altima, Sea Blue, that we named Evenrude. It was a wonderful car.
We were in an office plaza in Eden Prairie, the dress was business formal (shirt, ties, slacks), there were 6 of us in this office. I shared an office with a woman just a little older than I was. In the back were the "mainframe guys" who literally did nothing but play card games on the computer all day. One other guy would stare at lines of code all day. One slept. This was before the world wide web - I can only imagine what THAT would have been like.
For 4 weeks, I was given nothing to do. NOTHING. But bill 40 hours, and say I was doing "Conversion" work. Turns out, this shop was in the SLOW and LABORIOUS process of converting a system from MainFrame to something else... very very very slowly. Bored, I surfed through the code library, trying to make sense of what the system did (boring billing stuff), and see what massive changes were needed. As I said in an earlier post - I'm not so great with reading for reading's sake: I'm goal oriented: What needs doing, and by gum it'll get DONE.
Finally, after 4 weeks, they gave me an assignment: Take this one program, and convert it. It should take 2 weeks, they said. I took this program, and God as my witness, all I could see it needed was ONE LINE of code changed to work properly. So I did it. And my boss said "you're not done, this will take two weeks". Which I took to mean there was something else I needed to do. So i got in there and started to do some additional improvements, I reformatted the output to work on standard printers, I changed some of the input parameters to match PC keyboards better....
And after 2 weeks of puttering, my boss said "it'll take another week". So a week LATER, they sent off the code. And one week AFTER THAT, the top-level contracting firm called up and yelled at me for making all of those changes, what was I STUPID??? So I immediately backed out those changes, just did the one line of code, and shipped it off 10 minutes later.
8 weeks, and only one program modified, and only one LINE of code modified. And I had made almost $5000. And it felt TERRIBLE. I talked to others in the office, and they all said "kid, relax, this is an easy gig - enjoy it! The next one won't be like this and you'll remember this fondly". Really.
The boss called me into his office and said that "the clients wanted me fired, but he talked them into giving me another chance". I said thank you for the opportunity, but I don't think this is right for me. I walked out. Actually I'd like to say I walked out, but I gave two weeks notice, did nothing but show up for 80 more hours, made another grand. Sigh.
It was back to my dad's basement for a few months (and I am forever grateful to him for his employment in that period... since I had a car payment and everything!!!)
Two gigs later, I ran into one of the Mainframe Guys in the shop: He had taken ill and there was some code that NEEDED to get done. I filled in, and the work that was supposed to be 80% done hadn't been started, but that was ok because the two weeks he had said he needed turned out to have been only about 30 minutes of code on my part. I didn't make a big deal out of it... but I did learn some lessons about trusting people: there are a lot of people in this business who are not interested in working very hard, and are not above deception to keep themselves comfortable.
I am not one of those people.
By early 1994, I had done 9 months of good work for my Dad, learning Cobol, and our first release of our software was in the client's hands. Dad took a call from a headhunter friend, and he forwarded the contact on to me. One thing led to another, and I took a programmer job for an outsource code shop. Prior to this, COBOL was something I did with my dad. This was my first chance to take the skill to the street and see if this could be an actual career for me.
As first gigs go, it was pretty low-profile: I was a subcontractor working for a subcontractor, working for a contractor, working for a telephone company in southern Minnesota. I was paid $15/hr, and told to bill 40 hours a week, no matter what I was doing. With 3 subcontracting firms above me, I am guessing that the client must have been paying at least $50/hr for my work, with everyone taking between $5-10/hr off the top.
Still, this was my big entree: I was going to make $30k a year. The recruiter said the gig was for 12 months. I could BANK on that. Of course, I needed to get corporate attire: 3 pairs of slacks, 5 dress shirts, 5 ties, 1 pair of shoes. The old man fitting me for these things commented the pants "look good across the beam" while appraising my tush. Which was a lie, since I was still around 135 lbs and over 6 feet tall. But it takes all kinds.
Also, having lived in the city and having divested myself of my very bad automobiles, I needed some way to get to and from Eden Prairie. So we bought a NEW CAR. A Nissan Altima, Sea Blue, that we named Evenrude. It was a wonderful car.
We were in an office plaza in Eden Prairie, the dress was business formal (shirt, ties, slacks), there were 6 of us in this office. I shared an office with a woman just a little older than I was. In the back were the "mainframe guys" who literally did nothing but play card games on the computer all day. One other guy would stare at lines of code all day. One slept. This was before the world wide web - I can only imagine what THAT would have been like.
For 4 weeks, I was given nothing to do. NOTHING. But bill 40 hours, and say I was doing "Conversion" work. Turns out, this shop was in the SLOW and LABORIOUS process of converting a system from MainFrame to something else... very very very slowly. Bored, I surfed through the code library, trying to make sense of what the system did (boring billing stuff), and see what massive changes were needed. As I said in an earlier post - I'm not so great with reading for reading's sake: I'm goal oriented: What needs doing, and by gum it'll get DONE.
Finally, after 4 weeks, they gave me an assignment: Take this one program, and convert it. It should take 2 weeks, they said. I took this program, and God as my witness, all I could see it needed was ONE LINE of code changed to work properly. So I did it. And my boss said "you're not done, this will take two weeks". Which I took to mean there was something else I needed to do. So i got in there and started to do some additional improvements, I reformatted the output to work on standard printers, I changed some of the input parameters to match PC keyboards better....
And after 2 weeks of puttering, my boss said "it'll take another week". So a week LATER, they sent off the code. And one week AFTER THAT, the top-level contracting firm called up and yelled at me for making all of those changes, what was I STUPID??? So I immediately backed out those changes, just did the one line of code, and shipped it off 10 minutes later.
8 weeks, and only one program modified, and only one LINE of code modified. And I had made almost $5000. And it felt TERRIBLE. I talked to others in the office, and they all said "kid, relax, this is an easy gig - enjoy it! The next one won't be like this and you'll remember this fondly". Really.
The boss called me into his office and said that "the clients wanted me fired, but he talked them into giving me another chance". I said thank you for the opportunity, but I don't think this is right for me. I walked out. Actually I'd like to say I walked out, but I gave two weeks notice, did nothing but show up for 80 more hours, made another grand. Sigh.
It was back to my dad's basement for a few months (and I am forever grateful to him for his employment in that period... since I had a car payment and everything!!!)
Two gigs later, I ran into one of the Mainframe Guys in the shop: He had taken ill and there was some code that NEEDED to get done. I filled in, and the work that was supposed to be 80% done hadn't been started, but that was ok because the two weeks he had said he needed turned out to have been only about 30 minutes of code on my part. I didn't make a big deal out of it... but I did learn some lessons about trusting people: there are a lot of people in this business who are not interested in working very hard, and are not above deception to keep themselves comfortable.
I am not one of those people.
Wednesday, September 16, 2009
Fall 1996 - The Cube
After being confirmed as "Master of the Abacus" there was work to be done at ValueRx. Lots of work. Well, actually not that much work. Scratch that. NO work. See, there was still a fully functioning department running in Detroit - the work hadn't actually MOVED to Minneapolis yet. They were staffing up for the EVENTUAL work that was to appear. But they hired a good 2 months too early.
Now to be fair, in 1996 people were starting to worry about a thing called Y2K - where thanks to disk-space saving techniques employed in the 1970s and 1980s, there was a very real possibility that computer systems would think that the year 2000 would be the year 1900. Financial services and insurance industries were particularly concerned - interest and annuity calculations, AR aging, etc. So by 1996, most forward-looking institutions were scooping up people who knew COBOL and putting them to work on rewriting vast acres of code - millions of lines of linear procedural code. And this was before the "object oriented" revolution where you make a widget and call out to it, no, basic date calculations were cut and pasted into these long long long programs.
For the record, I never needed to work on a Y2K project. I did do some minor work to make sure that the freight shipping software I helped build would handle it, but that was it.
Anyway, COBOL guys were going fast, and their prices were going up. So it was smart to build a team in advance... but we who were hired early were a bit mystified. And there was a lot of finger-pointing in the ranks of the transition team as to who was to blame for the delays in bringing the work to Minneapolis... Angry James was in the middle of a lot of those discussions, but Mark and Mike were spared, since they were just carrying out the directions.
So what we had: Office space. Staff. Chairs. What we didn't have: MUCH office space, computers. We were double-cubed, with one computer to share. I was in a cube with a traditional Cobol guy... who really liked playing Solitaire. For my part, I liked surfing the new-fangled WEB. We were in this cube 8 hours a day, and took 30 minute turns at the computer, doing nothing.
After a few weeks, we at least got copies of the source code to start reviewing... and by 6 weeks in, the first Detroit Transplants started arriving, and bringing with them actual WORK. But I'm going to level with you, those first 6 weeks were very surreal, because I was paid 40 hours a week to really do nothing. In a different way from the telephone billing system scam in 1993 - that was 6 weeks with no hope. This was just 6 weeks of idleness with the expectation that things would be getting CRAY-ZAY soon enough.
My cubemate, being a very traditional coder, was beyond thrilled when the source code came available, and would enter trance-like states of staring at screens and screens of code, taking meticulous notes. Being who I was, I could review code for maybe 20 minutes before glazing over: Tell me what you need the code to DO, and I'll make it DO it. But "learn the code?" Ugh.
So I started my now-classic method of "when you're bored, find a meeting and sit in on it". And I participated. And before I knew it, they asked me to be the team lead for the Reporting team, because I liked to get to the heart of the problem and solve issues, not just talk about it. Which was awkward for the ACTUAL team leader, who had relocated from Detroit, and was very very used to being the "Skip" of the team, guru of knowledge, and giver of long timeframes for fixing things. When I jumped in and by the next morning had the solution to the problem she said would take 3 weeks to resolve, I was not making a friend.
But I was young - like a puppy dog. Not even 30 years old - I had not yet settled into the comfort of a job you can keep doing for 20 years. (and for the record, I have still not settled into that). I didn't KNOW I was stepping on toes, I honestly thought they'd be thrilled that I found the solution. HA.
Fortunately, the people in charge who had decided to make the move from Detroit were all relatively new to the organization, and weren't fixed in their ways. They saw me not only as Master of the Abacus, but as "someone who gets things done". This reputation would serve me well in early 1997... But let's stay in 1996 for just a moment longer.
In late 1996, near the holidays, the CEO of the company paid us a visit: By this time, the Detroit people had moved in: Over 40 IT people had uprooted their families and decided to move to Minneapolis for their career. Prior to this, ValueRx had offices in Minneapolis, Detroit, Connecticut, and Arizona. This move was to centralize all operations, and allow the company to be more lean and agile.
The CEO popped in and called an impromptu meeting in our lunchroom: 40 people, some from Detroit, some from Arizona, some new employees, some contractors, all crunched into a stinky-microwave lunchroom, while one floor down a much more comfortable conference room sat, unused, because nobody thought to plan this out. The guy (his name is lost to the ages for me, and I refuse to google him) started a half-hearted "thanks for coming together, gang" speech... and a few minutes in, his cellphone rang. He reached to his belt clip and unhooked his then-awesome StarTac flipphone, and took the call. Standing in the middle of a ring of people. He simply pretended we weren't there. For 5 minutes. It was the most rude thing - he didn't excuse himself, he didn't ask the person to call back. In that moment, we just didn't exist to him.
He snapped the phone closed, finished his little speech and asked if we had any questions for him. Someone from Detroit asked him when the corporate offices in Connecticut were moving to Minneapolis, since all of the other divisions already had. His answer:
"We're going to keep that office open - it's just a few of us out there, and my wife likes our neighborhood, and the kids are in a good school, so we're staying out there. We can manage remotely."
After a pep talk about sacrifice for the company, and thanks for relocating. It was incredible. He then scurried off to a meeting, leaving us all in stunned silence.
I think 4 people quit that day, and many more of the people who were planning to relocate decided NOT to do so. Heck, these were COBOL people, and as I mentioned, it was 1996 - there was plenty of work for COBOL people then. In fact, I think that was about the point at which the local people in Minneapolis got a whole lot more work, as the transplants and the stay-behinds all found lucrative work elsewhere.
I will also note that within 3 months, there was a new CEO as well.
Now to be fair, in 1996 people were starting to worry about a thing called Y2K - where thanks to disk-space saving techniques employed in the 1970s and 1980s, there was a very real possibility that computer systems would think that the year 2000 would be the year 1900. Financial services and insurance industries were particularly concerned - interest and annuity calculations, AR aging, etc. So by 1996, most forward-looking institutions were scooping up people who knew COBOL and putting them to work on rewriting vast acres of code - millions of lines of linear procedural code. And this was before the "object oriented" revolution where you make a widget and call out to it, no, basic date calculations were cut and pasted into these long long long programs.
For the record, I never needed to work on a Y2K project. I did do some minor work to make sure that the freight shipping software I helped build would handle it, but that was it.
Anyway, COBOL guys were going fast, and their prices were going up. So it was smart to build a team in advance... but we who were hired early were a bit mystified. And there was a lot of finger-pointing in the ranks of the transition team as to who was to blame for the delays in bringing the work to Minneapolis... Angry James was in the middle of a lot of those discussions, but Mark and Mike were spared, since they were just carrying out the directions.
So what we had: Office space. Staff. Chairs. What we didn't have: MUCH office space, computers. We were double-cubed, with one computer to share. I was in a cube with a traditional Cobol guy... who really liked playing Solitaire. For my part, I liked surfing the new-fangled WEB. We were in this cube 8 hours a day, and took 30 minute turns at the computer, doing nothing.
After a few weeks, we at least got copies of the source code to start reviewing... and by 6 weeks in, the first Detroit Transplants started arriving, and bringing with them actual WORK. But I'm going to level with you, those first 6 weeks were very surreal, because I was paid 40 hours a week to really do nothing. In a different way from the telephone billing system scam in 1993 - that was 6 weeks with no hope. This was just 6 weeks of idleness with the expectation that things would be getting CRAY-ZAY soon enough.
My cubemate, being a very traditional coder, was beyond thrilled when the source code came available, and would enter trance-like states of staring at screens and screens of code, taking meticulous notes. Being who I was, I could review code for maybe 20 minutes before glazing over: Tell me what you need the code to DO, and I'll make it DO it. But "learn the code?" Ugh.
So I started my now-classic method of "when you're bored, find a meeting and sit in on it". And I participated. And before I knew it, they asked me to be the team lead for the Reporting team, because I liked to get to the heart of the problem and solve issues, not just talk about it. Which was awkward for the ACTUAL team leader, who had relocated from Detroit, and was very very used to being the "Skip" of the team, guru of knowledge, and giver of long timeframes for fixing things. When I jumped in and by the next morning had the solution to the problem she said would take 3 weeks to resolve, I was not making a friend.
But I was young - like a puppy dog. Not even 30 years old - I had not yet settled into the comfort of a job you can keep doing for 20 years. (and for the record, I have still not settled into that). I didn't KNOW I was stepping on toes, I honestly thought they'd be thrilled that I found the solution. HA.
Fortunately, the people in charge who had decided to make the move from Detroit were all relatively new to the organization, and weren't fixed in their ways. They saw me not only as Master of the Abacus, but as "someone who gets things done". This reputation would serve me well in early 1997... But let's stay in 1996 for just a moment longer.
In late 1996, near the holidays, the CEO of the company paid us a visit: By this time, the Detroit people had moved in: Over 40 IT people had uprooted their families and decided to move to Minneapolis for their career. Prior to this, ValueRx had offices in Minneapolis, Detroit, Connecticut, and Arizona. This move was to centralize all operations, and allow the company to be more lean and agile.
The CEO popped in and called an impromptu meeting in our lunchroom: 40 people, some from Detroit, some from Arizona, some new employees, some contractors, all crunched into a stinky-microwave lunchroom, while one floor down a much more comfortable conference room sat, unused, because nobody thought to plan this out. The guy (his name is lost to the ages for me, and I refuse to google him) started a half-hearted "thanks for coming together, gang" speech... and a few minutes in, his cellphone rang. He reached to his belt clip and unhooked his then-awesome StarTac flipphone, and took the call. Standing in the middle of a ring of people. He simply pretended we weren't there. For 5 minutes. It was the most rude thing - he didn't excuse himself, he didn't ask the person to call back. In that moment, we just didn't exist to him.
He snapped the phone closed, finished his little speech and asked if we had any questions for him. Someone from Detroit asked him when the corporate offices in Connecticut were moving to Minneapolis, since all of the other divisions already had. His answer:
"We're going to keep that office open - it's just a few of us out there, and my wife likes our neighborhood, and the kids are in a good school, so we're staying out there. We can manage remotely."
After a pep talk about sacrifice for the company, and thanks for relocating. It was incredible. He then scurried off to a meeting, leaving us all in stunned silence.
I think 4 people quit that day, and many more of the people who were planning to relocate decided NOT to do so. Heck, these were COBOL people, and as I mentioned, it was 1996 - there was plenty of work for COBOL people then. In fact, I think that was about the point at which the local people in Minneapolis got a whole lot more work, as the transplants and the stay-behinds all found lucrative work elsewhere.
I will also note that within 3 months, there was a new CEO as well.
Friday, September 11, 2009
Fall 1996 - Master of the Abacus
I was finishing up a project at a large life insurance company when I was called by a former co-worker, Mark Loesch, who had left just 3 months earlier on some "special project". Turns out he had been tapped by another former co-worker Mike (who had left just months before I had started, but we all could say we worked at the same place) to help with an ambitious project: A large Prescriptions Benefits Management company, ValueRx, was moving its corporate headquarters from Suburban Detroit to the Twin Cities, and Mike and Mark were helping make it happen... and they needed more help.
Now, I was 29, they were 30 and 31. We were young turks. The fact that Mark had gone from a straight up Programmer to some sort of "project manager" in just a few months was mind blowing to me... so naturally I needed to be a part of this. I arranged for an interview, and of course had some coaching sessions with Mark over martinis. During one of those sessions, we were riffing about things I could to do blow the interview. The obvious "remove the pants" gags were explored, the "pretend to speak only German" gag, but the one that had us laughing the most was the "profess expertise in something completely irrelevant". Interviewing for a DBA position and very seriously presenting as a qualification your entry into the State Fair Crop Art competition, for example. Or professing knowledge of the Abacus.
I walked in wearing a suit and met with Mike, Mark, and James, their boss. James was a bit like Ian McShane in Deadwood - affable but a bit moody, and as I later discovered, very prone to profane outbursts and yelling fits. But in the interview, it was all good. They were DESPERATE to start building a team locally and if Mark was vouching for me, then I was good. The interview was casual and free roaming. And at the end, I turned to Mike and James and said "Gentlemen, there's one more thing I think you should know. I am a MASTER of the ABACUS." They both looked blankly at me, then at Mark, who couldn't believe I had actually done it. I held the character for a moment longer, raising my eyebrows and looking at each meaningfully, before Mark and I collapsed in hysterics.
At that moment, I probably could have lost the gig, but it just felt right. That afternoon, they called and said I was in, and how did I want to join? I was interested in staying a consultant: My experience with Ameridata made me shy about moving away from an hourly compensation model, and in the intervening year, I'd done pretty well as a contractor. So the employment offer was waved off, and they said "in the interest of making it easier for our accountants, we're partnering with just one consulting firm, so call them up".
What followed was a tough call: Now, in 1996, the contractor market in the Twin Cities was pretty loose. Most firms were run by a guy who was contracting himself, and folded a few people under his wing. It was typical to get a 1099 in for 5%-10% of a skim off the top. For a W2 hourly employee, 20% was typical, sometimes 30%. I understand (now more than ever) that there are costs, and that there is value to working through a firm. But having gone through 3 contracting companies and 1 FTE position in the previous 3 years, I felt I had a good feel for what reasonable was.
So when they said they take 40% W2, I laughed and said "nice try. I got the gig, I've already got it. All I'm asking you to do is process the invoices". "Yeah, but what about the next gig? We need to create a long term relationship here" Like HELL - my next gig will be with the next people who find me the WORK - I need you to bill this, and if you didn't have a lock on this client this call would already be OVER, you JERK!
And that's how I met Jay at Safenet. And despite our shouting match, we did get friendly eventually. But he never budged from 40%, and I did cave in, because even with the 40% take, it was still a 20% raise for me. And once that gig was over, I indeed did NOT work with them again.
Back to the Abacus: From that day on, I had something of a reputation with the management at ValueRx - I was the guy who cracked the absurd joke at the interview - that spoke to some insane confidence, so I must be good. That worked to my advantage (and I did do good work there).... but I think it spooked James a little, because the guy almost never spoke to me after that, and mere months later he quit abruptly and went on a vacation to the black hills with a high powered rifle to do target practice on prairie dogs. He was not a stable man.
But it did create an instant bond with Mike, and the three of us, Mike, Mark, and Jim carved quite a niche for ourselves at ValueRx. More on that to come.
Now, I was 29, they were 30 and 31. We were young turks. The fact that Mark had gone from a straight up Programmer to some sort of "project manager" in just a few months was mind blowing to me... so naturally I needed to be a part of this. I arranged for an interview, and of course had some coaching sessions with Mark over martinis. During one of those sessions, we were riffing about things I could to do blow the interview. The obvious "remove the pants" gags were explored, the "pretend to speak only German" gag, but the one that had us laughing the most was the "profess expertise in something completely irrelevant". Interviewing for a DBA position and very seriously presenting as a qualification your entry into the State Fair Crop Art competition, for example. Or professing knowledge of the Abacus.
I walked in wearing a suit and met with Mike, Mark, and James, their boss. James was a bit like Ian McShane in Deadwood - affable but a bit moody, and as I later discovered, very prone to profane outbursts and yelling fits. But in the interview, it was all good. They were DESPERATE to start building a team locally and if Mark was vouching for me, then I was good. The interview was casual and free roaming. And at the end, I turned to Mike and James and said "Gentlemen, there's one more thing I think you should know. I am a MASTER of the ABACUS." They both looked blankly at me, then at Mark, who couldn't believe I had actually done it. I held the character for a moment longer, raising my eyebrows and looking at each meaningfully, before Mark and I collapsed in hysterics.
At that moment, I probably could have lost the gig, but it just felt right. That afternoon, they called and said I was in, and how did I want to join? I was interested in staying a consultant: My experience with Ameridata made me shy about moving away from an hourly compensation model, and in the intervening year, I'd done pretty well as a contractor. So the employment offer was waved off, and they said "in the interest of making it easier for our accountants, we're partnering with just one consulting firm, so call them up".
What followed was a tough call: Now, in 1996, the contractor market in the Twin Cities was pretty loose. Most firms were run by a guy who was contracting himself, and folded a few people under his wing. It was typical to get a 1099 in for 5%-10% of a skim off the top. For a W2 hourly employee, 20% was typical, sometimes 30%. I understand (now more than ever) that there are costs, and that there is value to working through a firm. But having gone through 3 contracting companies and 1 FTE position in the previous 3 years, I felt I had a good feel for what reasonable was.
So when they said they take 40% W2, I laughed and said "nice try. I got the gig, I've already got it. All I'm asking you to do is process the invoices". "Yeah, but what about the next gig? We need to create a long term relationship here" Like HELL - my next gig will be with the next people who find me the WORK - I need you to bill this, and if you didn't have a lock on this client this call would already be OVER, you JERK!
And that's how I met Jay at Safenet. And despite our shouting match, we did get friendly eventually. But he never budged from 40%, and I did cave in, because even with the 40% take, it was still a 20% raise for me. And once that gig was over, I indeed did NOT work with them again.
Back to the Abacus: From that day on, I had something of a reputation with the management at ValueRx - I was the guy who cracked the absurd joke at the interview - that spoke to some insane confidence, so I must be good. That worked to my advantage (and I did do good work there).... but I think it spooked James a little, because the guy almost never spoke to me after that, and mere months later he quit abruptly and went on a vacation to the black hills with a high powered rifle to do target practice on prairie dogs. He was not a stable man.
But it did create an instant bond with Mike, and the three of us, Mike, Mark, and Jim carved quite a niche for ourselves at ValueRx. More on that to come.
Tuesday, September 8, 2009
Spring 1995 - The ERP Crisis
In late summer 1994 I signed on as a programmer/analyst at a computer configurator/reseller called Ameridata based in Golden Valley. Think about what CDW does now, they did then: They worked with Compaq and HP and Apple, and sold computers, printers, networking gear, and everything else via mail order and inbound sales. In the pre-internet world, it wasn't a bad business: They had one big warehouse, a lot of customers, and were also growing into the services area as well. Their system was (as most things were in those days) a heavily customized COBOL system they had bought maybe 10 years earlier and had tweaked the source code beyond all recognition. I was there because, well, I did COBOL. We called the system ADI.
Thing moved quickly for me there... in the late summer, I was doing programming work anyone needed doing, and was creating some consternation in the ranks of the veteran programmers. I was fast. Too fast for the established norms they were used to. There were wide swaths of code that the whole team referred to as "OSK" - Only Skip Knows - the guru who had been tweaking the code the longest. And to do any work in that code, you needed some of Skip's time, and he doled the time out very very meagerly. For such a busy man, he kept very lax hours, and to everyone's surprise, he up and quit 2 months into my tenure.
Fortunately I was able to figure out the OSK bits without too much trouble.
Around December, there was a rumble through the organization... there would be a new system. Something to replace ADI because ADI was old, and they needed to move into the future. Something called "BaaN Triton", which I would come to learn was an "ERP" system, similar to SAP (but less expensive). Half of the team was split off to work on the BaaN project, at a new location, while the rest of us were to keep ADI alive.
Around the same time, Ameridata decided to expand and purchased a similar outfit in Gaithersburg MD. This was a first step toward global domination, I suppose. They put ME on the team to figure out how to put Ameridata East onto ADI, and quickly, and they gave it to me to figure out. After a few weeks of looking at the tables, a thought occurred to me: Did these groups have separate sales forces? Yes. Separate warehouses? Yes. Separate purchasing departments? Yes. When would they be integrated? Sometime AFTER BaaN.
Then heck, let's just clone the system, add a switcher front-end for the 4 people in the organization who need to access both, and be done with it. The project went from a 1 year project to a 3 months slam dunk. I went on my first real "business trip" out to Gaithersburg for the (completely uneventful) cutover. ADI2 went live, and I felt pretty good. Which meant it was time for me to join the BaaN team.
Now, this company may have had high hopes for this BaaN system, but let's take a look: They had a Cobol system that worked. They had business processes that worked. They had in NO way outgrown their systems: Every screen was responsive, every team member got reports they needed. Even with their acquisition, given the huge geographic difference AND the completely separate sales/customer base there was nothing pushing them.
Nothing but a consultant from CSC who had done an assessment and determined that in order to play in the "big leagues", they needed an ERP. Mike was a suit guy, and not only did he do the assessment, he picked the software, and he committed to staying on for 2 years to see the project through.
I never knew the full numbers, but if memory serves, the software and implementation was due to cost over $4m in software and hardware alone, let alone services. At the time, Ameridata had total annual revenues of $10-15m, and I can't imagine margins were that great, even in the wild 90's. And the project was structured just like you'd expect an ERP project to be structured: 6 "business analysts" were brought in who were expected to be entirely non-technical - just work on the workflows. Then there was Mike. And a new DBA. And a new Report Writer.
Plus the 6 people who had run the whole operation for the previous 10 years on the system they already owned. And these people were cross-trained to be the programmers in BaaN. I was sent to Grand Rapids MI with two compatriots, John and Jim, and none of us could figure out why we were only learning certain "modules" - we were capable of maintaining ALL parts of our previous system, so why wouldn't we learn ALL of Triton? Oh, it doesn't work like that... it's so complex you need to specialize.
This did lead to my first amusing travel story: At the Hertz office, they were all out of mid-size cars, but they did have a Town Car they'd let us have at a discount. I said yes and spent the afternoon tooling around in a Lincoln, until Jim and John teamed up on me and DEMANDED that I return it and get a compact because EVEN THOUGH it's at a discount, they would be terrified if the VP asked them to justify the expense. For we spent the next 2 days in a Ford Fiesta.
Triton was written in some Moon Man 4GL that had huge processing overhead, and had a charming habit of crapping out with the message "SERVER GESTAPT". The Server in question was a refrigerator-sized computer that cost $250,000. a 4-processor Pentium 90 with 6 GIGABYTES of storage (in the form of 2 dozen 270 meg hard drives). The thing was huge and loud and had a cold room all to itself. It had a dedicated terminal and had something on it called NCSA MOSAIC.
More about my first exposures to the World Wide Web on MOSAIC in a future post.
Naturally, that was just the TEST machine. The PROD machine came later, at another $250,000. And even with all of this, the system was horribly poky. Oracle blamed BaaN, BaaN blamed Oracle, everyone blamed ATT (apparently our superserver was not the most desirable one, even with that cost). The network took some blame. You'd log in, count to 10, enter an order number, count to 10 for the HEADER, then wait 15 more seconds for the Detail Lines to draw. And we programmers were locked out of the low-level routines - this was a 4GL - they just give you an "interpretive layer" which is a layer of code above the code (which is already above some code)....
It's worth mentioning AGAIN that our little ADI system ran just fine on the 486 tower, connected to 500 meg of storage which held everything.
I was just a programmer, here, keeping ADI going, and building things in Triton as requested, but I was kept entirely out of the "fishbowl" - the conference room where the business analysts kept the 4 "subject matter experts" in the company hostage while they documented workflows and use cases. For months I watched flow charts go up on the wall-length whiteboards. It was while walking past that I first heard the term "Out of the Box", which didn't make any sense to me.
I left there in Fall 1995 (that is another story) and sadly wasn't there to see their golive in Spring 1996. But I heard that they went live replacing ADI1 only, and that "overnight processing" (invoicing, inventory updates, etc) took 26 hours to complete, during which time everyone was locked out.
I was just amazed: I was able to bring a new business unit online with their proven older technology in under 3 months. In 18 months they spent more than $4m to barely replicate what they had working when I walked in the door, with a system that barely was able to function. The plan was to bring ADI2 on board within 6 months. I never heard any plans to bring on their IT consulting wing or their implementation services... As far as I could tell, BaaN was just there to replace ADI.
But the next steps didn't happen, because by Summer 1996, the company had been sold. To GE, who DID have a national presence, and who were in the process of installing SAP. By Fall 1996, the Triton team was already hard at work.... planning for the replacement of BaaN with SAP.
It was told to me that the whole reason they went up on BaaN was to increase their sale value, that the sale had been in the planning stages for years, and if they were able to point to this ERP in their core, they'd have a higher market value, since obviously they'd be bringing not just 2 warehouses to the deal, but "engineered best practices" and "state of the art software". That strikes me as a pretty cynical way to look at it, but I can't argue with it either, since GE bought them for almost a half BILLION. And installing ERP for its own sake sure as hell didn't make any sense to me.
Now, all of this is to my best recollection, of course, and seen from the programmer's chair. There may have been a whole different story two levels above me. And maybe somebody wants to tell that story. But this is MY blog. And the whole thing struck me as such a "poster child of ERP Excess" I just had to share.
Thing moved quickly for me there... in the late summer, I was doing programming work anyone needed doing, and was creating some consternation in the ranks of the veteran programmers. I was fast. Too fast for the established norms they were used to. There were wide swaths of code that the whole team referred to as "OSK" - Only Skip Knows - the guru who had been tweaking the code the longest. And to do any work in that code, you needed some of Skip's time, and he doled the time out very very meagerly. For such a busy man, he kept very lax hours, and to everyone's surprise, he up and quit 2 months into my tenure.
Fortunately I was able to figure out the OSK bits without too much trouble.
Around December, there was a rumble through the organization... there would be a new system. Something to replace ADI because ADI was old, and they needed to move into the future. Something called "BaaN Triton", which I would come to learn was an "ERP" system, similar to SAP (but less expensive). Half of the team was split off to work on the BaaN project, at a new location, while the rest of us were to keep ADI alive.
Around the same time, Ameridata decided to expand and purchased a similar outfit in Gaithersburg MD. This was a first step toward global domination, I suppose. They put ME on the team to figure out how to put Ameridata East onto ADI, and quickly, and they gave it to me to figure out. After a few weeks of looking at the tables, a thought occurred to me: Did these groups have separate sales forces? Yes. Separate warehouses? Yes. Separate purchasing departments? Yes. When would they be integrated? Sometime AFTER BaaN.
Then heck, let's just clone the system, add a switcher front-end for the 4 people in the organization who need to access both, and be done with it. The project went from a 1 year project to a 3 months slam dunk. I went on my first real "business trip" out to Gaithersburg for the (completely uneventful) cutover. ADI2 went live, and I felt pretty good. Which meant it was time for me to join the BaaN team.
Now, this company may have had high hopes for this BaaN system, but let's take a look: They had a Cobol system that worked. They had business processes that worked. They had in NO way outgrown their systems: Every screen was responsive, every team member got reports they needed. Even with their acquisition, given the huge geographic difference AND the completely separate sales/customer base there was nothing pushing them.
Nothing but a consultant from CSC who had done an assessment and determined that in order to play in the "big leagues", they needed an ERP. Mike was a suit guy, and not only did he do the assessment, he picked the software, and he committed to staying on for 2 years to see the project through.
I never knew the full numbers, but if memory serves, the software and implementation was due to cost over $4m in software and hardware alone, let alone services. At the time, Ameridata had total annual revenues of $10-15m, and I can't imagine margins were that great, even in the wild 90's. And the project was structured just like you'd expect an ERP project to be structured: 6 "business analysts" were brought in who were expected to be entirely non-technical - just work on the workflows. Then there was Mike. And a new DBA. And a new Report Writer.
Plus the 6 people who had run the whole operation for the previous 10 years on the system they already owned. And these people were cross-trained to be the programmers in BaaN. I was sent to Grand Rapids MI with two compatriots, John and Jim, and none of us could figure out why we were only learning certain "modules" - we were capable of maintaining ALL parts of our previous system, so why wouldn't we learn ALL of Triton? Oh, it doesn't work like that... it's so complex you need to specialize.
This did lead to my first amusing travel story: At the Hertz office, they were all out of mid-size cars, but they did have a Town Car they'd let us have at a discount. I said yes and spent the afternoon tooling around in a Lincoln, until Jim and John teamed up on me and DEMANDED that I return it and get a compact because EVEN THOUGH it's at a discount, they would be terrified if the VP asked them to justify the expense. For we spent the next 2 days in a Ford Fiesta.
Triton was written in some Moon Man 4GL that had huge processing overhead, and had a charming habit of crapping out with the message "SERVER GESTAPT". The Server in question was a refrigerator-sized computer that cost $250,000. a 4-processor Pentium 90 with 6 GIGABYTES of storage (in the form of 2 dozen 270 meg hard drives). The thing was huge and loud and had a cold room all to itself. It had a dedicated terminal and had something on it called NCSA MOSAIC.
More about my first exposures to the World Wide Web on MOSAIC in a future post.
Naturally, that was just the TEST machine. The PROD machine came later, at another $250,000. And even with all of this, the system was horribly poky. Oracle blamed BaaN, BaaN blamed Oracle, everyone blamed ATT (apparently our superserver was not the most desirable one, even with that cost). The network took some blame. You'd log in, count to 10, enter an order number, count to 10 for the HEADER, then wait 15 more seconds for the Detail Lines to draw. And we programmers were locked out of the low-level routines - this was a 4GL - they just give you an "interpretive layer" which is a layer of code above the code (which is already above some code)....
It's worth mentioning AGAIN that our little ADI system ran just fine on the 486 tower, connected to 500 meg of storage which held everything.
I was just a programmer, here, keeping ADI going, and building things in Triton as requested, but I was kept entirely out of the "fishbowl" - the conference room where the business analysts kept the 4 "subject matter experts" in the company hostage while they documented workflows and use cases. For months I watched flow charts go up on the wall-length whiteboards. It was while walking past that I first heard the term "Out of the Box", which didn't make any sense to me.
I left there in Fall 1995 (that is another story) and sadly wasn't there to see their golive in Spring 1996. But I heard that they went live replacing ADI1 only, and that "overnight processing" (invoicing, inventory updates, etc) took 26 hours to complete, during which time everyone was locked out.
I was just amazed: I was able to bring a new business unit online with their proven older technology in under 3 months. In 18 months they spent more than $4m to barely replicate what they had working when I walked in the door, with a system that barely was able to function. The plan was to bring ADI2 on board within 6 months. I never heard any plans to bring on their IT consulting wing or their implementation services... As far as I could tell, BaaN was just there to replace ADI.
But the next steps didn't happen, because by Summer 1996, the company had been sold. To GE, who DID have a national presence, and who were in the process of installing SAP. By Fall 1996, the Triton team was already hard at work.... planning for the replacement of BaaN with SAP.
It was told to me that the whole reason they went up on BaaN was to increase their sale value, that the sale had been in the planning stages for years, and if they were able to point to this ERP in their core, they'd have a higher market value, since obviously they'd be bringing not just 2 warehouses to the deal, but "engineered best practices" and "state of the art software". That strikes me as a pretty cynical way to look at it, but I can't argue with it either, since GE bought them for almost a half BILLION. And installing ERP for its own sake sure as hell didn't make any sense to me.
Now, all of this is to my best recollection, of course, and seen from the programmer's chair. There may have been a whole different story two levels above me. And maybe somebody wants to tell that story. But this is MY blog. And the whole thing struck me as such a "poster child of ERP Excess" I just had to share.
Subscribe to:
Posts (Atom)