Developer on my team QUIT/FIRED

Page 3 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Descartes

Lifer
Oct 10, 1999
13,968
2
0
Originally posted by: sygyzy
You seem like a pretty mature and competent person. AKA, an adult. Why didn't you just bring this up with your superiors earlier rather than hatch an elaborate plan to "oust" him. Are you programming for a real company? Is this .NET or .PLAYSCHOOL?

You can't so easily simplify the social dynamic of a group of people. It's not as easy as just bringing it up to superiors, even if you have good rapport with them. If the person is favored, bringing it up makes you look childish and jealous. If they're not, then it makes you look spiteful and perhaps immature. It's a bad situation all around, and it's precisely why the incompetents float around in organizations for years. People would rather move them to other areas than deal with the consequences.
 

torpid

Lifer
Sep 14, 2003
11,631
11
76
What's wrong with naming an object that manages other objects a manager? Or are you saying that it's just a sign and not itself wrong?
 

Descartes

Lifer
Oct 10, 1999
13,968
2
0
Originally posted by: miniMUNCH
Originally posted by: blackdogdeek
Originally posted by: xSauronx
a guy like that lasted a year?

yipes

it is very difficult to fire someone in big corporations.

Nigh impossible in some cases. If they are a minority... then it is even worse.

The company I worked for last (grad school now)... we used the "humiliation via demotion" tactic. Pay stayed the same but they gotet demoted in an orderly, documented fashion that, somehow, everyone knew about. 90+% people would leave inside two months because their ego couldn't bear it.

That's a popular method. I usually call it "being moved to small projects." For example:

Hey Descartes, where is Voltaire?
Oh, he's been moved to small projects.
Ouch.
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: mugs
Originally posted by: jbourne77
Mistakes

2. He made no effort to learn our in-house standards and methods. This guy would do insane ****** like passing entire controls as parameters. The best example of this is rather than passing datasets to move data around, he would instead pass the controls the data was bound to. WTF on so many levels.

I can think of cases where it makes sense to pass a control as a parameter, and I'm pretty sure I've done it before - but the specific case you gave is idiotic.

There are certainly cases when it makes sense (usually for formatting the control itself), but NEVER as a means of passing raw data.

3. In early efforts to "neutralize" him, I made him the install/upgrade bitch on the team. I no longer had him coding anything. Instead, he was to sit at his desk and upgrade our software at customer sites whenever someone requested. Our upgrade procedure consists of 3 steps: back up config, install, restore config. He ALWAYS forgot to back it up, so he would blow away our customers' configurations ALL THE TIME.

Sounds like the installation process could be improved. Still his fault, but it's better to remove the potential for human error like that.

We're in the processing of updating the installation process, but in the meantime, we've simplified it to a level that a monkey could do it. His carelessness was usually the result of him wanting to get out and get home at 5:00 (our upgrades have to be done EOB).

4. When asked "why the fvck did you blow away the customer's config?!", instead of fessing up he would lie. "Oh, VisualStudio must have cached this or that blah blah blah." Are you fvcking kidding me Corky? Is that the best you can do?

Unacceptable. I've made a few mistakes in the past, and when I do I admit it and tell my boss what I'm doing to make sure it doesn't happen in the future. Works very well.

Everyone makes them. But he wants people to think he's perfect. He also sees mistakes as an opportunity to promote himself and make someone else look bad.

7. He refused to work late. Once the clock hit 5:00, he was GONE NO MATTER WHAT. The irony of that is that the rest of us usually had to stay to try to recover from what he did between 8 and 5. My boss HATES "clock watchers", so this hurt him a LOT. I don't really hate clock watchers, but if you fvck something up, you're the one staying to fix it.

I HATE people like that. I've worked with those people before. Not many of them at my company. I rarely/never have to work more than 40 hours in a week, but I often work more than 8 hours in a day if I'm on a roll. I like my job - I enjoy doing it. I don't dread being at work. Hell I don't even mind doing a little bit of work on vacation - it just reminds my bosses of how valuable I am to them.

Ditto here. 9 times out of 10, if I'm working late, it's because HE FUBAR'd something.

