This Blog Has Moved!

My blog has moved. Check out my new blog at realfreemarket.org.



Your Ad Here

Saturday, July 24, 2010

Close That Bug!

In "Rewriting History", some commenters said they also had problems with lying parasitic coworkers/bosses. The USA has a non-free market, which is a type of welfare for parasites.

Here's an amusing add-on to the story. I made a bug report complaining "The test data is dirty. Therefore, the output is wrong." The developer was eager to close the bug, rather than make sure there is good test data.

There's some bureaucratic requirement. The developers are evaluated based on open bugs and time to fix. Therefore, they're eager to close the bug rather than fix my concern. This parasitic behavior is a symptom of a broken bureaucratic process.

This problem is also visible when you call tech support. The call center is usually evaluated on "time per call" rather than "Did you actually solve the caller's problem?" This practice encourages lousy tech support. The corporation has a monopoly/oligopoly, so it doesn't matter.

That was amusing. They developer was more eager to close the bug report, than actually fix the dirty test data. That's a symptom of a broken bureaucracy.

5 comments:

Anonymous said...

Once I worked for a famous techie company.

A new director joined our part of the company. His mantra was that everything should be done properly and that software developers should push their managers to make sure enough time is allocated to do things properly. OK, the first thing wrong with that is that it puts all the emphasis on software developers which are at the bottom of the hierarchy when it should be part of his job to make sure his managers are competent. Actually software devs in one group could be managed by managers in another part of the company...

Anyway he decided that some of his old colleagues (from the consultancy company he used to work for) and old friends should join the company.

I had to work with one of them. He was assigned to code review a small amount of code I wrote to fix a bug.

He didn't really understand our development environment and ended up saying "the code you wrote won't work because it doesn't cater for the case when the power cable is ripped out of the computer"!!!!

Yes, he said that.

He came up with an alternative solution but that didn't cure this imaginary problem of the power cable being pulled out. In fact his solution was very fragile and a lot, lot worse. His solution altered a vast amount of the codebase and if any one of 20 - 30 functions ever got changed, the code would break. My solution just required a small amount of code in one place.

At the same time my manager said if I didn't get each bug fixed within 1 day, I would be fired.

For a while all I did was alternate the code on my computer between two different scenarios according to the whims of this new guy.

I ended up fired pretty much for not getting bugs fixed within 1 day.

I told my manager this new guy was not being realistic and his solution was very fragile, but my manager ignored me because this new guy was hired on the say-so of the new director.

The guy who decided code needed to be resilient to power cables being pulled out got promoted and is still in the company.

Actually while I was there he never came up with a solution to his own imaginary problem.

He just wasted my time. I got fired.

The reality was that each section of code was owned by a specific group and only they were allowed to alter it. As such the only way to make code "resilient to having the power switched off" would require the co-operation of several groups all of which were too busy. The bug I had to fix was causing real problems at that time.

My solution was good and was eventually rolled out.

The new guy in his own small way caused me grief when I was having to do lots of different tasks at the same time.

I got lots of things done and got fired for no reason other than to make room to the new people hired.

The people that got fired a few months before me got pay-offs. I did not. Why was this? Why should people fired months before me get a pay-off I did not get. Maybe because their redundancy was a company-wide thing and I was fired just so a friend could get hired.

Anonymous said...

People are fucking lazy shits. It's like everyone's goal in life is to somehow stumble upon the ultimate job; one where you would not have to get out of bed and could somehow still soak up an assload of money. I understand this mentality, but it doesn't make it right.

To the author of the previous anonymous comment, you probably should've said all of this to your old boss and everyone in the company, instead of rolling over and letting your dumb ass get fired by some apparently inept loser.

I had a bad manager try to get me and several of my coworkers fired a few months ago.. long story short, she was fired because we not only didn't roll over about it, but we went on the offensive. If you know how someone above you is hurting the customer, report it to someone above them.

FSK said...

If your job sucks, your only recourse is to quit and go work somewhere else.

