I’ve been a software developer for over 30 years. In that time, I’ve met some good bosses, I’ve met some bad bosses. This is a story about one of them. My intent is to make this a series, sort of a “Boss-Stream of Consciousness” if you will. I’ll talk about the ones I’ve liked and the ones I’ve loathed and some of the ones in between. Names and places may or may not be changed, depending on the passage of time, my feelings about said boss and frankly, my mood.
Canadian educator Laurence J. Peter defined a management concept called The Peter Principle which basically says “ In a hierarchy every employee tends to rise to his level of incompetence.” This was my boss Raj.
When I came to 4D Enterprises, my orientation told me how Raj single-handedly built all of the software upon which the company was built. I was informed that Raj was not only the author of book on technology that nobody used anymore with reviews lavishing praise like “slapdash” and “some value” but also wrote many articles on a website notorious for blinding its readers. I was pumped!
After showing me to my office and moving the source code from his hard drive to a hastily deployed TFS server, Raj shared with me the cardinal rule of software development. I’m guessing that he considered this the secret of his success and the foundation upon which all good software was written, given the importance he placed on this mission-critical software. That software is…
Bad dev, bad dev! Whatcha gonna do?
I was informed that under no circumstance was I to deviate from StyleCop. StyleCop is Mother, StyleCop is Father. We live for the StyleCop. We die for the StyleCop. I initially doubted his devotion to StyleCop, to my detriment. Making everything conform to StyleCop was my first responsibility. That was his command. So I spent literally weeks conforming every line of code of every package he’d committed to TFS with StyleCop. He even went overseas while I was diligently beating his code into submission. He returned and bestowed on me the the glorious commendation, “You didn’t do anything.”
I’m sure it was my fault. I should have known to do what he wanted in the future rather than what he was telling me in the present. He was the great Raj and I was the pleb. Surely he knew best. Even if he didn’t, he was the boss. But undoubtedly he did. I knew the author of any book that “has some value” could not steer me wrong!
I was then given actual tasks to complete. I would write what was expected making sure to pay homage and obeisance to the many-horned god of StyleCop. I became intimately familiar with the following:
It’s a good thing that StyleCop is all I had to use, right? Right? Wrong! I also had,
That’s right, Boy and Girls! When my code got the A-OK from StyleCop, Code Analysis had it’s way! Every. Single. Rule. And if they conflicted with StyleCop…well, StyleCop is holy, remember?
Thanks to this unholy union of StyleCop and Code Analysis, I had to write code that couldn’t use the latest features of C# and/or .Net because rules hadn’t been written for them yet. I tried discussing these with Raj, but was met with a response similar to telling the Pope that Jesus was a girl. It was sacrilege and it was not to be spoken again. I suggested setting “company standards” which was what Microsoft actually suggested. He looked at me like I wanted to create my own programming language. (In retrospect, it would have been faster and I wouldn’t have StyleCop to deal with)
It was about this time that we “loaded up the truck and moved to Beverly…” or about 2 miles away in this case. As I was the only software engineer in the company who didn’t have a title like “Grand Architect and High Puba” Raj was very excited to tell me about the working space that he’d designed for me and the other 7 developers. You know, that he was going to hire. Someday. In the Future. Even though it had been pretty much him and up to one other for the last 12 years. Furthermore, we had the whole end of the building that would be just ours. And by ours, I mean mine.
When the time came, you can imagine how eager I was to get away from my stuffy office and it’s annoying door that kept me from enjoying the passing conversations of my coworkers. I mean, who would want and office like this…
When you can have THIS…
But at least Raj would be there as well and I could bask in his wisdom. Oh wait. He still got to have an office. I was the only one in this wonderful new space of which he was so proud.
There will be post-its
It was then that development really kicked in. There was a workflow that took shape and went something like this. I would complete the task and check it in to TFS when I went home. The next day or the day after we would have the same conversation:
Me: Why did you change the code after I checked it in? It was working when I left. Was there something I missed or was there a new requirement?
Raj: You did it wrong.
Me: It works fine, it passes StyleCop and Code Analysis. It's tight, follows best practices and meets every requirement.
Raj: That's not how you should do it. You should do it like me.
As I alluded to above, this was not a single conversation. I’m not exaggerating when I say that he would change my code every single time I checked it in. But he was the boss and I do what I’m told. Even if he pretends that he didn’t tell me later (which is why I kept notes).
Raj was the boss, as I said. And because he was the “Grand High Puba and Architect” the existence and future of the entire company rested squarely on his shoulders. So let me introduce to you his project management style:
I’m not exaggerating in the least. There are only 3 differences between the above picture and Raj’s project management.
One time when I completed all the tasks I had I went to his office and tried to discuss my frustrations. I told him that I was having difficulty seeing how the parts I’m writing fit into the whole. I said that I would understand things better if I knew the architectural direction and knew what my upcoming tasks were expected to be. Raj said, “If you have a question or want to know something just ask.” I asked if there was a roadmap I could take a look at or some kind of master task list. He said, “Just do the tasks I give you,” and pulled one of the tiny post it notes off the wall, gave me a 2 minute explanation of what I should do and sent me on my way.
The next 3 or 4 times I needed more work, I sent an email hoping he would just reply back with instructions or hopefully attach some kind of document or email where this was planned. Without fail Raj would reply telling me to come to his office and he would give me another post it and a 2 minute verbal explanation.
…And I feel fine.
It was around that time that I started putting out feelers for another job. This wasn’t working for me and the stress was taking its toll.
I wasn’t terribly surprised when one day at 5:00 I got called into Raj’s office and the owner let me go. There’s was a small attempt to discuss what they felt went wrong but when Raj said, “you didn’t do anything when I went overseas. You didn’t do anything at all. What were you doing?” I just stared at him dumbfounded. I wanted to stand up and scream at him, “I did what you told me to do! I kept notes! So stop saying I didn’t! It’s not my fault that the only notes you keep are the ones that you stick on a wall.” But of course, I didn’t.
It wouldn’t have done any good to show them my notes, I know that. Businesses will always defend their managers. It’s the way things are. And notes can certainly be forged or just contain false information. I’m not a fighter. I don’t care for conflict and honestly, I don’t want to work for someone who doesn’t want me. Moreover, I don’t want to work for someone who is either dishonest enough to lie or incompetent enough to not even realize what tasks were given or to see your own shortcomings.
It wasn’t the end of the world as I knew it and I felt fine.
Getting fired is an undignified process in the best of situations. Incompetent technical people can only make it worse. When I was let go, I naturally needed to take my stuff with me. Since my “desk” was located at the opposite end of the building from the main doors, I parked by one of the side doors that day, like I always did along with Raj. In the time I signed my exit-interview form (I don’t go stomping out usually) and took the first of two boxes to my car, Fuller, the aforementioned incompetent tech, already locked me out of the building. This was 5:05 in the afternoon and there were literally 4 people left in the building. If he was concerned about security, why didn’t he just follow me around and watch me like anyone else would for a terminated employee? And if he was so concerned why did he let me take my stuff unattended so he could lock me out? There was literally nothing preventing me from throwing hardware in a box and walking it out before he’d locked the door.
So I was forced to bang on the door with my ring for about 4 minutes until he happened to hear me. All the other doors would be locked too so there was no sense in walking around front. Eventually Fuller came and opened the door. I asked him, “Why couldn’t you wait just 2 minutes till I got the rest of my stuff?” he just looked and me and grunted something and gave a half shrug. I expected the next word out of his mouth to be “Hodor” but he just walked off. I got the rest of my stuff (alone) and then walked through the building to my car (again, alone). As I said, incompetent. And this isn’t the only reason why.
There’s one more little postscript to this story. About 3 weeks later I got a call from the local police department. It was a detective. His tone was oddly sympathetic, sighing a lot as he told me what happened and asked his questions.
Mr. Estep, I hate to bother you *sigh* but I have to ask you some questions. I apologize. A few nights ago on [date], 4D Enterprises was broken into and some computer equipment was taken. *sigh* And your name was given as a possible suspect.
I wasn’t sure whether to be shocked, amused or angry. It turns out that I was all 3. I was shocked because one of the things they bragged about when they moved into this mostly empty building was the security system they had put in. They told us it had everything, perimeter sensors, motion detectors and even cameras around the exterior.
I was amused because I knew Fuller’s inflated opinion of himself. He acted like he was a wizard at hardware and the original BOFH. Simply put, he was arrogant. And if they were blaming me, it meant that the security system didn’t quite work out as advertised.
I was angry because in my whole life, I’d never had the police accuse me of stealing. And it was an indignity I had to suffer because of (at least) one man’s incompetence. In retrospect, I had to wonder who was watching the watchman?
I denied even having been in that part of town since I was let go and then I asked the police why 4D Enterprises were trying to blame me and did he look at the security video.
*sigh* Well, either it wasn’t working or it doesn’t exist. I asked and they just said “there is no video.” I’m sorry to bother you.
I gave them 60 hours a week and more. I did everything I was asked and received nothing but derision and lies from Raj. Ok, I got paid too. There is that. And I learned what the Peter Principle truly is.
Some pages turned, some bridges burned, but there were lessons learned
Something I’ve always tried to do following a job (I do a lot of contracts) is a post-mortem, the same thing you do following business ventures, software projects and death. I like to list out what I’ve learned.
The names of the company and individuals have been changed in whole, in part or not all. The names aren’t important. They are tangential to the story and to my experience. While the names may or may not be changed, the experiences are real and each and every one happened as I have stated them.
If you want to figure out who this is, don’t. It’s really not that important. But if you do it anyway and you happen to be one of the people in this story, I don’t want to hear it. I wish you no ill but I’m also not going to debate history. It’s not about you. This blog is my catharsis. It’s putting down in black and white my experiences so I don’t have to think about it anymore.
The next post in this series will be about a great boss I had a long time ago who taught me a lot about IT and also about office politics.