- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Oh, how I wish that some people here got promoted out of my way... At least the crap levels wouldn't rise..
Admin
Perfect example of the Peter Principle in action, and of an organization that doesn't respect 90% of any kind of software process for an enterprise.
..and frist.
Admin
Doh. I have to type faster!
Admin
He got a promotion for his efforts. yay! OTOH, how come Maxime became bullet proof without being a nephew of anyone? Was it blackmail?
Off-topic: I expected Maxime to be she. Is it a normal name for a Belgian guy?
Captcha: illum. Illium was fun.
Admin
"Maxime" is not an unusual French name for a guy.
And living/working in Belgium myself, I wouldn't be surprised that a French speaking co-worker gets promoted upward before a Dutch speaker with a lot of experience. Especially in Brussels where most financial corporations have their main seats.
Catchpa "secundum": after all the Flemish are often still treated as secundum citizens.
Admin
Err, also, wouldn't a static HashMap cause massive concurrency issues? They're not thread safe from what I know...
Admin
"The Get method was called exactly zero times."
Fortunately, Maxime was clever enough to avoid concurrency issues by never actually using the information in the cache, so it wouldn't matter if threads were overwriting each others information.
Admin
Admin
doesn't matter the put should also be synchronized, otherwise you can get general map corruption
Admin
Well he was calling get but that introduced mysterious failures so he took it out.
Admin
Admin
So Tom tackles someone elses problem and gets punished for it?
He should have let Maxime swing for it.
Admin
But it doesn't matter if the map is corrupted, as it was never read from.
Admin
Admin
If I were Tom I'd leave the company asap. So a developer can submit jar-files but gets away without submitting a single line of source code? This is bad enough in a mom-and-pop-shop, but for an insurance company it is unacceptable.
A memory leak in a server is a major inconvenience at least, but there's no guarantee that Maxime's code doesn't create real havoc, for instance with the customer data.
Once that happens you're in deep **** and you might well end up in court fighting disciplinary action (or dismissal) for damages you didn't cause.
If Tom's affluent enough, the best thing would be to hand in his notice that same day and do little more than a "peer review" of Maxime's code for the remaining time.
Admin
put requires the previous value to be found and returned, this is reading
Admin
Synchronizing has the additional benefit of slowing down the process even more, especially when called frequently.
Typical case of keeping yourself in business. After all, if it was hard to write, it should be hard to read and even harder to modify...
Admin
+1. For example, the steaming pile that is https://code.google.com/p/owasp-esapi-java/source/browse/trunk/src/org/owasp/esapi/codecs/HTMLEntityCodec.java?r=343 seems to allow two threads to go into an endless loop, I think because unsynchronized rebucketing during expansion of the HashMap leads to circular linking.
Admin
yeah I found a blog post where that is explained: http://mailinator.blogspot.nl/2009/06/beautiful-race-condition.html
Admin
Or, "Why don't you tell Maxime that?".
Or you pull the GAU-8 out of your back pocket and lay waste to the other(*) inhabitants of the room.
(*) The ones who aren't you.
Admin
It would more depend on whether the boss is speaking French or Dutch, no?
Sent from an entirely Flemish office :)
Admin
Admin
Admin
Admin
Just a thought: most of us here are developers who do (or at least pretend to) care about their work. Wouldn't it be nice to KNOW which companies are really bad place for software development? Or to know actual names of pointy-haired bosses, moronic coworkers etc. So - you know - we don't end up working there (or with them) thanks to deviously cunning HR personel..
I know I shouldn't just propose some plan, but I should DO IT. I can't. Sorry.
But here's the plan: let's just WRITE DOWN THEIR FULL NAMES AND ADDRESSES! Or let's make website for rating company developer-friendliness. Like/Dislike, writing comments.. Something like "+1 good place to work" "-1 here be dragons and pointy-haired bosses".
I understand that there may be some legal issues.. I do. But I regulary WARN my friends not to go where I suffered. Wouldn't you like to KNOW what other developers think about the mysterious "new dynamicaly growing company which is fun to work in" ? Wouldn't you like to know that your promising candidate for project lead is notoriously moronic pointy-haired boss?
I know I would..
If we could somehow add it to stackexchange.com's Carriers 2.0.. that would be cool :)
Admin
SOX separates duties, as long the dude isn't moving the jars from integration/test to production, they're fine. As far source control, I can only hope that they're using something good like svn, git, cvs, et. al. and not clearcase, pvcs, sourcesafe, et. al.
Captcha illum: This promotion story hits so close to home it makes me illum.
Admin
Well, no good deed goes unpunished.
Admin
Ah, the PTSD flashbacks. Gee, wouldn't it be nice if the Peter Principle was only about the code. In a previous life our IT dept had a very successful management in-breeding program. I called my boss's boss "the black hole" because ideas & suggestions went in and nothing came out. A contemporary of his, a division chief, protected her incompetence through the poison pen. Woe betides (s)he who exhibits initiative.
Admin
Admin
http://www.glassdoor.com/index.htm
Admin
It's called the FUMU Principle.
'Fuck Up, Move Up'
Admin
It's not the Peter Principle, but the Inverse Peter Principle. The Peter Principle is that "Everyone rises to their own level of incompetence." The Inverse Peter Principle is "The competent don't rise -- they have to stay where they are to do the work."
Admin
And if you use them to find out whether or not a specific company makes a great place to work at, you will find out that the larger the company, the more diversified the opinions.
Or in short: employee A's hell is heaven for employee B.
The next problem is that of choice. I could (and in the past did) "float", i.e. I moved freely from one end of the country to the other. If, on the other hand, you have built a house, have to feed a family and perhaps care for an elderly relative, then it doesn't matter much if a company 500 mls away is a nicer workplace, you stay where you are and try to make the best out of the regional offerings.
I've met a lot of people who said "I would leave, if I could". And I've seen companies that seemed to bank on that - that people could not, or at least were very reluctant, to leave.
But for the pleasure of all of us, there exists this site, The Daily WTF. Where we can vent our anger by telling others about all the wtfs happening at our place or just lean back and enjoy the grim stories, sure in the knowledge that they couldn't possibly happen where we work :-)
Admin
Admin
This is 'Tom' here. I did leave the company. In fact, I was already negotiating with my current employer when all of this went down. I would't say Maxime was promoted, but he did get away with it by moving to another division of the company. A ex-collegue of mine told me later that he left not to long after I left.
I submitted a whole bunch of WTF's about my experience with this guy. The author made a sort of 'best-of' compilation-story out of it. The memoryleak-source was in svn, but he did check-in 3th party jars on another location. Also did he promote things to production without tagging the source.
The code in the story is not the actual code, but it does show the concept perfectly. There was a static map storing stuff for almost each request, without ever deleting anything. It made the complete server grind to a hold in the course of 2 weeks.
Admin
It's not possible to have a static class in Java. That's the real WTF.
Admin
Sure you can, if it's a nested class. See Map.Entry, for example: a static class nested inside java.util.Map.
Admin
Perhaps it's a nested class, copy-and-pasted into every class of the project? Makes sense, in a WTF kinda way.
Admin
This is 'Tom' speaking. In reality, there was 1 static HashMap in a piece of code in a certain projectA. One day, projectB needed to integrate with projectA (A needed some functionality from B), so my friend 'Maxime' copy-pasted a large chunk of projectA-source into projectB. From then on, there were 2 static HashMaps trying to bring down the server... A bad case of copy-paste oriented design.
Admin
Are you kidding? In most corporations, the upper management is always dutch speaking. In Brussels, in the administration, there are quotas for promotion to have equal numbers, it's much easier to get promoted as dutch speaking since there are way less people.
Flemish as secundum citizens is just a blatant lie or blindness with an agenda.
Admin
This is one example of the dilbert principle in action. Unfortunately we have seen this happen too many times. The person with the most political clout gets away with doing things that others shudder to think about.
Admin
Admin
Admin
You're assuming that the application has more than one thread. Or that Maxime even knows what threads are.
Admin
Even in the US, depending on the type of company and products sold, SOX compliance my not be required as insurance is not a securities product and therefore not regulated by the SEC.
Admin
So...
I don't know about you guys, but I can clearly see I've been screwing up all my life.
Admin
I tend to go with '‘Ah well, they say that the biggest turds always rise to the top of the septic tank’.
https://www.simple-talk.com/blogs/2006/08/28/the-septic-tank/
ratis: Maxime is what a rat is
Admin
Did the names get changed? If not, can everyone who works with a guy called Maxime link him to this article... if he's the wrong guy, then fine, and if he's the right guy, he'll probably pretend he's not (but secretly he'll know the shame).
Admin
Brilliant. This is the sort of WTF I get up for in the evening.
Admin
-totally expected Maxime to be female -why did Tom wait for the code to be committed before running it on a test server? -what does a "junior" guy like Tom have access to promote to production? -I can't even tell what that's a picture of -is there no one who manages the servers with the slightest hint of a clue around to figure out what's taking up so much memory? -"We think that we found the dev that's taking up so much memory, but we don't have an employee by the name of Sun Microsystems." -I've worked with "island" developer before. it's hard to get them to work with other devs, but it's always wise to give them isolated environments as well. their apps go on their on production servers, so when those crash, and they will, you know who to blame