You can't make a politician understand "Taxation is theft! Government is one huge extortion racket!" Similarly, you aren't going to get your clueless boss to change his ways.

Anonymous said...

Just as a follow up to my first post.

As the source code of the company was currently in the process of being rewritten / refactored, the correct thing for the new Senior Software Developer to do was to inform the relevant groups doing the refactoring that if the power cable was pulled out of the computer between two lines of code executing (unlikely) then there would be an anomaly in the databases. Only the groups responsible for the code directly communicating with the databases could hope to solve this problem.

The man failed to realise that if you are in a group that is a user of code written by other groups, there is no way his extra problem could be solved. His solution was bizarre and plainly did not work. My manager was too political to follow up on what I said they the new guy's solution was silly.

Of course my manager couldn't do very much because his boss (the new director) was a friend of the new Senior Software Developer and in fact told him to hire him. The new Senior Software Developer refused to answer C++ questions during his interview, but was hired anyway.

The bug I was about to fix was causing real problems at the current moment in time. None of the current codebase was resilent to the power cable being removed in between a specific two lines of code being executed (unlikely). As such wasting days trying to work out the impossible was pointless.

Ideally when you fix a bug you should fix as much as possible. But in this case what was needed was to just fix the bug and to think about other issues later as the whole codebase was being refactored by other groups.

As we were clients of the code written by other groups that communicated with the databases this was not our problem to solve. We should only have told them that they should cater for this case in the code they were currently writing.

When you have an idiot/political manager, a Senior Software Developer that quite frankly wasn't thinking properly and a new director that pulled strings to get the Senior Developer hired despite a bad interview, then there is nothing that can be done.

The service side groups owned the relevant areas of the code and only they had the passwords to alter them via the source controls system. There was no way this extra imaginary problem could be solved by us but the dishonest manager and the sleepy Senior Software Developer just pissed around and wasted my time. Then I was fired for not fixing 1 bug per day.

Ironically the new director said there should not be time limits as everything should be done properly. So the manager had one policy to fire me with which contradicted the new director's more time policy.

Plus there was a group wide meeting that said software devs should aim for fixing 10 bugs per month, but my manger increased it to 20 bugs per month just for me.

This was a near impossible task as every bug fix requires a code review by another person and QA to sign off on it. So even if you fix 1 bug per day, getting a code review and QA would take 1 - 2 weeks.

Anonymous said...

Just as a follow up to my first post.

As the source code of the company was currently in the process of being rewritten / refactored, the correct thing for the new Senior Software Developer to do was to inform the relevant groups doing the refactoring that if the power cable was pulled out of the computer between two lines of code executing (unlikely) then there would be an anomaly in the databases. Only the groups responsible for the code directly communicating with the databases could hope to solve this problem.

The man failed to realise that if you are in a group that is a user of code written by other groups, there is no way his extra problem could be solved. His solution was bizarre and plainly did not work. My manager was too political to follow up on what I said they the new guy's solution was silly.

Of course my manager couldn't do very much because his boss (the new director) was a friend of the new Senior Software Developer and in fact told him to hire him. The new Senior Software Developer refused to answer C++ questions during his interview, but was hired anyway.

The bug I was about to fix was causing real problems at the current moment in time. None of the current codebase was resilent to the power cable being removed in between a specific two lines of code being executed (unlikely). As such wasting days trying to work out the impossible was pointless.

Ideally when you fix a bug you should fix as much as possible. But in this case what was needed was to just fix the bug and to think about other issues later as the whole codebase was being refactored by other groups.

As we were clients of the code written by other groups that communicated with the databases this was not our problem to solve. We should only have told them that they should cater for this case in the code they were currently writing.

When you have an idiot/political manager, a Senior Software Developer that quite frankly wasn't thinking properly and a new director that pulled strings to get the Senior Developer hired despite a bad interview, then there is nothing that can be done.

This Blog Has Moved!

My blog has moved. Check out my new blog at realfreemarket.org.