My story begins - believe or not - 26 years ago. It is germane to the story but I hope to speed things up to more contemporary times.
In July of 1993 I opted for a surgical procedure promoted and recommended by my ophthalmologist called ALK (a predecessor to LASIK) for heavy myopia and it sounded wonderful, so I agreed to do the surgery. It not only failed to deliver the great results promised, but left me disabled and crippled. The biggest problem was with night vision, and in turn with night driving. (These results were not unheard of for LASIK either.) I could not safely drive at night anymore and with my place of employment 35 miles away it became a formidable issue immediately. To survive, especially the winter of 93-94, I would exit my home at the crack of dawn and then leave work at least an hour before sunset. I used my flexible engineer hours to do this. Meanwhile, my eye doc kept trying solutions that failed and failed. (Though he did fit me with one contact lens that was uncomfortable as hell while adding minimal improvement.) In the summer of 1994 I had had enough and I fired him.
That fall I began considering my condition permanent and decided to either find a job in the northern suburbs or move down to the southern part of town, where my job currently was. Problem was I didn't know if my job was going to last much longer. Soon it was January of 1995 and I had to do something, as I was doing the same thing as the year before and I could not sustain that driving pressure anymore. That’s when a friend named Tom called about a gig -- perfect for me -- at his new company called Netstar, but it was just a mile away from where I was currently working so it didn’t help with my driving problems. Tom said they were looking for an Ethernet engineer in order to add that product to their growing collection of communication cards. Said it didn’t need to be spectacular, just another one or two port device for the collection. I said why do you need me -- you could do it yourself? He came back with this story:
Their current product, the GigaRouter was a 17 slot, multi-bladed (or card) system. The first 16 were for general purpose communication cards and the 17th was for a utility card with a 10 Mbit Ethernet tap for connection to the local Ethernet network. Code downloads and status uploads would be done through this Ethernet tap. A young woman, who I’ll call “Sweet Polly Purebred”, was the designer of this Utility Board. She seems to have done an OK job until she tried to get it past EMI certification. (EMI stands for “electrical/magnetic interference”, and is all about squelching and suppressing radio frequency noise from the system, which allows Grandpa to listen to an AM radio ballgame without all the hissing, whining, growling, etc. from someone working nearby with a laptop, or any other electronic device.) Ignorant and stupid about what to do next she gives it to the RF design group to fix. And they do. Adding on a monster sized ferrite they manage to suppress the offending signals to almost nothing — including the Ethernet signal. Good for a whole two feet (rather than 300 feet, which is what its slated for.) So she then recommends a new PC to act as an intermediary: two feet from the GigaRouter to the PC, and then up to a 100 yards from the PC to the network port, and she gets it. Manager approved (by “Sixty Inches of Fat Ass”, who’ll you will hear more about soon enough). Solved that problem, huh?
I’m flabbergasted, and tell Tom that it sounds like their manager was an idiot managing some morons, as real engineering managers and real engineers would have required the device to be done with EMI mitigation techniques until it was operating normally and cleanly. Not encouraging at all, but Tom says that’s why they need me — someone who can handle those type problems. So I reluctantly agree, go to the interview and get the job. Start work sometime in February and begin my new occupation, and hopefully, the start of a better life.
Before we move on, let’s take a look at our central players — you know — “The Playas”
Most notable is “Granite Head”, the Marketing VP some 30 years old, give-or-take-a-few-years, who managed to put himself in the VP of Engineering slot all the way from the VP of Marketing slot in one easy motion (and never gave up VP of Marketing to boot). You see, “Granite Head” was more or less well connected to the ‘position granters’ of Netstar rather than being a boy genius, so when he said “Can I be VP of Engineering?”, he got it, and simultaneously drove the old VP out, who at least was probably capable of the job. That being said, was “Granite Head” himself at least up to the job? I’d say NO, definitely not that first (and only) year I was there. He was making aggressive business decisions in the dark and depended totally on the advice of others, which frankly wasn’t very good, especially if that person was the next person on our list.
Now we have someone we can all be proud of — “Sixty Inches of Fat Ass”. Yes this mover and shaker of dubious proportions (something like 6’ 6” tall, big barrel chest and matching gut he commented was “60 inches in diameter” as he complained about buying extra large mens clothes.) This guys list of screw-ups are best explained as he makes them.
Then there is someone who, as far as I know, was pretty inoffensive to me, but quite the achiever at good ol’ Netstar/Ascend and we met her just a few paragraphs earlier ("Sweet Polly Purebred"). She was very young and fairly inexperienced. She came from LaserMaster, and I don’t know what she designed there but I don’t think it was much. At Netstar/Ascend, outside of co-designing a simple IP packet router using a binary search tree and putting it in a FPGA, all she had done was the infamous Utility card, the one that needed EMI mitigation techniques applied. What’s her beef with me, or mine with her? Mostly nothing except when “Granite Head” made her head of the Advanced Development Department - placed not one but two levels above me. (And we really needed an Advanced Development Dept. at the time — NOT.) There, all she did was create an IDT Fifo component that was 40-bits or 44-bits wide! Zowey! But her pay and especially her benefits were attractive to “Granite Head” as he was romantically dating her at the time, one way to get those employee benefits on your side, you bet! Screwing the guy in charge? One of the best way to get to the top I guess.
Then we meet “Brainless Brian”. He was pretty much non-involved in my affairs until after I was terminated from Netstar/Ascend, where he began to “berate and degrade” me pretty viciously after I had left, most notably as a helpful gesture to “Granite Head”, his favorite guy in the whole world. He was co-designer with “Sweet Polly Purebred” of the IP search engine FPGA, and that was about all he did while I was there. “Sixty Inches of Fat Ass and “Sweet Polly Purebred” along with “Brainless Brian” all came from LaserMaster together — you know, one finds the “Free Beer and Pizza” club and tells the rest about it…
Now we meet little “Baby Cakes”. “Baby Cakes” was given half of a "top secret" project for IBM. (Every time someone asked him what the product was about, he’d say “I’d tell you, but then I’d have to kill you!” What a weeny…) He spent the rest of the time kinda just wondering around. He often attended meetings with me and kept trying to sell every one on Gigabit Ethernet, which was especially disturbing to me as I was trying to get out 100 Mbit Ethernet. He also had a bad habit of talking about the exhilaration an engineer should feel towards getting a new card in and preparing it for debugging, just like a newbie. Extra big weeny.
And finally, there is “Dickless”, the diagnostic programmer. So named because he believed he was a big player in the corporate orgy — you know, swinging big meat at the local love fest. I’ll let you find out more about him as we continue.
After a couple of months R and D’ing, I call for a meeting to discuss my findings. At the meeting are all the bigwigs (all the bigwigs you can find in a company of under 70.) There’s my new manager “Sixty Inches of Fat Ass”, the software manager and her programmer, VP of Marketing at the time, (“Granite Head”) and some people on a conference call from the field. (I don’t believe the VP of Engineering made it that day.)
I begin by talking about the simplest approach — the 2 port Ethernet card. Simply cut the media head off an existing card and put on Ethernet, and make sure it makes it through certification and you are done. (I volunteered to redo the Utility card in a single afternoon and remove the need for buying a PC for every GigaRouter they would make, but was told to not bother with this completed “masterpiece” — it was just fine the way it was…my gawd...were these people mentally retarded or what?) Anyhoo, I proposed software could then move ahead writing code for the 2-port while I started working on the second offering: a 4-port Ethernet card with switching capabilities.
At that point, I went on to lecture them about Ethernet switching/bridging and how it was absolutely necessary for the future of their product line. I informed them that the challenges would be in bringing the necessary circuitry up to a speed level ten times faster than what was currently available and doing it for one part of the circuit in particular. (This would be the 48-bit address list that required the circuit to inspect the list for the address and signal it’s inclusion in the list well within the arrival time of the packet.) Long story short, I said it would take some time to determine what was out there usable for 100 Mbit technology, and that in turn would take 8-10 weeks minimum. For them, of course, it was all like it was falling on deaf ears. Every one — and I mean everyone — sat there with a stupid look on there face. No response or questions whatsoever. So I continued onto the 8-port version.
The third offering was an 8-port device with no switch/bridging circuitry at all on it. This offering was not strongly recommended by me and in fact was brought up by all the “others” who kept asking about it. (People thought it’d be cool to align 8 ports on the spine, and then fill the machine with 15 more cards just like it…how fucking neat would that look — huh?) This one would be a monstrosity with circuitry populating edge-to-edge on both sides of the PCB, extra routing and power planes (most likely), the Ethernet Phys (Physical Interface) with their delicate layout being crushed next to each other just behind the connectors; no room for additional components if you needed them, much harder to fix, change, or alter the design. It would also have more Ethernet ports to get by EMI certification (adding double the ports causes you to loose 3 dB of margin or a total of 9 dB for this card, so with all things being equal: 1 port meant 0 dB, 2-ports meant -3 dB, 4-ports meant -6 dB and 8-ports meant -9 dB.) It would also be drawing about twice the power of the the others cards in the collection. Most importantly, however, it probably would need more microprocessor MIPS than I could give it by having one processor for the receive side and another one for the transmit side — two processors wouldn’t handle 800 Mbit for receive and another for 800 Mbit for transmit, I openly speculated out loud.
But “Granite Head” took a shine to the 8-port and any statement to the fact that the processors didn’t have enough processing power was ignored. Software had nothing to add which was unsettling, since it was usually the job of SW to input on the required product performance needs for functionality (such as this) and they decided to say nothing about it. Just stone cold stares. With all this, plus my boss “Sixty Inches of Fat Ass” endorsing the belief that two processors were plenty for handling the 800 Mbit of overall traffic, management went for the 8-port. This taught me a valuable lesson: the only thing faster than the speed of light is a “Sixty Inches of Fat Ass” doing a brown nose suck-up action to senior management. I was stuck doing the one card I didn’t want to do but agreed to do it with a big, happy, smile on my face…friggun’ assholes. So I gave this board a pet name worthy of its real creator: the “Sixty Inches of Fat Ass Bag of Shit Card”. Fit like a glove.
The work for the 8-port was more difficult and took a little longer than I thought, but finally I got it to where it needed to be. Shortly afterward, there was a rumor going on that Ascend — a California company— wanted to buy us (we were in Minnesota, BTW). When this was confirmed, “Granite Head” made his move up to VP of Engineering, because that’s where all the excitement was happening. The new VP of Engineering said he was more than ready for the role as he had a degree in mechanical engineering! Yep, I thought that was enough for me too. (***bull...shit***). The old VP of Engineering was reduced to some minuscule, meaningless role and basically disappeared after time. Best parts? One best part was “Granite Heads” promoting of “Sweet Polly Purebred” to director level of Advanced Development as well as becoming his new girlfriend. (Not just 1, but 2 levels of hierarchy above me, and I’m guessing he was adding to his potential share of the stock options should they become a permanent "item” and the number of stock shares were handed out by hierarchical position.) And also giving “Sixty Inches of Fat Ass” a director level role also 2 levels above us peons with the duty of overseeing just one report…Just. One. Report. Yep, there was six levels between me and the corporate CEO now: me, a first level manager, Director of Engineering, old VP of Engineering, new VP of Engineering, and finally the CEO of Ascend. God, it’s hard to believe Netstar was no more than a tiny functioning group of 70, wasn’t it?
Soon afterward, the new VP of Engineering along with his new Director of HW (“Sixty Inches of Fat Ass”) and Director of SW made a deal with Ascend to get a bunch of new software and my hardware done within a very short period of time, all for the promise of 400 shares of stock options (for us working grunts, more for each layer up the hierarchy, naturally). Ethernet was the only new HW we had to do for this project and it had now taken on the highest priority at Netstar, as a high speed method of joining multiple routers together would be needed and I would be the one paying for it with lots and lots of OT! (So much for the early promises of “just” a connection or two when I started.)
The HW goals dictated to me were to bring Ethernet in by about 4 weeks, (meaningless actually — it would take as long as it needed to), and then to do up to 108 direct-to-customer level cards — essentially skipping the handful of first and second level prototypes usually done with a new project. (I requested two HW notebooks and numbered within them headings of SSN 001 to 108, an individual label for each potential card; damn, damn, damn — this was going to be a mess.)
I thought this was outrageous going for 108 direct-to-customer, brand-spanking new cards, so I requested a helper, hopefully an engineer, to give me a hand. The best “Sixty Inches of Fat Ass” could manage (according to the distorted world of his “Fat Fucking Ass”) was maybe an hour a day from the only HW tech we had. That’s it: an hour per day. (According to “Fat Ass” that was more help any of the other engineers had gotten when they were doing their small number of early first and second level prototypes EXCEPT I wasn’t doing a small number of prototypes this time — get it? He didn’t. Stupid as they come. Really, really stupid.)
His and "Granite Heads" goal was to take the 8-ports of Ethernet and directly figure it into a complete working system of multiple GigaRouters in large for-ISP offerings, with each Ethernet port able to operate at full wire speeds, of course, which I said probably wasn't going to be possible. I say to you again: good gawd...this was not what I signed on for, and I really don’t give a fuck about the stock options (though it didn’t stop me from going gonzo on the fucking product anyways, mostly for all the engineers that did care.)
The HW goals dictated to me were to bring Ethernet in by about 4 weeks, (meaningless actually — it would take as long as it needed to), and then to do up to 108 direct-to-customer level cards — essentially skipping the handful of first and second level prototypes usually done with a new project. (I requested two HW notebooks and numbered within them headings of SSN 001 to 108, an individual label for each potential card; damn, damn, damn — this was going to be a mess.)
I thought this was outrageous going for 108 direct-to-customer, brand-spanking new cards, so I requested a helper, hopefully an engineer, to give me a hand. The best “Sixty Inches of Fat Ass” could manage (according to the distorted world of his “Fat Fucking Ass”) was maybe an hour a day from the only HW tech we had. That’s it: an hour per day. (According to “Fat Ass” that was more help any of the other engineers had gotten when they were doing their small number of early first and second level prototypes EXCEPT I wasn’t doing a small number of prototypes this time — get it? He didn’t. Stupid as they come. Really, really stupid.)
His and "Granite Heads" goal was to take the 8-ports of Ethernet and directly figure it into a complete working system of multiple GigaRouters in large for-ISP offerings, with each Ethernet port able to operate at full wire speeds, of course, which I said probably wasn't going to be possible. I say to you again: good gawd...this was not what I signed on for, and I really don’t give a fuck about the stock options (though it didn’t stop me from going gonzo on the fucking product anyways, mostly for all the engineers that did care.)
When it came to getting to (but mostly from) work and coping with my trashed eyes during the early months of fall, I managed to keep things (barely) cool. But then after doing about 60-70 hours per week plus weekend, and with the short days of winter closing in, I couldn’t do it anymore — I would have to drive at night. I had to risk myself and every other person out on the road after nightfall. I started this in mid October by leaving around sunset and trying to drive with the busy rush hour, but that was horrific to say the least. Since that was no good, I altered my pattern and left after 10 o’clock to almost 2 o’clock in the morning, or even just staying at work the whole night sometimes.
These drives were so psychologically costly that every time I did I night drive I would get home and get sick. I would dry heave into the sink or almost hyperventilate. But driving late at night was the best I could do for safety reasons, as there was almost no traffic when I left, but it still scared me to death.
In early January I even logged my first 100 hour week. The reasons for the long hours were numerous, but had to do with dealing with the large number of straight-to-customer prototypes, part shortages, number of people doing things with prototypes who needed assistance (programmers, test engineers, etc.), number of protocol analyzers and packet processing equipment checking some performance and capability factors, readying boards for EMI certification, managing the several revisions that always seemed to be present simultaneously, and a bunch of other stupid reasons I don’t even remember anymore. It truly was hell at work.
These drives were so psychologically costly that every time I did I night drive I would get home and get sick. I would dry heave into the sink or almost hyperventilate. But driving late at night was the best I could do for safety reasons, as there was almost no traffic when I left, but it still scared me to death.
In early January I even logged my first 100 hour week. The reasons for the long hours were numerous, but had to do with dealing with the large number of straight-to-customer prototypes, part shortages, number of people doing things with prototypes who needed assistance (programmers, test engineers, etc.), number of protocol analyzers and packet processing equipment checking some performance and capability factors, readying boards for EMI certification, managing the several revisions that always seemed to be present simultaneously, and a bunch of other stupid reasons I don’t even remember anymore. It truly was hell at work.
(My average work week was around 80 hours per week, double what most HW people "worked" there, peaking at a 100 hours in early January. It wasn’t worth it to tell this to “Sixty Inches of Fat Ass”, (again) as most people looked at me as if I was crazy and couldn’t understand it all even if they wanted to. It was easier to just take it a week at a time and keep hoping that the current week was going to be my last week of unbearable OT. I even put this information (my long hours) in my weekly status report: but I don’t think “Sixty Inches of Fat Ass” even read it, knew or cared. I kept waiting each week for this to end, but I still had this problem through November, December, and most of January.)
Sometime around my peak working hours a diagnostic programmer named “Dickless” was complaining to me about this habit for the card to drop a packet of data at the rate of 1 packet per board per day — or if you like the back of the envelope calculation — less than 1 packet per port per week. Minuscule when you think about it, but still needed investigating because even if this batch of cards failed at a rate of 1 packet per week per port, the next might fail at a rate 1000 times faster. (Which calculates out to still be pretty minuscule at these network speeds, but what the hey.)
My first blush response was to blame “Sixty Inches of Fat Ass” for all of this. This is exactly like one would see from a overly designed big, fat, piece of shit this card existed as - blame the real originator of the P.O.S. when you get a chance. Then I started to blame his parents for birthing him but I then forgave his mother for having to pass his fat head through her birth canal. Anyways, when my emotions had come back to earth and stabilized, I began to ask “Dickless” some probing questions: did the whole thing freeze up or was it just a singular bad packet? (Bad packet.) Was the failing port random or particular? (Random.) Was the data actually bad? (Seemed to be.) etc., etc., etc...
I then went to the existing users of the 40-50 or so prototypes out there at the time. They essentially reported nothing unusual in the behavior — no lost packets as far as they were could tell. (At the rate of one packet per port per week, who would know?)
I told “Dickless” I wasn’t overly concerned, mostly because of my 80 “plus” hour work week left me largely unable to move this little bitty problem to the front burner. There were a couple reasons for my apathy, but he best way to state it was one lost transmit packet per week was still a meaningless statistic, as LAN technology such as Ethernet expected to loose packets for any number of reasons, and when it did, recovery was automatic built in to the protocol. When I went to the the other engineers who were using this card full-time and everyday, nobody could recollect it ever failing once, much less once a week or so.
In the end, I told the little "Dickless" his investigation into this rarely occurring error would have to wait a while unless the problem suddenly grew much bigger or I could find some more time to investigate it. I made all this clear to “Dickless”, but for some reason he stayed stupid and panicky at this news.
Shortly about or during this time “Sixty Inches of Fat Ass”, otherwise known as the “Director of Engineering” came to me about being the his new, first level manager. Seems as if old “Sixty Inches” was having problems securing one (he needed just the one...) report for himself and was trying to get any one he could. I said no way on account of me doing 80 hours per week (yes — 80 hours per week, you fat ass) unless he allowed me to dump my workload on the next poor slob, for which he declined. Ok I said, good luck. Later,
I found out he had given the job to our wonderful, drifting and annoying engineer “Baby Cakes”, who was basically doing nothing at the time. (But that didn’t stop him from offering his services with Gigabit Ethernet — he wanted to squish me from existence that first day they declared the 100Mbit to be the next Ethernet in the collection.)
The biggest problem with "Baby Cakes" was he was also extremely anal retentive : I repeat— EXTREMELY ANAL RETENTIVE. I asked “Sixty Inches of Fat Ass” why he had chosen him to be his sole report and his response was "no one else would take the job" so what choice did he have? Geeez, great reason ain’t it?
I found out he had given the job to our wonderful, drifting and annoying engineer “Baby Cakes”, who was basically doing nothing at the time. (But that didn’t stop him from offering his services with Gigabit Ethernet — he wanted to squish me from existence that first day they declared the 100Mbit to be the next Ethernet in the collection.)
The biggest problem with "Baby Cakes" was he was also extremely anal retentive : I repeat— EXTREMELY ANAL RETENTIVE. I asked “Sixty Inches of Fat Ass” why he had chosen him to be his sole report and his response was "no one else would take the job" so what choice did he have? Geeez, great reason ain’t it?
I'd also like to note that during a HW meeting, I suggested that we do a little work on EMI certification. “Sixty Inches of Fat Ass” couldn’t agree more — and dumped the whole entire work load on me. Shortly after that I went on a trip to Taylor Falls, Minnesota where all of this approval went down.
On that particular trip (at night and all night) I found something wrong with each of the three cards I was testing, including my “Sixty Inches of Fat Ass Bag of Shit Card”. The first one had a fiber optics connector, which had a long, thin opening along the connector’s edge. Fixed that with some copper tape.
Then there was a bulk header-type connector where nobody had anchored the metal shielding of the cable assembly with the metal shell of the connector casing. Fixed that with some effort but got it in there.
And finally, the 8-port Ethernet card had a problem with the 5th harmonic of the singular 25Mhz reference signal that ran to all the Phys. Fixed that with a small change to the 25Mhz termination circuit and made it more sinusoidal — something to worry about just in case this was causing some of the packet loss I was supposedly experiencing.
When I got back, I told “Sixty Inches of Fat Ass” that I had some trouble but got everything through, for which he cried “Woo-Hoo!” and began dancing a humiliating, fat man’s jig. It was incredibly insulting (and stupid looking.) Clearly, this pig really didn’t believe in EMI certification, don’t you think? Remember, he was the one that decided to not do a complete job on the Utility Card and to stupidly buy a PC instead.
On that particular trip (at night and all night) I found something wrong with each of the three cards I was testing, including my “Sixty Inches of Fat Ass Bag of Shit Card”. The first one had a fiber optics connector, which had a long, thin opening along the connector’s edge. Fixed that with some copper tape.
Then there was a bulk header-type connector where nobody had anchored the metal shielding of the cable assembly with the metal shell of the connector casing. Fixed that with some effort but got it in there.
And finally, the 8-port Ethernet card had a problem with the 5th harmonic of the singular 25Mhz reference signal that ran to all the Phys. Fixed that with a small change to the 25Mhz termination circuit and made it more sinusoidal — something to worry about just in case this was causing some of the packet loss I was supposedly experiencing.
When I got back, I told “Sixty Inches of Fat Ass” that I had some trouble but got everything through, for which he cried “Woo-Hoo!” and began dancing a humiliating, fat man’s jig. It was incredibly insulting (and stupid looking.) Clearly, this pig really didn’t believe in EMI certification, don’t you think? Remember, he was the one that decided to not do a complete job on the Utility Card and to stupidly buy a PC instead.
Anyhoo, when I got back, I put all these changes in the system. I had the Test Engineer run the newly revised version of the Ethernet card and asked if it failed more than before. He said it failed at the same rate as before, indicating the change did not make it worse. Relived, I moved the change in permanently and let it go.
Things finally settled down after all that. My work week fell to 50 hours or so as I began to relax. (I had made it! I had made it! I HAD MADE IT! ) Even the threat of the microprocessors not being enough to handle all the data processing seemed unnecessary as I felt I owed “Sixty Inches of Fat Ass” a deep and heartfelt apology for doubting his judgment. But then, as you know, these good things couldn’t last, as “Granite Head” called an all hands meeting....
We all attend the meeting. “Granite Head” comes in with a boom box and plastic bag with a set of small plastic dinosaurs you get as an impulse buy at the cereal isle of the grocery store and sets it all down. He hits play on the boom box and the sound track of the movie “Twister” (still new at the time) plays and its the sound of a tornado. “This is who we are to the whole world!” he yells in our ears. (What? We’re a bag of spinning wind?) He then turns off the boom box and picks up the bag of plastic dinosaurs, rips it open and throws dinosaurs at the programmers in the room. “Don’t you know you’re supposed to have fun when you program?”, he yells, continuing to throw dinosaurs at the the crowd. (Everyone knows in technology that the best way to motivate and inspire a programmer is to throw plastic dinosaurs at them — the bigger the better!)
After a while he quits channeling Bill Gates from his “free pizza and Coke” era and he calms down, but just a bit. He tells the programmers and everyone else in the room they aren’t working hard enough for their stock options.
And then he gets his shot in about my card, the “Sixty Inches of Fat Ass Bag of Shit Card”; he says there is a problem with it as he calls out specifically “Sixty Inches of Fat Ass” to blame it on. (What was wrong? Didn’t say, but hinted to the 4-port Ethernet with switching was the correct card to do…which meant the 8-port was too slow as “Granite Head” clearly now understood how Ethernet Switching/Bridging worked.)
In retaliation, “Sixty Inches of Fat Ass” then tries to blame me for the boards poor performance but “Granite Head” doesn’t have any of it; “Sixty Inches of Fat Ass” gets all the blame this time for not recommending what was originally recommended by me and what “Granite Head” really, really wanted and needed. Finally, what this idiot manager and his stupid asshole VP deserved -- all the blame.
After a while he quits channeling Bill Gates from his “free pizza and Coke” era and he calms down, but just a bit. He tells the programmers and everyone else in the room they aren’t working hard enough for their stock options.
And then he gets his shot in about my card, the “Sixty Inches of Fat Ass Bag of Shit Card”; he says there is a problem with it as he calls out specifically “Sixty Inches of Fat Ass” to blame it on. (What was wrong? Didn’t say, but hinted to the 4-port Ethernet with switching was the correct card to do…which meant the 8-port was too slow as “Granite Head” clearly now understood how Ethernet Switching/Bridging worked.)
In retaliation, “Sixty Inches of Fat Ass” then tries to blame me for the boards poor performance but “Granite Head” doesn’t have any of it; “Sixty Inches of Fat Ass” gets all the blame this time for not recommending what was originally recommended by me and what “Granite Head” really, really wanted and needed. Finally, what this idiot manager and his stupid asshole VP deserved -- all the blame.
After hearing the rest of “Granite Heads” other speeches, it became clear he was expecting a mass exodus of people. About 1/3 of the technical workforce was doing mondo overtime and the rest was doing “meh…” work. (I’m guessing he’s getting some of his information from the email network — he clearly loved to abuse that thing.) It was certain to him a portion of engineers was willing to forgo the bullshit and just leave. “Granite Head” really, really lived up to his reputation of being a brand new, dumb fucking, manager.
(It should be noted that the performance problem wasn't necessarily hardware's; software had a stake in the performance game too. The problem is best described as a systemic one where this software combined with this hardware caused the card to under perform. Why did hardware get all the blame then? Because I had anticipated the 8-port was probably too slow no matter how well the code was written, even though I never confirmed this when it actually happened and created a box canyon for myself...stupid, stupid engineer I was. And my managers? They were even dumber.)
Afterward, I went back to my lonely cube and took my seat. As soon as I was comfortable I heard a voice in my ear, coming up from directly behind me: “You only have two weeks to do the 4-port board with packet switching on it and get it into PCB layout!” (It really was an impossible feat, but try telling that to a spurned and wounded “Sixty Inches of Fat Ass” who left my cube faster than the Road Runner.) Naturally, when I turned around nobody was there, so I couldn't confront him. (I didn’t think anyone that Fat-Assed could move that fast.)
Too bad he left that quickly. I wanted to tell them I was going on a long vacation soon and would be seeking out medical advice and undergoing treatment focusing around my eyes. I wanted to tell the big dumb ass that the 4-port would take some time and I never said how much time exactly only that it would take a couple of months just to scope out a plan that would cover the problem completely and that would function. I wanted to tell him the board was his problem and his problem to solve — I was going to be gone for a while and I deserved that time off after the awful winter of massive OT and strife I had just put in.
Then, I slowed down and I gave it some thought. I came to the conclusion that this problem was bigger than the two of us and I owed the 1/3 of us engineers that were working our asses off on “Granite Heads” idiotically aggressive business venture (with stock options) and find a solution, or at least I should try. It had been six months since I last looked at what was out there and maybe it was time I tried again. Fuck you anyways “Sixty Inches of Fat Ass”. I called this new card the “Sixty Inches of Fat Ass Board of Redemption Card”.
Too bad he left that quickly. I wanted to tell them I was going on a long vacation soon and would be seeking out medical advice and undergoing treatment focusing around my eyes. I wanted to tell the big dumb ass that the 4-port would take some time and I never said how much time exactly only that it would take a couple of months just to scope out a plan that would cover the problem completely and that would function. I wanted to tell him the board was his problem and his problem to solve — I was going to be gone for a while and I deserved that time off after the awful winter of massive OT and strife I had just put in.
Then, I slowed down and I gave it some thought. I came to the conclusion that this problem was bigger than the two of us and I owed the 1/3 of us engineers that were working our asses off on “Granite Heads” idiotically aggressive business venture (with stock options) and find a solution, or at least I should try. It had been six months since I last looked at what was out there and maybe it was time I tried again. Fuck you anyways “Sixty Inches of Fat Ass”. I called this new card the “Sixty Inches of Fat Ass Board of Redemption Card”.
During the next few days after “Sixty Inches of Fat Ass” wanted this 4-port board a month earlier, we had a meeting on how to do just that. I don’t remember who was there to be honest with you, but when I asked what exactly was wrong with the 8-port, nobody would say anything, much less anything specific. Then someone managerially just said “do the 4-port board” and that was it. No explanation on what was wrong with the 8-port, or why the 4-port with switching logic was needed. That’s the kind of company they were — bold, daring and insanely stupid; leadership blasting out commands and wishes at every opportunity. And they had me designing a solution in two weeks and with no suitable explanation to justify it. Pure genius at work.
To do this card, I would have to skip doing a complete switching circuit and just do the bare minimum, say, just the packet filtering would cover 85% of what it needed to do and theoretically, increase its performance numbers. (Just going to 4-ports from eight would increase performance.)
Over the next couple of days I look and look and call in old favors and can’t seem to find anything. What I’m looking for is a part or parts with the ability to operate at 125 MHz, isolate a packet from the data stream, isolate the 48-bit destination address within the packet, compare it against an internal list of multiple destination addresses, and raise a flag for yes or no depending on what it finds. Then a vendor points me to something from another high speed (at the time) LAN called FDDI. It works at 125 MHz, looks for the 48-bit MAC address in a FDDI frame, and raises a flag if it finds it in the list. Best part of this is the destination address list for this device is a high speed CAM (Content Addressable Memory) that can be addressed by either the serial input packet mechanism working directly off the input data stream, or straight from the generic microprocessor interface; either way its significant and either access route to the CAM would be useful for this intended purpose.
Over the next couple of days I look and look and call in old favors and can’t seem to find anything. What I’m looking for is a part or parts with the ability to operate at 125 MHz, isolate a packet from the data stream, isolate the 48-bit destination address within the packet, compare it against an internal list of multiple destination addresses, and raise a flag for yes or no depending on what it finds. Then a vendor points me to something from another high speed (at the time) LAN called FDDI. It works at 125 MHz, looks for the 48-bit MAC address in a FDDI frame, and raises a flag if it finds it in the list. Best part of this is the destination address list for this device is a high speed CAM (Content Addressable Memory) that can be addressed by either the serial input packet mechanism working directly off the input data stream, or straight from the generic microprocessor interface; either way its significant and either access route to the CAM would be useful for this intended purpose.
Now I’m back to me 80+ hour week and super miserable again. It takes a couple days to get the design in and schematics changed and then a couple more days for the design review. Big applause from the mostly (but fairly, not all) garden of nit wits that was the HW group. I’m really beginning to find this place as warm and cozy as an overflowing toilet at summer camp all over again.
A couple of weeks later, when the newish, nitwit manager with five weeks of management experience and who now owns the job because he was the last choice on the list and after I rejected the offer, called me into his office. I really didn’t care much about what he had to say because I was working with 11 years experience, a dozen or so product designs plus another dozen or so assists, (the latest one being in “hurry up mode”), and an 80 hour or so work week, so I thought, hmmm…can’t be anything really important to me; I didn’t believe “Sixty Inches of Fat Ass” or “Granite Head” would allow me to become distracted by anything at this crucial point in the design cycle and the whole design process.
Oh was I wrong — so, so wrong.
“Baby Cakes” was wielding his massive baby ego for me — a little taste of what he could do it seems. But despite all this, he was a little nervous, probably why he talked non-stop once he started.
He first relayed a message from “Sixty Inches of Fat Ass” for my entertainment. He wanted me to find the missing data — you know, that one lost packet per port per week on a network where you could just shrug it off and simply redo it? And he wanted it done IMMEDIATELY. Check every bit that goes into the Phy and every bit out, and when you find the error...well...DO SOMETHING!
(I’m sure “Dickless” was overstating the problem when he whined to “Sixty Inches of Fat Ass” and said “…the device is failing with errors on its loop back test.” and left it at that. I’m positive stating the problem that way really got his useless old fat ass out of the chair and screaming bloody murder...after all, he technically was an idiot and didn't know how to ask intelligent questions to save his life.)
He then moves from one topic to another without stopping or asking for input, and I’m guessing these new topics were of his own invention and I believe at this point he is going well beyond what “Sixty Inches of Fat Ass” had asked him to do. He explains to me the problem with the common 25 MHz reference clock and the termination I had associated with it: Bad, bad, bad. Remove it immediately! See how bad that signal is when done in a simulation? (He shows me some simulations…meh…) You have to assume this is causing at least one bad packet per week per port! Remove immediately! Again, I’m given no time or opportunity to tell him the problem is not coming from the reference clock and the termination isn’t the problem, plus it needed to pass EMI certification, but that’s an asshole on a single minded mission for you.
“Baby Cakes”, it turns out, is just warming up. He continues by telling me to get a technical note book for each of my designs and to enter in it on a daily basis all the things I’ve done to that class of board, and then I have to find a “special” place on my bookshelf for all eternity so “Baby Cakes” can see what I’m doing whenever he wants. This is especially irritating as I have two volumes filled with everything from the (not quite) 108 or so cards already going up in my cube bookshelf as he blathers away.
This next part is the part that infuriated me beyond anything I have ever felt — before or since — when it came to talking to the boss. If he had stopped just before this point I would have complied (not easily, but I would have complied and/or explained myself), but he didn’t. He instructs me that until the end of time, I will be held responsible (to HIM) about all the major decisions I make on either the new card or the old one — I am essentially being told that I now literally have the requirement to clear all major design changes and decisions with him from now on. (What are major vs. minor changes anyways? Does the little shit know he’s basically turning me into do-as-I-say technician? Didn't the little creep understand what design reviews were for?) At about this point my heart is beating so loud in my ears that I can’t hear him anymore...I am so angry that I look to the heavens for answers, and I see the false ceiling in his room, and I think “if I kill this little shit and hide him in the ceiling, it would take at least two weeks before anyone would come looking for him!” Or at least that long before he started to smell and somebody would come and investigate. But he keeps talking, and all I can hear is the droning tenor voice of the Anal Avenger as he continues to channel Adolph Hitler.
As he moves on to his latest topic — debriefing him on a daily basis I believe, but not sure — I finally speak up. At this moment I am hit with everything I’ve done so far for this idiot company and the idiots that run it. All the unnecessary overtime, driving at night with the risking of life and limb to everyone who was stupid enough to join me on the road that particular night. The 80 or more Ethernet cards and their inability to not perform up to expectations or doing the “Sixty Inches of Fat Ass Card of Redemption” done in less time than it takes to wipe your ass, the gobs of overtime and my smelly house with no fresh, clean clothes or bedding or towels in it, the stack of bills unpaid, the expired shit in the fridge, not to mention the trashed personal life. I don’t understand why he is doing all this to me but I didn’t care anymore. I bang my fists on his desk and kick it at the same time and I tell him to stay away from me and away from my projects. That’s all I could utter. And then I leave. I am so angry I could have easily killed the little shit.
After the “discussion” with “Baby Cakes” I went straight to my computer and sent an email message out to my friend at another company. This was probably the catalyzing move, the one that got “Granite Heads” attention, which I wanted it to do. In it, I asked him if they were having any job openings at his company and if they might be interested in a little old me to come work for them. I knew “Granite Head” was reading our emails and I knew he wouldn’t miss this one, especially after telling “Baby Cakes” to "fuck off". This was my way of letting upper management know I wasn’t going to take this bullshit anymore.
Later that day the “Sixty Inches of Fat Ass Boards of Redemption” boards come in. I was wondering where they got all the new components I could never get. I look at the date codes. These are the same date codes as the ones in my current offering of cards (that had them of course), meaning they were probably all shipped together and arrived here at the same time. Fucking manufacturing engineer was holding back on the engineering samples and making me suffer with lab scraps and used parts, or simply doing without, mostly so he had enough when called on to begin making them for the customers. This is much more than I can take all at once; this is a really, really bad day and its time to decide to go home early for once, open a bottle of scotch, and to start fresh tomorrow.
The next day I arrive at work ready to debug the new card and whatever else needed to be done on the old card. As soon as got in I saw group of people around my cube. One of the engineers who just started working there tells me “condolences” and shakes my hand. The human resource lady is also standing there and she tells me I have been fired, for sedition, I think and tells me I have to come in for an exit interview tomorrow. Come in tomorrow after being fired? No damn way, lady. She then tempts me back with the promise that she’ll list my exit from the company as a resignation rather than a termination, but only if I come back the next day. Really? Really. Ok then.
As she leaves, “Baby Cakes” is there handing me boxes to put my stuff in. He looks at me with a stupid expression and says in a pouty, baby way “They made me fire you first and then they said I was demoted.” He was actually disappointed in that things had gone that far, especially the part about him getting demoted. (And he really, really, wanted me to feel sorry for him and his demotion…what a big crock of shit.) I don’t know if he really wanted to fire me as such and deal with the situation personally, or if he regrets bringing it to the attention of his superiors. (Of course, I think he was lying about what all he said to me, giving his superiors a more ‘sublimer’ version of what we discussed.) What was clear was the way they told him to “fire” me. This firing was clearly the work of “Granite Head” and his insensible and stupid way to manage people; he was an idiot child who never belonged in the position in the first place, especially not under the incredible circumstances of making an aggressive schedule he had created for others to actually do.
As she leaves, “Baby Cakes” is there handing me boxes to put my stuff in. He looks at me with a stupid expression and says in a pouty, baby way “They made me fire you first and then they said I was demoted.” He was actually disappointed in that things had gone that far, especially the part about him getting demoted. (And he really, really, wanted me to feel sorry for him and his demotion…what a big crock of shit.) I don’t know if he really wanted to fire me as such and deal with the situation personally, or if he regrets bringing it to the attention of his superiors. (Of course, I think he was lying about what all he said to me, giving his superiors a more ‘sublimer’ version of what we discussed.) What was clear was the way they told him to “fire” me. This firing was clearly the work of “Granite Head” and his insensible and stupid way to manage people; he was an idiot child who never belonged in the position in the first place, especially not under the incredible circumstances of making an aggressive schedule he had created for others to actually do.
This “firing” was probably a case of “scapegoating” and if you looked closely the evidence pretty much supported the argument for it. In the beginning, when Ascend first entered into the equation, “Granite Head” stole (and I mean he really “stole”) the Engineering VP job from the old VP simply because he could, and with the help of “Sixty Inches of Fat Ass”, (another endearing screw-up), made the decision to assign all of my time and efforts to doing the underpowered, high-port count version of the Ethernet card despite my recommendation that that wasn’t the way to go.
When it became obvious to “Granite Head” and his customers that the Ethernet wouldn’t live up to “Granite Heads” high praise, he was terribly embarrassed and may have even seen his job threatened, so he needed a sucker and a patsy— someone he could blame for its inability to perform as he had promised and to save his ugly face and probably his ugly job too. That person was naturally me — the designer. With the new card (and potential solution to all his HW problems) already in the company’s possession that same day and enough other HW idiots around to debug it, he thought my incidental scrap on meaningless stuff with “Baby Cakes” was a great opportunity for him to dump all that blame on me, especially if he believed I was going to quit and fly off to another job any time soon.
But I guess he had a bit of a soft spot for me as he wanted to know for sure if I really was intent on quitting my wonderful 80+ hour a week shit-job or not (or maybe he is just trying to prove he was doing everything by the book…I don’t know). So he asks his HR dick to call me in on a exit interview specifically to ask me that one question: was I going to make good on my threat to leave or was it all just that — a threat? To get me to the interview she even agrees to officially report the incident as me actually resigning rather than being terminated, but only if I agreed to come in that next day and do the interview.
When I agreed to her plan and came in the next day, she finally gets to ask the one and only question she wanted: Was I going to really quit? Initially I want to say “NO”, but I catch myself at the last second and say “YES” instead because it means I’ll never have to spend another all-nighter ever again in that god-awful shit hole and that’s worth getting fired from or quitting or resigning or terminated or whatever. (Had I said “NO”, I’m not sure what his next move was, but since that never happened, it’s all conjecture now.) Meanwhile, before “Baby Cakes” could do anymore damage, they demoted him. (That must have looked great to all the other engineers; fire me as a viscous, dangerous, slob and then demote the manager I was accused of offending while being a viscous, dangerous, slob — brilliant — and it makes perfect sense too!)
When “Granite Head” heard of my decision to quit he must have been beside himself with joy and glee: he had his scapegoat and blamed all the failing Ethernet performance problems on me instead of himself and “Sixty Inches of Fat Ass” where it actually belonged, PLUS he had his new card with all the proper filtering logic on it all ready to be debugged and almost ready for customer approval — it must have felt like the luckiest dumb ass on the planet.
When it became obvious to “Granite Head” and his customers that the Ethernet wouldn’t live up to “Granite Heads” high praise, he was terribly embarrassed and may have even seen his job threatened, so he needed a sucker and a patsy— someone he could blame for its inability to perform as he had promised and to save his ugly face and probably his ugly job too. That person was naturally me — the designer. With the new card (and potential solution to all his HW problems) already in the company’s possession that same day and enough other HW idiots around to debug it, he thought my incidental scrap on meaningless stuff with “Baby Cakes” was a great opportunity for him to dump all that blame on me, especially if he believed I was going to quit and fly off to another job any time soon.
But I guess he had a bit of a soft spot for me as he wanted to know for sure if I really was intent on quitting my wonderful 80+ hour a week shit-job or not (or maybe he is just trying to prove he was doing everything by the book…I don’t know). So he asks his HR dick to call me in on a exit interview specifically to ask me that one question: was I going to make good on my threat to leave or was it all just that — a threat? To get me to the interview she even agrees to officially report the incident as me actually resigning rather than being terminated, but only if I agreed to come in that next day and do the interview.
When I agreed to her plan and came in the next day, she finally gets to ask the one and only question she wanted: Was I going to really quit? Initially I want to say “NO”, but I catch myself at the last second and say “YES” instead because it means I’ll never have to spend another all-nighter ever again in that god-awful shit hole and that’s worth getting fired from or quitting or resigning or terminated or whatever. (Had I said “NO”, I’m not sure what his next move was, but since that never happened, it’s all conjecture now.) Meanwhile, before “Baby Cakes” could do anymore damage, they demoted him. (That must have looked great to all the other engineers; fire me as a viscous, dangerous, slob and then demote the manager I was accused of offending while being a viscous, dangerous, slob — brilliant — and it makes perfect sense too!)
When “Granite Head” heard of my decision to quit he must have been beside himself with joy and glee: he had his scapegoat and blamed all the failing Ethernet performance problems on me instead of himself and “Sixty Inches of Fat Ass” where it actually belonged, PLUS he had his new card with all the proper filtering logic on it all ready to be debugged and almost ready for customer approval — it must have felt like the luckiest dumb ass on the planet.
However, things with the "Sixty Inches of Fat Ass Card of Redemption" didn’t go “Granite Heads” way, mostly due to his premature dismissal of myself. Unfortunately (or if you are me, “fortunately”), “Brainless Brian”, or whomever was assigned the next manager role, gave it to an idiot engineer who didn’t know the first thing about Ethernet or Ethernet LAN protocols and how packet address filtering logic like this was actually supposed to work. The idiot engineer tried to debug it by approaching it from the auto-magic method of packet filtering which extracted the destination address from the packet stream and then compared it to the contents of the internal CAM list using custom designed HW and completely ignored the much easier, direct CAM read method by going directly through the microprocessor I/F. When the application engineers from the various other companies, (and pretty much right from the beginning), refused to help him in “fixing” this Ethernet/FDDI hybrid, he simply gave up and called the card “un-debuggable”. He was a dumb fuck. This information did receive a thumbs up from me as I heard much later from my buddy Tom that “Granite Head” was denied use of this card he counted on so strongly to be the answer to all his HW woes, though he simply blamed the problems with that one on me too.
(And in any case, I still deserved a mulligan, even though I don’t believe I needed one. After all, this was a card done with a bare minimum of time and help, assumed some inevitable risks because of it, and was needed immediately to compensate for the miscalculations of both shit-for-brains managers “Sixty Inches of Fat Ass” and “Granite Head” — there were no guarantees it would work or work well. But when you are treacherous piece of ambitious shit like “Granite Head” however — scared and greedy — you always take what helps your situation and its “screw you” to the other guy. This is, unfortunately, the “law” in most cooperate politics and corporate hierarchy.)
Personally, I pretty much knew what the son-of-a-bitch was up to but I didn’t want to fight it; your just not fighting for anything good anymore and the company was exactly as I first suspected — run by idiots and staffed with many an engineering moron. The part, however, that would catch-up and ruin me is the way he presented me to the remaining (predominantly stupid) engineers and to the world as a whole as he labeled me a full-on crook and bad-boy — all bullshit, but when I wasn’t there to protect my name and then management decides to write your story, it’s usually going to be designed to favor their ass, not yours. I didn’t think this would matter but I forgot what other shit-for-brains managers there were in the real world, and I would find out the hard way just how well connected everything and everybody really was.
No comments:
Post a Comment