Testing IT Professionals On Job Interviews?
An anonymous reader writes "After having my university degrees, a couple of IT certifications, and over ten years of work experience in the industry, with 2-4 years of verifiable employment with each employer, working with a wide range of technologies, is it reasonable to ask me to take some test on a job interview? The same companies don't ask other professionals (lawyer, accountant, sales, HR, etc.) to submit to any kind of in-house tests when they are hired. Why are IT professionals treated differently and in such a paternalistic way? More importantly, why do IT professionals accept being treated less favorably than members of other professions? Should IT professionals start to refuse to be treated as not real professionals?"
I won't take them.
I have turned down several jobs over it.
Because it is far easier to get "university degrees, a couple of IT certifications, and over ten years of work experience in the industry, with 2-4 years of verifiable employment with each employer, working with a wide range of technologies" without a shred of competence in our field than in most others.
A simple answer is that IT knowledge is a more quantitatively measurable than many other professions. Another factor is the high percentage of self-learned IT professionals. You don't see any "self-learned" lawyers, but self-learned IT pros are commonplace. Lawyers have been tested previously (bar exam) while the IT pro may never have passed any formal testing.
SIG: TAKE OFF EVERY 'CAPTAIN'!!
When I've been holding interviews, I always make up a set of tests just to make sure what they put on their CV is accurate.
The number of times I've had someone put on their CV they can do something we are after, but in reality they know Sh*t about it, has only really come out when they do the test. It also helps to pick up those who are good at taking exams but don't know how to handle themselves in the real world.
Unlike the other professions, IT doesn't have a legal backing. i.e. lawyers and accountants have qualifications that are backed by some law or another so if they write bullshit on their CV then it can come back on them. Not with IT unfortunately.
Java gaming nut - http://www.retep.org/ or for the rail http://uktra.in/
thus the whole question is futile.
Skill assessment is done in almost all kinds of professional employment situations . yet it depends mostly on the hiring policy of the department of that particular firm if there will be an assessment.
And quite franky, I think there is a good reason why this is done with IT jobs more often: analytic and associative thinking and problem solving are not skills you can learn.
Plus, IT jobbers tend to be more annoyed by moron colleagues than non-IT employees.
And lets not forget that there is a huge amount of moronness out there - I myself did Job interviews with certified whatevers, who applied for a sysadmin position and couldn't tell me what information a notation like "192.168.38.1/24" provides. And thats just the very basic for such a job, but it already weeded out two thirds of the applicants, *completely unrelated* to their educational history or other certified qualifications.
And last but not least, it always depends on the quality of the respective management if such an evaluation is done: and speaking for me and my experience, a company should do it in *all* sorts of positions, no matter how professional, experienced and well educated an applicant is.
I frequently interview programmers, and having them take a short test (approx 30 minutes) and then discussing this with them in their interview is incredibly useful to determine their skillset. I could ask similar questions directly and have them work through the answers on a board, but then they would be under pressure to provide an answer on the spot to questions that probably deserve some thought before providing a solution.
None of the questions on the test are unduly taxing - any person we interview who has a few years professional c++ experience under their belt should be able to provide at least a working solution, with potential better solutions open to discussion face to face.
I've had 15 years doing what I do, and I'd be happy to take a test if asked - if I can't pass whatever hurdle the company sets, then I'd rather not sit there for a few more hours trying to win them over with my sparkling personality, and if the test is a pile of rubbish I know early on that I probably don't want to work there.
In my experience, which ia way more than your 10 years, very few folks in IT actually know how to interview and what traits to look for. Being tech folks and not having people skills, they think that some test will tell them what they need to know about a potential applicant. Not true.
A lot of the tests are language lawyer things (knowing about public static final in Java) which doesn't get to what they really need to know. There are lots of folks who know the language lawyer tricks that will be lousy employees. You need folks that are bright, have a demonstrated track record of being able to learn new things and that will fit with your culture/environment.
As a consultant, I consider myself part of the world's oldest profession. After all:
I charge an extortionate rate
I'll be whatever you want me to be
I spend a lot of time in hotel rooms
I have a pimp that gives me a fraction of what I make and sends me to do things that I really don't want to do
1. Yep. Let me even give an example. It didn't happen in a team I was in, but I know several people from that team.
So they got a new guy who had some outstanding experience, according to his resume. He had worked on major enterprise projects, been an architect, ate Enterprise Java Beans for breakfast, etc.
Turns out he was utterly incompetent. He spent about a month just getting used to their architecture and IDE and everything, apparently everything they did or the way they did it was new to him, and he needed some time to accomodate. Fair enough. Then started working on something, but never was quite done with it. Eventually they started asking to see some results. He started randomly changing files and checking them back in. The first few times he even had a good excuse, like "oops, I hadn't worked with this particular versioning system before" or "oops, I forgot some other file that mine depends on." There go a few more weeks, before it's obvious that his changes can't possibly even compile, because they have elementary syntax errors.
Eventually they fire him, but by now he's got several months of "experience" there.
Then someone finds his updated resume online. The guy claimed he singlehandedly improved their architecture, increase performance X times, got project management back on track, etc.
2. 'Nother example, my ex-coworker Wally. Spent two years on a trivial module, whose core someone else rewrote from scratch in 6 hours. It took another two weeks or so, mostly of testing, to get it bug-for-bug compatible with his, since a couple of teams already had their own workarounds for them. (Trying to get him to fix it was a bit like negotiating with the terrorists.) The rewrite was also benchmarked as 40 times faster than Wally's on large data sets. Literally. Measured.
The thing everyone remembers fondly about him, is how he asked for 2 weeks just to estimate the effort to fix a trivial bug. He got it too. (His team leader was a bit a Mr Testicle: technically he was involved, but he kept out of it as much as possible;)
He also massively practiced obfuscation. Any of his modules contained half the techniques from How To Write Unmaintainable Java code (literally) and megabytes of files copied from unrelated stuff to pad the number of lines of code per day. Obviously, it worked on his team leader.
Then he got moved through the maintenance of two other programs (one at a time), and just managed to make them both worse.
There we go, that's his provable 2-4 years employment. Well, ok, 5 in his case.
3. Example number 3: Old Father Williams. I got to think of him that way after a particular fortune on my linux box:
Pretty much spent 6 years in a place complaining about everything that everyone else did. Coding style, IDE, OS, _everything_. His first choice of a whine was Windows, which might even have had a point, but when Linux was finally allowed and half the team switched to Linux, plus the servers actually went Linux... he proclaimed Linux to be sell-out crap for idiots, and switched to preaching BSD.
He also caused a reformat-and-commit war in which he was preaching _three_ space tabs, as spaces. And wasn't affraid to check out someone else's project and reformat it, to make his point.
He spent two years, just "modernizing" the build process. Nobody knows what he experimented with on his c
A polar bear is a cartesian bear after a coordinate transform.
I speak as a member of "IT" as well, so I'm accusing myself here too, fairly and squarely.
I don't know (nor care) about the non-technical professions, but the standard of professionalism in Computing is a lot lower than in Engineering.
I can say that with confidence after a long career spanning both Electrical/Electronic Engineering and Computer Science, both in academia (PhD, postdoc, lecturer) and in industry. It took me the better part of a decade in the computing industry to realize that I had been (unwittingly) deluding my Software Engineering students when I taught them "Do it like this, or you will be laughed at as amateurs when you get out into industry." The sad fact is that 98% of computing in industry is utterly amateurish, as I eventually discovered for myself. Even huge, "properly" managed projects are in practice just hacks like all the rest, but with better documentation and QA/testing.
While computing is my current love, and bread provider, I recognize that we're at the stage of gazing at chicken entrails in this discipline. It's a bit sad, although I still love it. But when they say "Bridges would fall down every other day if they were built like we build software", they are 100% right. Looking at it from the perspective of my old engineering days, it's a bit distressing, but that's how it is.
We're still in the early days of Computing, and to call it a professional discipline is stretching the definition rather severely.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
It doesn't matter if it's compiler-dependent or not. The correct answer to that question is: "This code is badly written. It never makes sense to write i = i++. You probably mean i++."
Opinions expressed above are mine, and not my employees'.
OK, google "fizzbuzz". A large number of people in the industry (especially "qualified" ones, who haven't been selected for skill) have no idea how to work with computers. People plagiarize at university, get friends to sit their exams, and lie on resumes. There is no better indicator than an on-site, in-person coding test. Some tests are better than others (some employers are not too competent themselves), but there is no other way to verify whether a potential hire is remotely competent. It's not the only indicator (other indicators can be used once the candidate has been pegged as potentially useful), but failing to use it is suicide for any business that can't afford to have worse than useless programmers.
You mean like with the bar exam, cpa exam, the useless PMP exam, certified professional engineer, etc.
Other professions are tested, but it is before the job interview.
I went to a job interview in '99 for a contract doing Network Admin for a pretty major bank; I had no certs, no degree at the time, but I had been working off and on with Tek systems for several years and they knew I had extremely extensive experience.
The Bank didn't want to interview me, but the recruiter sort of insisted; they were asking for people qualified in NT, Solaris and OS/2, and I was really about the only person they had available at that time with the right mix.
It was a working lunch interview; They started asking questions, and I started answering. then came the question, "what command would you use to upgrade a NT workstation machine to NT server?"
I replied that you would probably be best off formatting the drive, then installing it, as there was no good way to upgrade; Microsoft said you couldn't do it at all, and the workarounds were more trouble than they were worth.
The interviewers sort of grinned, and told me that of the 20+ people they interviews, all of which had at least a MCSE or a comp sci degree, not a single one of them had answered the question correctly.
At the time I had problems believing it, but as time went on and I got in to situations where I was doing interviews it got more believable; in the late 90's if you worked on computers, it was probably because you were a computer enthusiast and actually more or less enjoyed working with them; after about '98, you started running into people that were just doing it because it paid well; they might be damned smart people, but you lose something when you don't actually enjoy working with computers.
I also saw a lot of people who just were not smart enough, but were somehow able to cheat or memorize well enough to get a degree; when you asked them something that wasn't in anything they had studied, they didn't have the core of hands-on knowledge that would enable them to make an educated guess at the answer.
So, yeah, I have to agree, interview everybody no matter what their credentials are.
Why, yes, I AM a Pagan Libertarian.
In 2001 I worked as a supervisor in a callcenter(by now bankrupt and bought out) that specialized in tech-support for consumer software and hardware. At one point our recruiter asked me to test an applicant she didn't have a good feeling about. The applicant had numerous impressive looking certifications on her resume and quite a confident demeanor about her abilities. She claimed to be specialized in Microsoft operating systems. Note that this was your typical callcenter full of pc enthusiasts, many of whom had no formal education in IT whatsoever.
Long story short, at the time we also did support for a company that distributed a number of very popular pc games, so I gave the applicant a game consisting of 3 cd-roms and asked her to install it on a typical win98 workstation. After watching her struggle for about 10 minutes, while completely ignoring the big autorun window with the huge "Install game" button on it, we decided perhaps hiring her would not be such a good idea after all...
People replying to my sig annoy me. That's why I change it all the time.
1996, and I'm being interviewed by Chrysler (over the phone, no less, as I was 2000 km away) for a position as a web application designer.
The interview is going well, and then the interviewer starts asking a rapid fire sequence of obscure programming trivia questions - things like the arguments to certain system functions, that sort of thing.
After about the third or fourth punt (these questions were really obscure), I started to get a little angry, and I told the interviewer that if that particular question ever came up in my code, that it wasn't necessary for me to have the answer memorized. Man pages and paper manuals exist for a reason (this was before the all-knowing Google) and if I really needed to know the answer, I would look it up. In fact, even if I was reasonably confident of the answer, I'd STILL look it up because the time spent looking up the answer and ensuring it was right was very much less than the time spent guessing, getting it wrong, and debugging the error.
"Real work" I said "is an open-book test".
The next thing she said was "When can you start?"
I don't need to have an answer immediately at hand to every question. What I need is to know how to FIND the answer to a question as quickly as possible given the resources at hand.
If you want to test me during an interview, I'll look at the test. If it is related to problem solving or general concepts (ie, explain the differences between a "foreach", "while", and "do until" loop) - OK, I'm game. But if it is trivia, I won't play, and I'll explain why. If you insist... I will seek employment elsewhere, because I'm not interested in working for someone who insists on procedure for procedure's sake.
DG
Want to learn about race cars? Read my Book
HAI
CAN HAS STDIO?
I HAS A NADA ITZ 0
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
I HAS A ANZER ITZ ""
BOTH SAEM MOD OF VAR AN 3 AN NADA, O RLY?
YA RLY ANZER "Fizz"
OIC
BOTH SAEM MOD OF VAR AN 5 AN NADA, O RLY?
YA RLY SMOOSH ANZER AN "Buzz" MKAY
OIC
BOTH SAEM ANZER AN "", O RLY?
YA RLY
VISIBLE VAR
NO WAI
VISIBLE ANZER
OIC
VISIBLE ":)" BTW DAS A NEWLINE
IZ VAR BIGGER THAN 100? KTHXBYE
BTW IMMA SO GUNNA GET HIRED!
IM OUTTA YR LOOP
KTHXBYE