8. His testing methods SUCKED. He would run his code through one ideal set of circumstances, and if it didn't explode in his face, he considered it complete and tested. This has actually been a major problem, because while his responsibilities in our projects have been extremely narrow in scope, he yields more bugs than the rest of my team combined. They're also catastrophic, how-the-fvck-did-you-miss-this bugs.

Do you not have dedicated testers? Or are you saying he released his code to the testers with too many bugs?

Both. Code that he releases to testers is usually marginally better, because his name is stamped directly on it. But if it's just a real quick running update (sometimes we're literally NOT PERMITTED to go through the testing cycle) going directly to the customer, he's very careless. Unfortunately, I don't have the time to double check all of his work. And frankly, there were times when I knowingly let him release bad code. It was necessary to get people's attention ;) .

Comments in bold ;)
 

Descartes

Lifer
Oct 10, 1999
13,968
2
0
Originally posted by: torpid
What's wrong with naming an object that manages other objects a manager? Or are you saying that it's just a sign and not itself wrong?

There's nothing inherently wrong with the name; rather, it tends to be this monolithic class that people use to mediate interaction between objects, objects that should have independent purposes and interact with each other in loose but consistent ways. They tend to have methods like Run(), DoWork() (being somewhat facetious with this one), and similar nonsense that they couldn't figure out where to put. It's completely antithetical to the philosophy of OO.

It's not a perfect example, and you can't apply a general rule to it. I have classes I've named manager before, but they don't manage other classes themselves. It's just for naming purposes.

Make sense?
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: sygyzy
You seem like a pretty mature and competent person. AKA, an adult. Why didn't you just bring this up with your superiors earlier rather than hatch an elaborate plan to "oust" him. Are you programming for a real company? Is this .NET or .PLAYSCHOOL?

Please don't assume. There were MANY times when I brought this up to my boss. Several times I suggested putting him on projects with less impact. Other times I suggested we "not hold the meeting at 5, because Tom likes to make sure he's gone by then". There were TONS of hints and pleas, but like I said, Tom was hired BY my boss... and my boss has a very hard time coming to grips with his flaws as a VP. Hiring has never been one of his strengths (myself excluded, of course).

Originally posted by: Phokus
Why are MBA guys applying for programming jobs?

Ironically, that was the first question out of my mouth when I saw his resume. That was the first red flag of many.
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: Descartes
Honestly, I think it's far worse, but I guess it depends on what you mean by adopted. I find people that make use of every OO "feature" possible, but they still don't have the slightest comprehension about how to be able to organize a solution in terms of OO; in other words, they're not thinking in OO. Evidence of this usually manifests itself in different ways, but some notables are: A lot of switch statements, objects with names like "Manager" or "Controller" (in that they literally manage or control other objects), fat objects that do far too much, lack of behavioral cohesion, etc. etc.

I like you. A lot.

:thumbsup:

[edit]

My biggest gripe is with many Visual Basic "lifers". I'm not saying a person sucks because they slung VB, but there seems to be a great number of people who install .NET, realize that the same "Hello World" app they wrote in VB 6 will compile in .NET, and ***BAM***: they're .Net developers!!! MAGIC!
 

Kaido

Elite Member & Kitchen Overlord
Feb 14, 2004
51,560
7,238
136
Originally posted by: jbourne77
Originally posted by: mugs
Sounds like the installation process could be improved. Still his fault, but it's better to remove the potential for human error like that.

We're in the processing of updating the installation process, but in the meantime, we've simplified it to a level that a monkey could do it. His carelessness was usually the result of him wanting to get out and get home at 5:00 (our upgrades have to be done EOB).

Comments in bold ;)

Have you ever noticed that people seem to struggle with the simple things, but not the hard things? Like the 1-2-3 backup/upgrade procedure you had him do - he would skip backup and wipe out their existing database. Same with dishwashers - once you get one the dishes seem to stack up more than when you had to do them by hand. Sigh, to be human ;)
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: Kaido
Originally posted by: jbourne77
Originally posted by: mugs
Sounds like the installation process could be improved. Still his fault, but it's better to remove the potential for human error like that.

