- 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
When learning a framework written in Java, shouldn't you generally know Java too?
It makes you wonder if the Java spec went something like:
try {} catch blocks: Synonymous with /* */ - if it doesn't compile, surround the problem lines with these.
Captcha: hacker - Brillant.
Admin
Well at least he got fired in the end. We tend to keep those folks around.
Admin
Admin
I really don't see the wtf here. After all, if you are too incompetent to properly write a function, you should "try" to write the function and then "catch" the errors in writing the function. That's just common sense.
Admin
This is an example of why "tech" interviews are almost completley worthless. I keep pushing to give people non-trivial but still small problems to solve and see what they come up with.
Admin
The real WTF is that they did not follow up the technical interviews with requests for code samples. BS-ing a technical interview is easy, but when put to the real test of coding, this guy would most likely have been exposed.
Was this guy Paula's brother by any chance?
Admin
Care to offer a helping hand to a Java-impoverished reader?
I guess that theWTFiness is the same as it would be in C++ -- there's a try/catch block insanely wrapped around some method declarations. So he probably doesn't grasp the disctinction between 'declaration' and 'code that actually gets executed'.
Right?
By the way, the photo of a vaguely puzzled-looking grey-haired programmer is kind of ageist, don't you think?
Admin
We don't just keep them around, we hire more of them. A living testimony against artificial and desperate selection.
I'm inclined to fire anyone verbally who doesnt understand source control even after a week.
And if they're VSS fans, there is bound to be a brillant display of pyrotechnics.
Admin
Is that 'fifteen years', or 6 months, thirty times?
Admin
There are two WTFs: 1) He has wrapped two abstract method declarations with a try/catch block, 2) he's trying to compile and, presumably execute, an abstract class (which must be inherited from and never instantiated.)
Admin
15 years experience? Looks like this person has NEVER used ANY OO programming language. Or at least he never used any OO features of any OO language before... I really hate it when stuff like this happens. People who know that they are useless as programmers should find another profession. I bet Mark had a CS degree too. I get SOOOOOOO upset when I see stuff like this. It is completely INEXCUSABLE. If Mark stays in the field, then I hope he gets hit by a train, or a stray bullet. Retarded people who hurt companies and other people because of their stupidity should not be allowed to live. People like Mark are holding back all of mankind. I cannot describe how much this scenario enfuriates me.
To people who think I am being too hard:
Mark had FIFTEEN years of experience, and experience dealing with multiple frameworks. He was then given THREE WEEKS to learn a new framework. Mark is the definition of COMPLETE AND UTTER INCOMPETENCE. Anyone who even knows OF this forum is of a higher intellect than this ass. I'd be surprised if at any company he had ever worked for he held a job longer than six months. Complete and utter crap.
What pisses me of the most is that he somehow doesn't know that he is completely incompetent when it comes to computers and programming. Sometimes people REALLY piss me off.
Admin
Those giant red squiggly lines under his code just won't go away. Mark must have just thought that this was a glitch in the IDE he was using.
Admin
I think it's a pretty apt representation of what's going on here.
Admin
At least they ousted him, although it took them a month to do it. That code shows a total lack of understanding of even the basic structures of modern programming.
Now the REAL WTF is that the guy holding the pliers is flipping us off.
Admin
I saw it as the protagonist, contemplating the best way to use the channel-locks to deal with the "problem".....
We had a consultant like Mark where I worked - he talked a good game, but produced no actual code. And when he promised he'd deliver code, he had a convenient "motorcycle accident" and didn't show up. That wasn't our Mark, though. Our Mark produced convoluted and barely functional code - his WTF was that he couldn't stay in spec. He kept trying to over-design and over-architect, when we had a design and architecture, and we just needed a bit of implementation.
Captcha: null
Admin
What I don't understand is how he "wizzed the technical interviews." What kind of questions were they asking him? How do you spell "Java"? What is a Web-Application? Come on here, maybe it shows a lack of competance on the technical interviewer's side. I've given a number of tech interviews and I've been able to pin those who know java and those who don't.
Man that was sad. It's very sad that programmers like that exist in the world and are actually getting paid!
Admin
So this is where our Project Managers come from....
Admin
So the manager ignored a (presumably) senior and trusted developer's concerns about a new hire several times? That's the guy I'd be more worried about. The Marks of the world just take up valuable floorspace. You learn not to assign them anything you want finished and point Marketing at them for any questions.
Shawn should get a meeting together to talk about technical interviews. If they're done sitting down with all-erbal q&a, they're a waste of time. Get to a whiteboard or sheet of paper, write out the question/start some code/draw a diagram, then point the marker/pen/stylus at the candidate and as, "what would be your first thought?" If they lean back, put their hands behind their head, and start theorizing instead of taking the instrument and getting something done, show them the door and save the next interviewer some time.
Oh, "How do I access email" can be forgiven. "How do I access source control" can be forgiven twice(as opposed to "what is source control and can I avoid using it," which sounds like the real problem here): once because of unfamiliar configuration/server names and once because of assuming said configuration would be saved somewhere it wasn't. After that, there had better be a file/sticky note/tattoo with the answer.
"What does 'abstract' mean" from a "senior" guy is a 15% pay cut right there.
Admin
About eight years ago I was working for a medium-sized business, as the only developer at the company that was an actual employee. We had other developers that came and went on an as-needed basis from a local company, one that was more of a temp-agency for techies than a "consulting" firm. The company took pride in its hiring screeners and as a rule, sent us sensible people that were easy to work with, and while they sometimes only had a year or two of experience usually managed to accomplish what we needed. We had gotten in the habit of accepting whoever they sent without any screening process on our end. And it worked fine, until they sent us Frederick.
The statistical analysis software we used, while spreadsheet-like in appearance, used a proprietary binary format, and we needed to import about five years worth of these files into our database. The analysis software company sent us a dll library for reading the files, and a fairly easy-to-understand stack of documentation. Fredericks assignment was to use Borland Delphi to make calls to the dll, read the files, and insert rows into the database. Seemed pretty simple to me.
At the end of day two I went to his desk to see what kind of progress he had made. I found him trying to "access" the dll by using "File - Open" from the Delphi IDE. Ouch!
Rather than get rid of him then and there, I gave him a test-assignment the following morning, since I still had one day in the 3-day grace period the temp company gave us. I gave him a simple task that would have taken me about an hour to do, and gave him the whole day to do it. I found out later that two of the other guys from the same company took him to lunch, explained exactly how to do what he needed to do, and even wrote the code out for him on a napkin.
At the end of the day, he still couldn't even get it to compile.
Admin
Yes! Seconded!
captcha=foxtrot? The dance?
Admin
Well, if he stated that he had 15 yeas of Java experience, that could explain a few things...
Admin
Well, let's take a lot at he source. <font color="#ff0000">Red</font> = error, <font color="#ffa500">Orange</font> = questionable.
abstract... well, of course there are many reasons when and why to declare abstract classes, but the first hello-world program is usually not abstract.
try... The try block should appear in a method. It doesn't. Thus, the program cannot compile. Should be removed.
public abstract Integer getCount(); ... looks ok (without the try {} around it)
public abstract void setCount(Integer int); ... int is of course a reserved word, cannot be used as a parameter name
catch block.... well, it does nothing and I wonder what the // catch comment should mean
Admin
The second line, HE OPENS A CURLY BRACE ON A NEWLINE!
The details of declaring abstract functions can be worked around, but the blatant disregard for proper indentation cannot be overlooked. :)
Admin
This is a huge pet peeve of mine. If you have to ask the same question more than once, try writing it down. Especially if you're new somewhere, you're going to need to take a few notes. I don't mind answering questions, but listen to my answer so that you don't have to ask again.
Admin
At my company, we prescreen with a simple coding question over the phone, the candidate must email their answer and then we bug check it together. They must be able to explain the reasons behind every part of the code and be able to find and debug the code. Also, we need to see test cases for the code.
If they pass that they get to come in and get 4 rounds of interviews, each over an hour long. One is general expirience, philsophies of programing, one is general fit (a free lunch), the other 2 are in depth programming questions where the result has to be "Production ready" code. Everyone who's taken the interview has thought they failed it, because we never stop finding problems til we run out of time. We take though around 10% of the prescreens and 40% of the people we interview in person.
Admin
Dang UnknownCoder those are some pretty stringent standards, understandably so though.
Capatcha = Initech
Admin
I was just wondering why it is not proper to open a curly brace on a new line?
I find it more readable to do so.
Is it considered standard by most people to put it at the end of the function declaration on the same line?
Admin
Modern compilers create 15% faster code if the curly brace is on the end of the function declaration line.
just kidding
Admin
He was kidding.
Admin
Don't let it bother you. It's a human trait: http://www.apa.org/journals/features/psp7761121.pdf
Admin
Did you miss the :) at the end of the post you are referring to?
Personally, I prefer the open brace on the SAME line. You get to read more code without scrolling, and the indentation already provides visual separation.
Our written standards state that you should continue with whatever style was originally used for that file, a policy I agree with.
Admin
15 years programming experience isn't necessarily a good thing. I wonder how many retiree's are going to find savings gone and, as a result, try to reenter the job market with nothing but their Cobol experience.
Admin
Whizzed right through huh? The only thing stupid-er than this guy is the people and process that hired him.
Admin
Oh my. I've worked at all too many of these companies. Typically they are unfortunately the ones that get in on the core-parts of the teams. They talk good game, but way overcomplicate and overarchitect everything, produce next to nothing but tons of lines of worthless, bug-ridden, obfuscated code that has almost no functionality. And somehow or another, they manage to talk their way out of being fired. I've never understood this phenomenon.
One of my last prior jobs we had one of these. One of his "simple" applications spanned dozens of classes and roughly 4000 lines of code, and of course was complete spaghetti. I rewrote a proof of concept (to prove that what he was doing really was not complex) in under 200 lines - with improvements and without the 59% failure rate from dodgy code.
Now the place I'm at we have better methods for screening. Not as rigorous as some I'm sure, but we at least require that the canidates know all the basics off the top of their head with a written test before we even waste a developers time with a more in-depth tech interview.
Admin
Can I work for you?
Admin
At least the manager had the good sense to let him go after a few weeks. My manager would keep him on for another six months (until his probation runs out) and then "make" him resign (so as not to foul up Mark's brilliant reputation). Until then, some unfortunate project teams would be forced to use Mark whether they like it or not.
41
Captcha: Jiggles
Admin
Well, shouldn't they have expected something like this when the candidate introduced himself as Mr. public abstract class Developer extends HumanBeing?
Admin
We just got rid of a guy here after a month and a half. Not to be age-ist, but he was 59 and typed/poked with his index fingers only. That is when he wasn't copy and pasting (he once c/p'd a 0, yeah the number). He could talk the talk if he wasn't near a computer, and you'd think he had a clue. Afterwards, he'd ask one of the other developers for help doing what you just covered how to do. An update to an existing site was estimated at 40 hours. He spent July on it. And it wasn't done, at least, not correctly/bug free. After he left, I was assigned to finish his latest task. I give you this snippet of vb code that is creating a WHERE clause in some sql.
sqlString &= "WHERE IsActive = " & 1
I stopped on this line for 5 straight minutes. Then I walked away from my desk.
Admin
That's a religous war - sort of like saying "ColdFusion is a programming language" ...
Admin
Why?
I mean, if he kept asking the same question over and over, at least he had no trouble remembering the question, right?
Admin
Ahem - this guy BS's his way through an (allegedly technical) interview, doesn't have a clue how to write a class, let alone code, and doesn't know the word: Google?
I mean, not all the examples on the web are good ones, but they'll get you in the ballpark.Googling "sample java abstract class" gets you a link on the first page with a pretty good explanation and sample source. </rant>
Admin
You're wrong - it's 15.5435% faster, even faster if you compile after 3pm apparently.
w://
Admin
IMO, the real WTF here is how a person like this was ever hired. Clearly the people interviewing him either didn't ask the right questions, didn't understand his responses to questions they posed, and really didn't delve into any technical nitty-gritty.
When my current company conducts interviews, it's expected that people participating in the interview will have a few basic programming questions to ask the person, just to make sure they actually know what they're talking about.
I fondly recall one interview I sat in on. The applicant had specified that they were an "expert" at C++, so during the interview, I posed my standard C++ interview question:
Explain the difference between the C++ public, private, and protected keywords, and where their use may be appropriate.
Needless to say, this is hardly a stumper for any self-proclaimed C++ expert. After delivering a questionable explaination of public and private (this was after we gave him several hints, I might add), the applicant was completely bewildered as to what protected was, and where it would be used. From this, we can deduce the following:
This single question was the major reason we ended up NOT hiring him. We also told him that in the future, it is unwise to label yourself an "expert" at C++.
So, in my opinion, the fact that they canned him after a month is pretty amazing, given that they ever hired someone like this in the first place. The real WTF here is why this guy ever set foot in the door.
Admin
Sure, it's "ageist" if you believe that the point of the photo is that all elderly are easily confused and, in fact, simple-minded. Of course, if that's the conclusion you draw from the photo then that says more about you than anything else.
If it had been a woman in the photo, do you think it would be sexist? Or if it had been a black in the photo, do you think it would be racist?
sincerely,
Richard Nixon
Admin
I consider myself to have three years of experience, five times. I don't have fifteen years of experience with anything because the technology changes so frequently.
I had a candidate come in recently that had "17.5 years" (I kid you not, right on his resume) of experience. He even spoke about his extensive amount of time in the field during the interview. Guess what happened when I handed him the keyboard? Coding practices from 10+ years ago. Thanks, I'll take a person with 3 years of experience that keeps current with technology.
In case you're wondering, I ignore this section of a resume because it has proven to be completely unuseful in determining qualification. In my experience, the best candidates are about 50/50 degreed. The worst come with a sheet of paper to back them up. May work at some places, but not here.
Admin
Come on, judging by where he put the try/catch block, he may not even know what class means.
And by the way, what the F's wrong with compiling an abstract class? You need to compile it to get the HomePage.class file, which in turn you need to inherit from the HomePage class, don't you?
Admin
Or, how about the applicant went to a university where it was taught "protected doesn't mean much .. it's sort of like private .. nobody uses it in practice", and then all his experience was at a software shop where it really never was used in practice.
Happens a lot. The university I went to taught protected this way. (Thankfully, I didn't learn C++ from them .. I wasn't a CS student.). And, at my place of employment, "protected" is explicitly prohibited in the coding standards because "most software engineers don't understand how to properly use this, so don't use it at all".
So, my point is ... one can still be an "expert" and not know a great deal about "protected". It just helps in many instances to know when to use it properly.
Admin
One of the real WTFs is that the guy had 3 weeks + few weeks + another week + following week,
and he didn't bother to crack open a SAMS java in 24 hours (or similar) book.
At least he would have had some more demo code to cut and paste ;)
Admin
The guy comes up with a code snippet that makes Paula's appear brillant (hers compiled) proving that the "15 years" was almost certainly a complete fabrication, yet the technical interview detected not a whiff of this.
Conclusion: Paula must have conducted the interview!
The interview is the wtf. Imagine what a riot it would be to watch a video of it. Many ridicule "technical" interviews, but the fact is that no 2 "technical" interviews are the same: some may be very good, others more like Paula's.
Admin
I had pointed this out, but apparently it was too controversial and got deleted. So I'll try again, but shorter and simpler and less controversial.
I think Mark legitimately did know what he was doing, he just got confused with some WTF-worthy Java concepts, specifically inner classes and init blocks. His code is just a couple of lines away from compiling.
I expect the framework included examples of abstract classes being implemented using anonymous inner classes and he got confused. Anonymous inner classes deserve a WTF of their own so it's not really all that amazing that someone got confused by them.
It doesn't necessarily mean that he was completely incompetant at programming. Given that he passed the technical interviews, he probably had some level of competance but got confused by the framework. Anyone familiar with Java and the frameworks built around it shouldn't find it that surprising.