We're in the processing of updating the installation process, but in the meantime, we've simplified it to a level that a monkey could do it. His carelessness was usually the result of him wanting to get out and get home at 5:00 (our upgrades have to be done EOB).

Comments in bold ;)

Have you ever noticed that people seem to struggle with the simple things, but not the hard things? Like the 1-2-3 backup/upgrade procedure you had him do - he would skip backup and wipe out their existing database. Same with dishwashers - once you get one the dishes seem to stack up more than when you had to do them by hand. Sigh, to be human ;)

Normally I'd agree with that assessment, but he masterfully fvcks up the complicated stuff, too.
 

Feldenak

Lifer
Jan 31, 2003
14,090
2
81
Originally posted by: Descartes
I too would like to hear about some of the technical mistakes. Are any on thedailywtf.com? :D I have many, many stories of my own. Some people simply were not meant to be developers, and I don't care if they have a CS degree or not. It requires a very developed organization of thought that might endure for hours or months, and it's simply not something everyone possesses.

That would be me. I can follow the logic/data but I am not a developer. :D
 

OutHouse

Lifer
Jun 5, 2000
36,410
616
126
Originally posted by: jbourne77
Originally posted by: foghorn67
Is this the guy that used big yet meaningless words in meetings. Like the word 'synergy'?

YEP!

That's the beauty of this. We didn't really have "office politics" before he got here. Everyone just did their jobs. Once he got here, he ruined my team's dynamic. People were becoming more and more worried about not getting credit for their work, and getting blamed for problems they had no part it. That's how he worked. He took credit for everything he DIDN'T do, and would then start stabbing people in the back when he made mistakes.

One time he checked code in to source control that ended up clearing out a customer's database. When he realized what he had done, instead of telling our DBA, he went above my head and to my boss and said the he (the boss) should look into our DBA's work ethic, because he (Tom) doesn't think he pays close enough attention to his work.

He always underestimated the power of source control, thankfully. It was never difficult catching him in a lie, with ample proof to back it up.

But what was so frustrating, especially in the beginning, was he could talk a good game with people who weren't technically educated. To someone who doesn't know anything about development, he would sound extremely proficient. He loved being the "idea guy".

Finally all that bullshit is OVER.

I take being stabbed in the back very personally. i swear if a co-worker ever did something to me like that, he and i would be having a private conversation.

how your team just didnt up an quit is beyond me.
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: Citrix
how your team just didnt up an quit is beyond me.

Right before my boss approached me, willing and able to have a candid discussion regarding Tom (remember, all previous efforts fell on deaf ears), I had contacted my headhunter. If I had received a job offer before that conversation, I would not still be here. I was more than prepared to quit over it. It was just a matter of time.

Of course, once my boss came to terms with the mistake that was Tom, I felt much better. I didn't so much as need Tom "gone", as I needed people outside my team to understand what we were going through. Morale on the team instantly improved and I was given blanket authority to direct Tom as I saw fit. He hasn't had his hands in the code base for over a month. All he'd done since then was perform upgrades and installs, and those were done with me looking over his shoulder the whole way.
 

torpid

Lifer
Sep 14, 2003
11,631
11
76
Originally posted by: Descartes
There's nothing inherently wrong with the name; rather, it tends to be this monolithic class that people use to mediate interaction between objects, objects that should have independent purposes and interact with each other in loose but consistent ways. They tend to have methods like Run(), DoWork() (being somewhat facetious with this one), and similar nonsense that they couldn't figure out where to put. It's completely antithetical to the philosophy of OO.

It's not a perfect example, and you can't apply a general rule to it. I have classes I've named manager before, but they don't manage other classes themselves. It's just for naming purposes.

Make sense?

Ah, I've not run into that. I thought you were referring to things like "LockManager" which manages pessimistic locks as a bad thing. I thought there was some official "Manager" pattern that I wasn't aware of similar to how there's a Controller pattern so even naming something controller which isn't an implementation of Controller pattern is bad, regardless of whether it's a stupid object to have at all due to what it actually does.
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: torpid
Originally posted by: Descartes
There's nothing inherently wrong with the name; rather, it tends to be this monolithic class that people use to mediate interaction between objects, objects that should have independent purposes and interact with each other in loose but consistent ways. They tend to have methods like Run(), DoWork() (being somewhat facetious with this one), and similar nonsense that they couldn't figure out where to put. It's completely antithetical to the philosophy of OO.

It's not a perfect example, and you can't apply a general rule to it. I have classes I've named manager before, but they don't manage other classes themselves. It's just for naming purposes.

Make sense?

Ah, I've not run into that. I thought you were referring to things like "LockManager" which manages pessimistic locks as a bad thing. I thought there was some official "Manager" pattern that I wasn't aware of similar to how there's a Controller pattern so even naming something controller which isn't an implementation of Controller pattern is bad, regardless of whether it's a stupid object to have at all due to what it actually does.

When I first got here about a year and a half ago, they had a consultant who had originally driven the architecture of a client-server app. He had written a user class similar to this:

Public Class User
Public Shared Name As String
Public Shared Password As String
Public Shared Created As DateTime
Public Shared Locked As Boolean

Public Shared Sub Login(ByVal _Name As String, ByVal _Password As String)
...
End Sub

Public Shared Sub Delete(ByVal _Name As String)
...
End Sub

...
End Class


When I confronted him on this monstrosity, I started with the static members:

"Why is everything static?"
"Huh?"
"SHARED! Why is everything SHARED?!"
"Saves me from having to write Properties, create instances of it, you know... it's just easier."

I terminated his contract a week later. After four months, I had replaced all three of the contractors on this project, as they were all operating like this.

These nitwits were probably old VB programmers, heard that to be OO, you had to have objects that made a class look like a real thing, so they cranked out concoctions like that.
 

Drakkon

Diamond Member
Aug 14, 2001
8,401
1
0
Originally posted by: Phokus
Why are MBA guys applying for programming jobs?

Also, did the college dropout get the position?
I'm not sure...the only thing was that it seems that the U of A (where i am in Tucson, AZ) has a business school that produces a LOT of MBA grads with CIS degrees. Thus you get a business programmer with a background in business which seems like it would be a good idea

Yes the dropout got the position :)
 

blackdogdeek

Lifer
Mar 14, 2003
14,453
10
81
Originally posted by: Phokus
Originally posted by: blackdogdeek
Originally posted by: xSauronx
a guy like that lasted a year?

yipes

it is very difficult to fire someone in big corporations.

why is that?

there has to be just cause to fire someone for incompetence these days. and just cause can only be established by setting clear goals in a yearly review and then showing, with documented evidence, that the person did NOT meet those goals.

this is really difficult to do.

that's why most incompetent people get promoted sidewise or downward to positions where they will eventually resign. unfortunately, sometimes they get promoted upwards if they are really good at making themselves look good.
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: blackdogdeek
Originally posted by: Phokus
Originally posted by: blackdogdeek
Originally posted by: xSauronx
a guy like that lasted a year?

yipes

it is very difficult to fire someone in big corporations.

why is that?

there has to be just cause to fire someone for incompetence these days. and just cause can only be established by setting clear goals in a yearly review and then showing, with documented evidence, that the person did NOT meet those goals.

this is really difficult to do.

that's why most incompetent people get promoted sidewise or downward to positions where they will eventually resign. unfortunately, sometimes they get promoted upwards if they are really good at making themselves look good.

EXACTLY

The people who respond to stories like this with "why didn't you just fire him WTFDUH!" don't have any experience on the matter. It takes YEARS to compile enough information and YEARS of CY'ing your A before HR will allow such a step to be taken.

One of our Programmer/Analysts is 45 years old and was once the department Director. He's been demoted more times than I can count. He's a mid-level developer making $105k/year.

Yep. Companies would rather pay out six figure salaries to demoted janitors than assume the risks of firing them.
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: mugs
Be warned though, they don't think too highly of highly paid consultants over there. ;)

Me either.

99% of the consultants I've come across turned out to be people just like Tom (who, ironically, came from a consulting gig and is leaving for a consulting gig!!!) who can't hold a permanent position for more than 6 - 12 months. They figure, "hey, my ineptness is going to be discovered within a year anyway, so I may as well just bill $60+/hour and leave when the sh*t hits the fan... AND I won't have to clean up after myself!!!"

The word "consultant" USED to mean "expert in my field". Now it generally refers to someone who wants to make good money but not have any real accountability for their work.

When the going gets tough, find a new assignment.

Folks like Descartes are rare... very rare.
 

Phokus

Lifer
Nov 20, 1999
22,994
779
126
Originally posted by: Drakkon
Originally posted by: Phokus
Why are MBA guys applying for programming jobs?

Also, did the college dropout get the position?
I'm not sure...the only thing was that it seems that the U of A (where i am in Tucson, AZ) has a business school that produces a LOT of MBA grads with CIS degrees. Thus you get a business programmer with a background in business which seems like it would be a good idea

Yes the dropout got the position :)

Lol, that's hilarious. I'm going for an MBA in the near future and i won't touch any of that programming stuff with a 10 foot pole :p
 

Descartes

Lifer
Oct 10, 1999
13,968
2
0
Originally posted by: jbourne77
Originally posted by: mugs
Be warned though, they don't think too highly of highly paid consultants over there. ;)

Me either.

99% of the consultants I've come across turned out to be people just like Tom (who, ironically, is leaving for a consulting gig!!!) who can't hold a permanent position for more than 6 - 12 months. They figure, "hey, my ineptness is going to be discovered within a year anyway, so I may as well just bill $60+/hour and leave when the sh*t hits the fan... AND I won't have to clean up after myself!!!"

Folks like Descartes are rare... very rare.

Thanks man, I appreciate that.
 

Stuxnet

Diamond Member
Jun 16, 2005
8,392
1
0
Originally posted by: Descartes
Originally posted by: jbourne77
Originally posted by: mugs
Be warned though, they don't think too highly of highly paid consultants over there. ;)

Me either.

99% of the consultants I've come across turned out to be people just like Tom (who, ironically, is leaving for a consulting gig!!!) who can't hold a permanent position for more than 6 - 12 months. They figure, "hey, my ineptness is going to be discovered within a year anyway, so I may as well just bill $60+/hour and leave when the sh*t hits the fan... AND I won't have to clean up after myself!!!"

Folks like Descartes are rare... very rare.

Thanks man, I appreciate that.

:thumbsup:

You can't put a price on a REAL consultant. I've met two, and one of them only looks so good because he's being compared to the masses. The other one is the best damn DBA I've ever met (the one Tom stabbed in the eyeballs countless times).

You can tell a good consultant when you meet one. They're ambitious, energetic, and personable. Many people can talk a good game, but when you're talking to an expert - someone who knows within themselves that they're an expert - it's easy to discern.
 

Queasy

Moderator<br>Console Gaming
Aug 24, 2001
31,796
2
0
Originally posted by: Feldenak
Originally posted by: Descartes
I too would like to hear about some of the technical mistakes. Are any on thedailywtf.com? :D I have many, many stories of my own. Some people simply were not meant to be developers, and I don't care if they have a CS degree or not. It requires a very developed organization of thought that might endure for hours or months, and it's simply not something everyone possesses.

That would be me. I can follow the logic/data but I am not a developer. :D

Same here. I can read through code and figure out what is going on and where something is wrong or needs to be cleaned up. But don't ask me to write anything beyond simple scripts.

That's why I'm in quality assurance now. :D
 

Feldenak

Lifer
Jan 31, 2003
14,090
2
81
Originally posted by: Queasy
Originally posted by: Feldenak
Originally posted by: Descartes
I too would like to hear about some of the technical mistakes. Are any on thedailywtf.com? :D I have many, many stories of my own. Some people simply were not meant to be developers, and I don't care if they have a CS degree or not. It requires a very developed organization of thought that might endure for hours or months, and it's simply not something everyone possesses.

That would be me. I can follow the logic/data but I am not a developer. :D

Same here. I can read through code and figure out what is going on and where something is wrong or needs to be cleaned up. But don't ask me to write anything beyond simple scripts.

That's why I'm in quality assurance now. :D

That's why I'm in management. :p