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.
ten years in the industry and you have to ask?
because you (the employer in this case) never know.
a person can work in various places, have diplomas... and still be unbelievably stupid.
i'd argue that other professions should gain some tests (i know a lot of them actually do, though those tests usually involve more generic skillset, like being able to work in a stressful conditions or under external noise, ability to quickly analyse particular information of the field etc).
Rich
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/
Because unlike Accountants, Lawyers, etc we actually have to work for a living...
If we're bad then stuff just doesn't get done. If an accountant is bad they still get $100k a year.
Doctors still have to prove themselves multiple times just to be able to get into the interview. Years and training and testing.
I like to think of us more like Doctors than professional bureaucrats.
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.
You are a technician, not a professional.
The "professional" bs is just a way to put you on salary rather than an hourly wage.
While "professional" sounds nice, there are only a few real professions.
A nice law passed a few years back reclassified several technical fields as professional, allowing employers to really screw their employees by changing their pay to salary from hourly.
I was recently involved in a series of gruelling and unfair interviews in which we destroyed the confidence of a series of IT professionals with extraordinary difficult questions. Having spent 10 years as an accountant, and 10 years as an IT Manager, I found myself asking the same thing. In order to qualify as an accountant, I had to take 17 exams over the period of 6 years, with each exam having a 30-50% pass rate. During the first 2 years, I could barely make a living wage. To become an IT Manager - I was just in the right place at the right time. I since gained OCP and MCSE, but nobody takes them seriously - in relative terms, they were both very easy to pass. It is still a fact that an accounting (and probably legal) qualification counts for more than an IT qualification.
Given that you've got a lot of experience you should be able to sit and chat with the guys hiring you for hours about all kinds of technical stuff. If I was doing the hiring I would put much more weight behind that conversation than any test. If they need a test, it says to me that they may not be competent to judge you, something which would raise a red flag for me.
Personally I wouldn't accept a job that /didn't/ test me on my competence because that means they probably didn't test the guy before me on his competence either
Mopping up after some idiot with "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" that's a total clueless retard isn't my idea of fun and rewarding employment.
The reason it's done is a combination of great variability in skill among IT applicants, compared to professions with time-tested accreditation bodies like lawyers and accountants, and skills that are fairly amenable to formal testing, compared to professions like sales and HR, at least with respect to weeding out duds (if someone can't write a simple program in an afternoon, given a language reference, they should not be hired). More generally, I can't imagine why it's unreasonable for an employer to test skill.
Competent IT professionals accept it because it's in fact beneficial to them to be distinguished from their less competent peers. (If the test itself is poor, they complain about that, and don't whine about the indignity of taking a test in general.) Paternalism is forcing someone to do something for their own good. This is not. I can assure of I have no intention of refusing tests of skill when applying for jobs.
Employment history, certifications, and degrees do not ensure competence. Probably most of the people on The Daily WTF passed such basic screening.
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.
This requires that Candidate A and Candidate B will BOTH have a degree from a good school AND 3 years in their last job AND experience with Java, Struts, and Prototype. However, when it comes down to brass tacks, A "gets it" much more than B does. HR would obviously want to hire A over B, but the only way to figure out which is to do a skill test.
There are some experienced engineers with good degrees who nonetheless cannot solve FizzBuzz in under 15 minutes. Do you want to hire them for a programming position?
Help poke pirates in the eyepatch, arr.
So all those incompetents we've all worked with over the years were actually from the legal or accounts department... well that certainly explains a few things.
Because unlike Accountants, Lawyers, etc we actually have to work for a living...
If we're bad then stuff just doesn't get done. If an accountant is bad they still get $100k a year.
Doctors still have to prove themselves multiple times just to be able to get into the interview. Years and training and testing.
I like to think of us more like Doctors than professional bureaucrats.
Speaking from the perspective of the "self-taught" IT Professional, these tests have been a good thing. Helping headhunters and would-be employers to understand "No, I don't have a degree, but I'm highly competent" was a very difficult thing until these persons/companies developed a way to measure that competence.
On the flip side, I knew many college grads and MCSE's that new little to nothing about real-world IT work. I place this blame mainly on the many "MCSE" schools that sprang up. These schools often (but not always) taught students how to pass a test. This, unfortunately, is what lead hiring parties to test even the college grads.
Where genius and insanity become confused true wisdom is found
Accountants and Lawyers have professional bodies (or whatever it is called) that tests candidates wanting to call themselves "accountant" and "lawyer", so do doctors, nurses, engineers, etc, so employers don't need to test the candidates themselves when they want to hire one. if people call themselves "lawyer" or "accountant" without the proper certification, they could be jailed.
Which is the corresponding organization that tested and certified you as an "IT professional"? Can your employer file complaints to that organization and have your certification removed if you displayed incompetence or is negligent in your job? And would anyone risk jail time if they call themselves "IT Professional" without any such certification?
Don't kid yourself, an IT worker is hardly any more "professional" than a secretary or a salesman. Anyone sitting in front of a monitor for the past 10 years can call himself an "IT Professional" with 10 years of experience. Heck, someone who had NOT been sitting in front of a monitor for the past 10 years can also do so! Until we have a widely recognized professional body to certify us (and to de-certify or penalize us if we display incompetence), it is the employers' responsibility to assess our capability and testing us is one way to do it.
I am sure many working in the field would prefer their employers had properly tested themselves and their co-workers, rather than having to fix up problems caused by other less-than-competent "IT Professionals".
Oliver.
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.
Testing is a good thing. Years ago, I ran from interview to interview, but didn't get the jobs. My grades from school were fine, but being a geek, there was one thing I was (and still am) bad at: "Selling myself". When we got to the question "please tell us about yourself", I didn't know what to say. I've always hated that question.
But then at one place, rather than expecting me to talk about how great I am (hey, if I was that good at selling, I would be in the sales department, not IT), they sent me a small programming task. Towers of Hanoi, I know, text book stuff, except the second part required a bit of brain work.
Guess what... I got the job. At the interview itself I probably didn't do any better than all of the other interviews (of course we did talk a bit about my solution to the test, but apart from that). I have no doubt that what made the difference was that I got to show my programming skills, rather than my (lack of) salesperson skills.
At my current job, new people get a simple programming test too (small company, we talk about things at lunch). And according to the manager/programmer who does the interviews, he's had several people who "had lots of experience with exactly what we are doing", but when shown a simple programming problem had no idea how to solve it. Those are the people who excel at regular job interviews. Good salespeople, but not good programmers.
I've been in the IT field for a little over 20 years. I still get asked to take the tests, it's really no big deal to me. While they can be a little annoying at times, I still take them.
If they get too annoying for you, write the answers in hexadecimal... ;)
There are two obvious reasons why people get tested in IT
1) People might have passed exams, but can they actually code
2) People might have been on a project where technology X was used, but did they use it?
The first is the case where you have a graduate with a degree in computing and it turns out they did all the "soft" options. So lots of theory but not practice and they don't even know what a compiler is.
The second is the case where you are looking for people with a given skill (say Java) and you want to check that they have that skill.
Its not true to say that other people don't have to sit tests, its just that a lot of the time those tests aren't written tests but are more open, indeed I prefer to test people using such open assignments. Set them a problem (design a system to do X) and then have them respond. This is exactly the same way that lawyers are often tested by their new chambers, they have to defend (or prosecute) a given perspective to show how they would perform and lay out their approach of constructing the case.
The point is that for most jobs they are "soft" jobs where a specific exam makes no sense once you have the qualification and therefore you do soft interview tests. In IT however we have lots of "hard" jobs where a specific skill is required and a specific level of performance is required. This isn't about professional v unprofessional its about the nature of an industry where there are millions of different technologies arriving every year and where the average ability level has been plunging for the last 20 years.
So get off your high horse and stop complaining. You are in an industry that changes, that means that the degree you did gives you a theoretical basis (hopefully) but your practical skills will need to be evolved. I did Ada, LISP, 68k and Prolog at University. Guess what? My first job meant I had to learn C in 1 week to prove I knew it and my 3rd job was the last one where I used any of those languages (I'm now on my 7th job). So did I mind being tested to prove I knew C/Java/XML/MQSeries/etc? No I didn't.
Do I test people to prove they really have the skills they say? You bet, I wouldn't trust an IT CV statement further than I'd trust Dick Cheney at a bird shoot.
All interviews test in any areas where its worth having a job. IT interviews test more because IT changes more and your qualifications become out of date more quickly.
Now for the real question though: Why isn't there a written test for high office, especially a geography test for US Presidents and VPs.
An Eye for an Eye will make the whole world blind - Gandhi
Unfortunately our profession can be learned from books. Because of that it can lead to a lot of individuals who claim to have the same experience as you but can't really program worth shit. Those tests weed out the people who can't from the cans.
I was looking for a job when the company I last worked for went in to the dead pool. One company I applied to and went for an interview gave me a test to take to make sure I was who I claimed to be. I was incensed and argued that I had a proven track record and refused to take the test. It resulted in them passing on me.
A friend had suggested I prepare code samples on mini CD-Rs. The 200 MB ones that are easy to find and cheap. I handed it to the last person I interviewed with. I was warned that I may need to produce code and make some code on the spot but it never happened. The code sample was sufficient. I'll also add that I was the only person to hand the person I interviewed with a code sample. None of the others who interviewed for the same job did. It made me stand out.
So prepare some code samples for them to look over. And even if they still ask you to do a test, swallow your pride and take the damn test. Sometimes we forget that those who have the gold make the rules.
Specks
Batteries not included
Here are some of the reasons you might be tested and another person might not be:
1. A business school graduate is part of a comparatively unchanging field, one in which a past performance record is likely to be repeated in a new job.
2. A lawyer is normally a member of a professional guild (the local bar association), and law is also a relatively unchanging field.
3. Technical/computer work is in rapid flux, today's marketable skills are not yesterday's or tomorrow's, also because of its esoteric nature it's likely that no one in the business will be able to interview you in any meaningful way. A test relieves the personnel department of any direct evaluation responsibilities.
But ... The more IT professionals there are in a particular business, the less likely that you will be treated like an alien insect. Do you suppose Google makes you submit to a boilerplate written exam? They do scout for talent using interesting published questions, but that is a different strategy with a different purpose.
Having 10 years of experience in technology doesn't necessarily mean you're fresh on whatever's the latest; it might even imply you aren't. Technology is a fast-moving field and more than 5 years of experience means you're probably good at design but you might actually be clueless about the latest version of Java, ASP.Net, Ruby on Rails or whatever it is they're testing you on. Seems like a perfectly valid thing to ask.
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.
It is because IT folks do something far more important (potentially)... compared to lawyers, accountants, sales people and HR that is.
Just think yourself lucky you've never had to interview as a proctologist!
I love reading posts from "IT Professionals" crying that they don't get respect when, as a whole, the "IT Profession" exhibits about as much professionalism and has about the same barriers to entry as, say, the "Hairdressing Profession".
A CV can be read in many ways. I think that testing is a good way to see that the skills, CV and open position match. That being said, testing can be done in many ways.
Someone recommended me to Google once, and the Google HR department obviously read my CV looking for the skills they were after. While I had them to a degree, that was only part of the truth. A later phone interview with one of their engineers clarified the situation a lot: He tested my skill set with a bunch of oral test questions that made it obvious to both that my skills were of the right sort but at the wrong layer of abstraction. (Scripting vs. assembly-level knowledge.) That test saved both parties a lot of time.
But like I said, there is good testing and bad testing. Often tests test passive knowledge, but not problem solving skills. Unfortunately the hardest to quantify stuff is also the most essential in terms of actual productivity.
.: Max Romantschuk
This type of test is fairly commonplace in certain engineering fields, and should be. Specific technical knowledge, trivial to test for, are much more important and much simpler to test for in engineers and technicians than they are in professional workers. If you can easily and efficiently test the skill level and prior training given a technical worker, for whom training is often quite area-specific and expensive, why on earth wouldn't you? This isn't paternalism, and is not a show of disrespect. I, for one, will neither stop giving nor refuse to take this sort of interview. The suggestion that we should seems ludicrous to me.
On a related note, just exactly what did you think a traditional business interview is designed to do? They are little more than a version of the skills tests that you're complaining about, but designed to measure the aptitude of managers and the like. They are more open-ended in nature, but not because those job candidates are somehow worthy of more respect. The questions are more subjective because the topics at hand are far more difficult to objectively measure than technical knowledge. Furthermore, you must also consider those organizations (especially within the government) that subject teachers, managers, lawyers, policy experts, etc. to standardized testing of some sort prior to hiring them.
A couple notes
o IT Certifications, with a few possible exceptions (CCIE) - are almost completely meaningless. They basically indicate that you have an IQ > 100 and your employer paid to send you to a boot camp.
o As one who has interviewed 100s of IT professionals, I discover that you can learn a lot from another IT professional by saying "What technology have you worked with recently, and tell me about it."
o Why do you think other professions aren't asked questions that are relevant to their field? Programmers are _always_ asked to code in an interview. EEs are asked to comment on circuit designs in their field. Mechanical Es are asked to describe how they've solved problems.
o Lawyers/Accountants/Doctors all require professional certification from accredited organizations, unlike IT "Professionals" that receive their certification from money-oriented diploma mills.
- Any Day above Ground is a good Day (Michael Rich, 1997)
Interviewer: OK, so you know C? what is the result of
i=0;
i=i++;
Joe Blow: Uhhhh...I....uuhhhh...it's compiler dependent!!
Last time I was in a job interview the first thing they did was giving me the exam. After I had filled it in I was interviewed. In the interview I realized two things:
- The job/company didn't interest me.
- I didn't want to work on a company that treated me that way. (I expect interviewing first and if both parts agree, then make the exam).
My conclusion was I should have brought a test for them too. Some questions it could include are:
- What was the company income of last year? ...
- What do you think are the most important ways of keeping your employees motivated?
-
I think financial questions about the company are very interesting, specially because you show you're not only interested in your day to day job but also in the company economic health.
Management questions are also interesting because they directly talk about your interviewer if he/she is to be your immediate boss.
It's easy. Just about every traditional profession you cite has a professional body with professional qualifications, which believe it or not, can be quite hard to pass!
Professionals in other fields who are incompetant can lose their professional accreditation, incompetant IT workers on the other hand, just move from organisation to organisation. Quite often with good references because their previous employers are pleased to see the back of them.
Sometimes they are good, sometimes bad, they are usually just there to provide a starting point. When I've been asked at times to do such a test, it was always before the actual interview, and provided a base from where they started asking me things. Sometimes it happened that they asked about one of the test questions that I responded to correctly - they wanted to know how much I know about it - and I said, I never used it, then they asked how come I know it then, to which I said I always try to be up to date in other technologies - besides the ones I currently use -, an answer which they actually liked.
I'd say tests are nothing to like or dislike, it's just a part of the process. Other jobs' candidates are asked other things, that's their cross to bear.
I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
I have more than 16 years of IT experience and have no problem being tested and always test people when I interview them.
The truth is that lying on IT CV's is rampant and in the absence of a professional membership that requires you to continually update your skills to retain it (like accountants do for example) testing is the best way to weed out inappropriate candidates.
I've interviewed people with 15 years or more of experience who've demonstrated amazing ignorance. Some examples include people with SQL skills who don't know what a cross join is, financial markets experts who cant explain what an option is, C++ developers that cant use templates, experienced developers who have never used a profiler and the list goes on. If you're any good the test will only prove it and you wont have a problem finding another role if the test isn't appropriate.
1. You don't have to have any meaningful qualifications to apply for a job in IT. You do to apply for a job in law.
2. An incompetent accountant or lawyer can be easily detected before they get their first pay cheque. An incompetent IT person may not be detected until their first real deliverable is due months later, or until the first real disaster strikes, at which point the employer is really screwed.
3. The lack of objective measures means some IT shops are stacked with idiots so that a person from such a shop may think they're pretty good when in fact they are not.
Honestly, the testing is there for IT people because HR have found there is a higher risk with those candidates. Deal with it.
I have no objection to an employer doing the best they can to determine whether I am up to the job in question. What I find hugely frustrating are the types of tests used, particularly for programming roles. What I have found is that I am generally tested on my ability to remember the syntax of some specific language rather tham my ability to think logically about how to solve the types of problems that I will come up against. This seems to me ridiculous, as I will often switch between languages with subtle differences in syntax, so will often fail blind tests of this type. Also, I think there is a tendency among managers to become hung up on current trends among technology and be always looking for the next exciting new thing, rather than good solid people with experience and ability.
Too many people have read an article on /. about some technology, or tried something out for day then put it on their CV like they are an expert.
Some people say that's what on the job training is for, but when I hire somebody, I want them to come in and hit the ground running.
If you are the sort of person who is won't put up with a simple test, which seems to me to be quite a reasonable request (where you seem to think it is all "how dare you question my magnificence), you certainly aren't the sort of person I want to employ. I don't want someone who is not willing to pitch in with whatever is needed.
In this case, I think the test has provided a useful function.
I think IT should be a trade.
1) Programmers
* Do small tasks first, learn theory do harder tasks.
2) Sys Admin same.
I mean - the outcry here against IT "professionals" who have no clue about "real" issues here is legendary. Just one (two?) days ago there was a general 'dance around Piggy' with regards to IT people managers who can't code in multiple languages.
If there are practical tests for even high-level positions, this should ensure you will never have managers that are technically clueless.
Unless of course you want _yourself_ to be trusted implicitly based on your job role history, but never want to work under someone who has simply gotten the job because of their job role history. Which might be the case in some cases, we're all human after all.
Most management consulting companies (McK, BCG, etc) test interviewees with cases and sometimes written tests. These interviewees are from top MBA programs and gladly go through the testing process. To a lesser extent major investment banks also test people.
I think you are overstating your case/situation. Other people in other fields certainly are "tested" although perhaps in different ways. That's a big part of what an interview is. Your question begs for a blanket answer that won't be able to fit every case.
Perhaps the better questions are:
1) Whether the test is useful or not and
2) Do you care?
1) It all depends on the details and objective of their test. Take the test and if it seems like they were asking relevant and useful questions, then be glad they are screening effectively for good employees who will be your coworkers. If it's a random test of corner-cases, then maybe they have no idea what they are doing. Which leads to..
2) Do you care if they have no idea what they are doing? If so, don't work there. If not, then take the job or be happy when they reject you.
In summary, I suggest you don't let pride or ideology get in the way of taking advantage of the situation.
The reason why they do this is because they haven't a clue what we do and they're trying to put some qualitative or objective number on each person to help guide them to hire someone. It's human nature to try and analyze what we don't understand.
That being said, I, too, would feel insulted if someone asked me to submit to a silly test. It depends on what sort of job you're interviewing for, I suppose. If you're going to manage the IT department, testing your skill set is less important, since you'll be delegating most of the work anyway..
Nitewing '98
Everything works...in theory.
Be more specific, my CV needs a boost
Can we test potential employers? Why do we take their word that it's "a great place to work." And certainly why should we believe stuff like "we work as a team."
Interview the potential bosses and test them on commonsense and ability to be a decent person to work with/for.
Besides just raw data research, I've always found it critical to ask questions and look around meeting people and talking to everyone I can. If you ask the lowest people in the system how they are treated, that's a very fair assessment of the overall health of the social environment.
The test I developed is fairly broad. There are some skills which I would think a "Certified Windows Professional" would be able to get correct, like: "Using the telnet command, how would you check to see if a SMTP server is answering requests?" Almost none of the "certified" folks got that one right. I just wanted to see mainly if people knew which port (usually) a SMTP server uses.
I mainly want to see if applicants have any "real" Linux experience. Anyone can write a nice resume, but when things are looking bad, and you need your sysadmin to shine, do they really have the skills needed? If I posted the answers to some of the less linux specific, and actually more windows specific questions, from people with certs, you would be amazed.
I could also care less about certifications. About the only one I respect, are the ones Red Hat has. I like their testing methods; no multiple guess questions, they put you on a real system, with a real problem. Multiple choice tests could never tell you really what someone knows.
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.
The best questions to ask someone in a technical interview aren't theory questions but scenario questions that prove the persons experience, knowledge and skills. As an Oracle DBA I ask questions on backup/recovery, diagnosing user problems, performance issues, disaster recovery. If they can't cut the mustard they can't do the job, simple as that. You don't stick someone who thinks they can talk their way through in front of a production database because in a real situation the mud's going to fly everywhere.
Analytic & algebraic topology of locally Euclidean meterization of infinitely differentiable Riemmanian manifold
When we started using tests for positions, we saw the number of applicants drop from about a thousand per seat to about twenty per seat. Of those twenty, typically four are worth a FIRST interview. So we skip the first interview and spend a few hours working with the candidates instead.
What I have noticed from graduates is that the quality of knowledge had declined over the last decade. In our last recruitment test we had a simple logic refactoring question, and not one candidate was able to achieve the optimal answer.
So, we don't necessarily ask for any qualifications any more. But we expect skill and interest and determination. A recent markup engineer was 19 years old and knew more about markup than every other candidate put together.
The other thing is, some candidates actually like the tests - the tests indicate what the job will be about, and if the work is interesting to the candidate, (and after all, they will be 'tested' with real work just like it every day of their working life) then it's not such a burden.
We test for every position in the technical department. We tried doing tests for the design and business departments, but it didn't work nearly as well.
This comment was written with the intention to opt out of advertising.
Sadly, a lot of the "IT Professionals" I encounter are plain idiots. Even in-depth interviews can't guarantee that you have someone capable in front of you, but it does filter out those idiots.
I work for a small (5 ppl) IT-only company and when we hire someone, while he will get some basic training, he is supposed to work pretty independantly. But once in such a position you can pretend doing a lot while doing almost nothing, and still make things appear to 'work'. You'd be amazed what an incompetent guy can pretend to be and produce results that on the first glance seem to be OK. And then when his software goes into production you suddenly notice that he didn't use an XML parser, but expected certain data on certain lines and filtered it out using regular expressions - and NO, not using the standard regular expression library - but doing something like this in C:
sprintf(cmdbuf, "/usr/bash /bin/sed -e \"s/%s//\" > /tmp/filename", inputbuffer); ...
system(cmdbuf);
fp = fopen("/tmp/filename", "r");
You get the picture. He btw didn't even write a function to do this, but copy-pasted stuff like this a few 100 times... Software worked in test, client changed 1 insignificant thing in their XML generation (added a tag we didn't use), and our entire system went down. I ended up rewriting this guy's stuff after he was fired.
And that's the main problem with IT jobs, you only notice they're incompetent when things start to go wrong. And then it's too late. So if I have to interview someone for an IT position, I want to be as sure as possible we don't end up in such a situation again. Masking incompetence in an IT position is just too easy.
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
Is the idea of proving yourself to them is beneath your dignity? If so, they probably wouldn't want to test you anyway.
Is it that you are worried that you are not good enough to pass their tests? Or that someone else will do better than you? Well, tough. Nobody owes you a job!
Mainly because the hit rate is so bloody terrible.
I interview programmers all the time, and hire about 1 in 50. And the ones I do hire are great, but I see some truly unacceptable people who have great CVs.
Or they've worked on something which is really interesting, and smart, and when you dig it turns out that they simply don't understand what the team did, they just 'did their bit'.
You _HAVE_ to trust your developers, even with code reviews, design reviews etc etc in place, or you end up doing all the work yourself.
Frankly, I think it's more a question of 'why don't they test the others harder?' ;)
The flip side, of course, is that I get interviewed HARD whenever I go for a job. And, frankly, I really enjoy it. Don't you? If you do this sort of thing because you have a passion for it, you'll probably get something out of the interview, not view it as pointless. In fact, I've turned down jobs because the interview was too cursory. I think it says a lot about a place, how high the barriers to entry are.
Based upon the post, we have whiners in our industry.
Look, if you feel you are above testing when you go to an interview or feel the job is not worth your time to take the test, then walk out or let them know that it's an insult. The latter being a way to start off a good business relationship. ;-)
There are no loopholes. It's either legal or it's not.
Should IT professionals start to refuse to be treated as not real professionals?
The workers knowledge and experties is not always proofed with working time or any other certificates, you need to show what you know.
It applies to any professional, you only need to live with it. Even someone has studied computer science in university, does not mean that you are always actually qualified.
Professional does not mean same as qualified.
Even the amateur can be more qualified to job than professional. Problem is that most people does not understand the difference of the professional and amateur, they make a black/white analyse for that.
The difference is usually just the payment... But the other difference what makes actually more, is that professional spends usually 8h/5d a week to work, while amateurs just usually spending the free-time. But then again, amateur usually with greater passion can lead better quality of work.
But I would not hire a 15 year old kid without tests either, even what kind "promise" he would be.
What I would demand, is that every person who gets hired, gets tested first with same tests, and if test is changed later, older workers gets tested again with new tests. Or then every person gets choosed only by their certificates, without knowing their real qualities for job. It is one or other, not mixed...
I worked for a company who had to written tests for new employees, there where 4 lvls of testing : Junior/Intermediate/Senior/Enterprise Architect. The test was then followed by 2 interviews one to assess technical competenace and one to assess soft skill.
All Candidates had University Degrees.
The success rate of candidates was approximatly
Junior : 1 in 4
Intermediate : 1 in 10
Senior : 1 in 20
Architect : 1 in 40
The numbers speak for themselves, the tests help filter out people who are wasting you time.
Anyone we invite for interview as a programmer has to sit a little test. They have an hour and a half to solve a problem. They've got an interwebnet connection and all the docs. It's amazing how many people with great CVs this weeds out because they can't do simple things like open a file.
Seems like you want to have a job just handed to you. 2-4 years and a wide range? What the hell does that mean? As an employer Id surely want to test you.
This 'test' here? Am I getting PAID for my time to take the thing?
I don't work for free, and my time is valuable.
Technology -- No Place For Wimps! Grateful Dead and Jerry Garcia Chatroom -- http://www.wemissjerry.org
I don't know about you, but I would RATHER be tested during an interview. It would increase the chance that I would wind up working with competent co-workers.
Michael Chermside
http://mcherm.com/
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.
OK, so you want to run my IT shop for 100k a year?
You'd better know how to do the following:
- register and renew domain names
- setup a pair of properly configured DNS servers for multiple domain names
- setup a properly configured mail server for multiple domain names
- setup and maintain a mailing list manager
- configure a packet filtering firewall
- configure a router and get ISP connectivity
- subnet an office network
- configure a DHCP server
- configure a switch
- setup a tftp server to install images of OS of choice to workstations, over the network
- setup an LDAP server with a properly designed DIT
- configure all network services to use the LDAP server for authentication
- setup a database server, file server, web server, remote access server, etc...
- setup a network monitoring solution to make sure you or your team get alerted if any of these services goes down
- make sure that all of this runs at an acceptable level of performance
- be able to automate tasks with shell scripts and perl
- ensure the security of all network services is constantly at the level which the business requires
Got it? Or do you?
If they would be able to do tests in other departments, they would do them there as well.
So the question should not be why they do it in IT, but why they don't do it elsewhere.
Don't fight for your country, if your country does not fight for you.
...bullied from an early age in elementary and high school, that it seems normal in adult life. We even rationalize it and justify it.
Why else acquiesce to being treated differently under wage and hour laws, being segregated from the rest of the companies - often in a separate building with a substandard environment.
Being socially ostracized, over-worked, underpaid is just what we have come to expect.
most IT chumps are lying slimey gits that can do fonz all without a broom up there ass, there are so many areas of it that any old monkey can say yea i can do that, i have to deal with twat ass it people all the time, its like, well, yea, just sit there with your nylon shirt that barley fits over you burger guts and sweat a bit and everything is fine, these people should test you scheming retared windows disk inserters cos most talk utter crap in the hope someone will stop asking them questions. the IT industry is a big load of steaming crap. sort it the fonz out
Pilots trying to get hired usually need to go through pretty interesting tests in the application process. Theoretical skill tests, psych profiles and further on in the process also practical tests (in procedural simulator). Most of those tests are mostly pointless and redundant. It's the mostly that changes a bit... Most pilots get to try most of that stuff in flight school, including some psych profile tests but the tests may weed out some with large psychological problems (mostly just to weed out the complete nuts) and the theoretical tests force you to skim over some of that stuff before you go. The most obviously useful tests are the practical and the interview. To make them effective you want to apply a filter beforehand. That's really what the other tests are for. Works ok. Boring as hell, but...
Even the result of
i = 0;
i = i + 1;
is compiler-dependent. If i is anything other than 1 after these two lines, your compiler is probably buggy as heck, but that doesn't change the fact that the outcome is compiler-dependent. Therefore, don't ask "what is the result of *code*?" but "according to the C standard, what should be the result of *code*?".
An artist friend of mine was given a piece of clay and told to go make a model as a test for one job she'd applied for, so it's not just IT.
Also, as many others have said. Written experience counts for nothing, you can still be a muppet. I do interviews for new technical staff and I'm no longer amazed how many people look good on paper but are unable to explain/demonstrate the basics in their own technology area.
It's because we've been burned at least once by a person who misrepresented themselves.
I'm not going to entrust one of the most important core areas of the business to someone unless they can prove they can do what they say they can do.
Plus, in the US, once you have hired somebody, firing them isn't necessary trivial.
o IT Certifications, with a few possible exceptions (CCIE) - are almost completely meaningless. They basically indicate that you have an IQ > 100 and your employer paid to send you to a boot camp.
True enough for most industry certifications, although in many cases, that may be exactly what you need - not a star architect, but a competent person to do what they're told with a language they understand.
o As one who has interviewed 100s of IT professionals, I discover that you can learn a lot from another IT professional by saying "What technology have you worked with recently, and tell me about it."
True enough.
o Why do you think other professions aren't asked questions that are relevant to their field? Programmers are _always_ asked to code in an interview. EEs are asked to comment on circuit designs in their field. Mechanical Es are asked to describe how they've solved problems.
Interviewer: Here, we've got a little problem for you to work out. Please minimise the tax for this fictitious client over the last fiscal year. Here's a PC with Excel. You've got 20 minutes.
Accountant with 10 years experience: *gets up and leaves*
Clue-flash - it's not the candidate who comes off looking unprofessional when you ask them to jump through some undergrad-level hoops. If you ask about their approach, or how they would handle a problem, that's fine. Asking a candidate with years of experience to prove themselves on the spot is, IMHO, like asking a candidate doctor to perform a quick biopsy and then discussing his stitching technique afterwards. I'd be more than happy to walk out of such a situation... fortunately, no employer has ever been so rude to me.
o Lawyers/Accountants/Doctors all require professional certification from accredited organizations, unlike IT "Professionals" that receive their certification from money-oriented diploma mills.
You can tell that by the CV. If you don't recognise the University or certification organisations on the CV, don't bring them in for an interview. If they're not registered with the relevant professional association (varies by country) don't bring them in for an interview. This isn't rocket science... but it does suggest screening and hiring approaches need to change.
Forget thrust, drag, lift and weight. Airplanes fly because of money.
Comment removed based on user account deletion
If you're an incompetent engineer, attorney, accountant, or physician -- or someone who misrepresents his abilities in one of these occupations -- then you tend to get found out rather quickly (if for no other reason than that colleagues stop covering for you). In IT, on the other hand, people who aren't quite up to the task can persist or be tolerated at companies for decades. And employers are getting sort of sick of it. So they're asking IT 'professionals' to put up or shut up.
'He who has to break a thing to find out what it is, has left the path of wisdom.' -- Gandalf to Saruman
professions should do the same. It's so very easy to lie on your CV and claim you have skills that you don't actually have that it becomes easy to get jobs that you aren't qualified for when the recruiters don't verify you in some way.
The reason it's more important in IT than in some other fields is because of the rate things move. Having a degree and 10 years experience could just mean that your degree is 10 years old, and that your skills aren't up to date enough for what the company is after. Saying you know Java, doesn't actually mean you know the nuances of Java6 - you might have studied Java 1 at uni 10 years ago and have not touched it since.
At my current job, we've actually had people apply for programming jobs here that didn't know how to write a Swap routine in Java. Needless to say they didn't get the job. Why should other "professionals" get away with getting jobs when they don't have the up-to-date knowledge required to do it properly? You'd be really rather upset if you learnt that your accountant didn't know the relevant changes in tax law in the last 5 years, or if your doctor didn't know about the latest advances in surgery...
Sorry to be a bit irrelevant here, You can mod me down but please answer the below question please:
What counts as verifiable work experience? Work experience in a big company? How about with small company? Is it necessary that you must be an employee instead of the owner? Is it verifiable by my business partners? What if it's a company with one person?
Thanks for answering. A headhunter comment on my unverifiable employments but I forgot to clarify further.
If you delay pleasure infinitely, the pleasure will be infinite. (YM)
My very first phone interview. I was home, drinking a beer when the recruiter called and asked if I was available for a phone interview. I said sure. They were late so I thought it wasn't going to happen. I cracked another open and the phone rang. Yep, it was them. I did the interview while drinking my second beer. I was relaxed and for the first time in my life, I didn't stutter or stammer. I got the job and did well in it. I never did that again: drunks don't get jobs.
It's a long boring story why I have test anxiety (among others) and I've been working on it for the last 20 years or so. I'm sure there's quite a few folks like me who have anxiety issues in IT. I think it's a profession that attracts people with anxiety and other emotional issues. It was a career path where we could code, be productive and make a living - used to be a nice living, too.
What makes you think this happens only in IT? I applied for an engineering position a few months ago and had to go through the same thing. When a company gets 10 very good applicants how else will they separate the good from the bad, a 20 min interview?
Every engineering firm I've worked at has tested me first in some way. If not for technical then for behavioural. I expect this is going to continue until I become a Chartered Engineer and accredited with the professional body here in Australia.
Just looking at some of my colleagues, they give degrees and work experience to anyone these days.
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.
Comment removed based on user account deletion
but over here in Denmark you are not allowed to ask former employers about their performance, you can only verify they worked there.
Right now we are stuck with a person who claims to have 10 years of working experience in the field his assigned to, yet he doesn't seem to be able to do anything. Verifying abilities are vital, even for those experienced in the field. (In our case we just grabbed whoever we could, there is a huge shortage in IT people around here)
Depends how much you want/need the job...
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
... to filter out people who think they are so good they don't need to test or even interview for a job. This way we keep our team full of humble people who actually want to work here. We got the test off the web, I'm not even sure which language it's in.... :-)
You people are so tough on your employees but your elected officials are hired based on race and lies you sound like a bunch of power hungry cowards.
The problem lies in what I've been saying for 10 years: There's a much bigger range of expertise between managers and workers within the IT field than in any of the others you mention.
In other words, a "manager" in HR, accounting, or law can perform the tasks of the people they manage to a much greater degree than can an IT manager.
The HR manager knows enough about HR to spot someone who doesn't. The same applies to nearly every other profession - except IT.
IT managers often know very little about the technologies, tools, and languages used by the people they manage. Therefore they have to rely on tests to determine whether potential employees are "BS'ing" or not.
The IT industry grew into existence much faster and very differently than other industries, and because of that the management structure evolved very differently, and in a much more reactive way.
The only solution is to change the qualifications used for IT management. If IT management positions are filled by individuals who possess the same level of expertise in their field as as that of management in other fields, there will be no need for these tests.
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.
You shouldn't be offended by companies that decide to test their future employees. Quite the opposite actually. If they don't want to test then it might be because they don't have time to test you, which could be a really bad sign. For example, Google tests it's employee's (via technical interview) quite thoroughly. I consider a paper/online test just another part the technical interview, and have been happy to fill one out or write the code/project necessary to complete the question.
It's reasonable. If you do poorly on the test take the feedback and improve yourself. Never stop learning.
My pet peeve these days is diploma mills. A certain big, well-regarded university I know of seems to churn out unqualified masters students. I talked with the dean of CS there once about it, and he just said "We're already requiring so many courses, we can't require any more". Perhaps they need to be pickier about who they admit, but I've heard it speculated that the CS masters program is a profit center; and being pickier would hurt their bottom line.
Another useful data point is whether the person in question successfully gets lots of code into well-run open source projects like Wine or the Linux kernel. Handy tools to search for commits include http://ohloh.net/ http://marc.info/ and http://cia.vc/ . (And yes, despite being a wine advocate for years, I have fewer than 100 patches in. Lame! :-)
Yeah, I find it embarrassing to make competent job applicants sit through these basic tests too. But we have been burnt before.
One applicant who came across well in an interview and had an impressive portfolio of past work, turned out to have no concept of object oriented programming, and used public Windows objects to pass data between his classes! His code worked (sort of), but it was unmaintainable and unscalable.
The tests are just a hurdle; does the applicant actually know the language, can they problem solve, do they understand basic concepts in the field. They aren't meant to be an insult, just a way of figuring out who might be able to do the job without the pain of a three month trial.
We have no industry wide standard qualifications. A lawyer has to join the bar, the doctor swears the oath. We have nothing that says "Ah yes Fred is a member of the IT Porfessionals Association of , he can practise his craft wherever he wishes.". I have Oracle DBA qualifications on minis and mainframes and nearly 20 years of PC experience, wouldn't dream of going for a Windows admin job, even though I know I most likely could hack it. IT industry has so many facets, that an "IT qualification" is so vague due to so many software pakcges. Much like your degree in CS, it says I understand the standard basic tech of IT. I know project managers who have CS degrees, but I wouldn't let them install a DOS 6.2 on an old 486, 'cos I know they would wreck it!
You need to be tested because you could have 10 years of QBASIC experience and 10 days of VB .NET so you declare yourself a VB .NET coder.
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.
IT is not a profession. calling yourself a "professional" might make you feel like you are just as good as a doctor or lawyer, but it doesn't make it true. every halfwit from management on down to the cleaning staff calls himself a professional. you are more akin to a skilled tradesman. only there is no licensing test for IT personnel like there is for plumbers, engineers, and so forth. So your prospective employer feels he needs to make sure he is going to get his money's worth out of you somehow.
If they are verbal. I love an interview that asks me "what would you do in this situation" or "how you you best describe x" or "give me the most efficient design to achieve y". Such situations test a persons' instincts. To test someone's ability to code in an interview is ridiculous beyond measure - the same person who would fail the test, would otherwise innovate the hell out of anyone else in practice.
I think it is perfectly reasonable to be asked to take a test to prove you know what you say you know. I've seen plenty of people with certs who were able to pass tests but really had no idea what they are doing. It's a complete waste of resources to hire someone, find they dont cut the muster, and fire them.
I've been blessed with superb management for the the last 10 years of employment. Clued people who know the technology, understand the bottom line, and in most cases have better skill sets than their underlings... But most people arent blessed so. All those clueless managers were hired by other clueless managers. People whom would have been weeded out early if their skill set was tested.
I dont even understand why it would be in the least bit insulting to have to prove you skill set. Seems a bit arrogent and simple minded to think people should just your resume and trust their own judgment of you during an interview.
How 'bout we start employing people based on what they claim, not what they can do? Sounds good to me.
No sig today...
IT field is so wide and diverse with many people coming to it's ranks without any "true" background. I have a degree in Textiles. I manage and maintain a wide assortment of applications, servers, databases, email systems etc. I actually laughed at a lady on the phone a long time ago during an interview, who said that they were only looking for MCSE's. When I laughed she seemed so surprised and asked me why?
I told her "You do understand that you can get one of those in 2 weeks offline right now right?". People have become so dependent on "certifications" that they don't actually test those individuals skills. I don't limit it to IT either. The same thing applies to MBA's. I wound up being involved in a round table interview (2+ applicants at the same time) and everyone but me had a certification. When asked what the difference between mirroring and clustering in databases was one of the answers was (I joke you not) something oracle can only do.
Additionally, I find that now, most companies don't truly involve their IT groups in the hiring process. They ask for "specs" for a job and then try to match them up. This doesn't work in reality. It might with a secretary, or blockbuster video clerk... but not in IT.
IT skills are quantifiable. There's no "bullshit" answer. There are several different levels of gray but if you ask a programmer what Model View Controller or what a framework is... there's no bs answer that isn't wrong.
When I create questions for a prospective employee I'm not trying to ramrod them. I ask only questions that I believe they should know 100%. For example, a ColdFusion programmer position is about to be placed here are some of the questions I plan to ask. I don't necessarily believe they need to know how to do all of them, but they MUST know what they are.
This position will be updating a slew of applications written in ColdFusion 5 and fixing about 30 databases that were converted from Access to MSSQL and 99% of the fields are NVARCHAR.
1) What is SQL injection and what built in features of coldfusion protect applications from it? .cfm and a .cfc? ...
2) Write an inner join query?
3) Whats the difference between a
4) What is an SVN repository?
5) What is the datatype NVARCHAR used for?
6)
You get the idea. However, my reasoning for asking these questions isn't just for the answers!
1) How well did they answer the questions? Enunciation, quickness to respond, accuracy in describing solutions
2) What is their personality like when pressured?
3) When they don't know an answer how do they respond. This is a big one for me. I expect you to say that you don't know. Bonus points for you writing it down and emailing me the answer later. This lets me know you didn't forget, and that you are trying to improve yourself.
A lot of times I'll throw in a question I KNOW they shouldn't know just to trip them up. I want to see how people react under pressure. We have 125 employees all depending on these applications for our business functions. If something screws up I need them to be quick, calm and attentive to the problem. Imagine this on a much larger scale, like 10,000, or 100,000. Businesses need to depend on these employees.
So, tests are necessary and frankly I'd like to see them in more positions.
It depends a lot on the kind of test, ofcourse. There's a lot of stupid testing out there.
My current employer gives job applicants a programming assessment. Solve a simple problem related to the work you'll be doing, and your future co-workers look at the code. If your code looks good and its works, you get the job. If it doesn't work or you handle your exceptions badly or something like that, you don't get the job.
I think that's a brilliant test to give people.
Diploma's, experience, certificates, they mean nothing if you can't get the job done.
So why don't they give lawyers and managers assessments like this? Perhaps because their work is harder to test like this. Perhaps the quality of their work doesn't matter quite as much. I don't know. But I do like knowing that my programming co-workers aren't complete idiots.
As someone who has been on the other side of the table (interviewer vs interviewee), I can attest that asking simple programming questions is often a necessity - to weed out those who are lying through their teeth about their experience.
I don't believe in Microsoft/Google style "trick" questions for a variety of reasons:
- Failure to figure the carrying capacity of an african swallow in an interview should not trump years of soldid accomplishments
- Ability to answer these types of questions is something you can prep for - not the sign of innate intelligence they think it is
- The ability to swag the number of 7-11s in America is not closely related to the needs of the typcial programming job, even if it makes you feel all "googly" inside to be surrounded by people who's main ability is being able to do so
But you'd be suprised how much you'll find out by asking someone to do something as simple as writing a functio to reverse the order of elements in a list or some such trivial task. The level of difficult should be very low - the purpose is to see if you're really fluent in the language(s) you claim, not to see how well you can solve complex problems under pressure.
*After* earning their actual degree, Lawyers have to pass the gruelling bar exam. Doctors have to do the medical board exams and a guelling internship. Engineers have to get their certifications.
IT graduates, just have to carry their piece of paper home. Sure you can get your Microsoft and other vendor-sponsored certifications, but these are generally jokes-marketing tools. At the very best they qualify you for some specific experience with some specific products, and don't thoroughly test your general IT skills. I've seen Cisco certified engineers leave me with bottlenecks due to looping routes, and generally trashed my network. I've seen MSCE's that are totally useless.
It always strikes me odd, that an engineer building anything has to build to standards, which are externally verified and permits obtained through inspections, etc.. Software engineers and IT staff can implement mission-critical systems without any standards or oversight. I know the software/computer hardware world makes things so incredibly flexible that it'd be hard to defines standards to regulate against; that's likely the problem. (If I want a bridge, everyone can pretty much agree upon what is wanted, a copy of something that has been done before, and approved, standardized. Not so much for a new application. For IT infrustructures, a case could be made for more standardization, I guess.)
But this flexibility it also results in some pretty horrible work being done out there.
Also, the standards in other fields allow for greater accountability. If an engineer, Doctor, lawyer, is incompetent and not providing the standard of care their industry demands, you can sue them for such. (I'm likely to sue my former lawyer for incompetence and ignorance of the law and my case.) But try suing a software engineer or IT person. There's just no clear standards of competence with which to judge him or her.
Having tests to weed through some bad ones, makes sense, and I see why it comes about. It's not perfect, but it tries to address a shortcoming in our field.
Love many, trust a few, do harm to none.
Lawyers must pass a bar exam.
Accountants must pass a CPA exam.
Sales gets paid only if they produce.
IT expects 100% of their pay, and takes no exams prior to employment.
"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?"
Others have already pointed out that lawyers and accountants (CPAs at least) submit to testing and are certified by professional organizations. You can't market yourself as a lawyer, CPA, or even an engineer in some places without having the backing of a professional guild.
What I'd like to know is why, in the face of offshoring and job losses, the IT industry hasn't coelesced around a professional society or guild. A professional guild, with some rigid certification testing, would be more effective than even unionizing since it produces a win-win for both employees and employers. Is it just that the need isn't perceived to be there yet?
With professional certification, employers would know they are getting skills without expensive testing and competent IT professionals can be assured that they won't be working with "IT Professionals" whose sole IT experience is that they took one Visual Basic course.
There are lots of vendor specific certs (MS, Novell, Oracle, IBM) but to me, that's more akin testing accountants for having skill in using QuickBooks.
The Open Group has IT Architect certification (http://www.opengroup.org/itac/) which looks to be a start, but it doesn't appear to have gained much momentum. IBM offers cross-certification of its internally certified architects but even within IBM, not all departments bother to pay the fee for TOG certification.
I also see that there's an Institute for Certification of Computer Professionals (http://www.iccp.org/iccpnew/index.html) that's been around since 1973, and a lot of people on its web page have important looking letters next to their names (CCP, CDMP) but outside of this web page, I've never run across an IT person with this on their business card nor a company that insists on this certification.
So I ask the exact opposite question that the poster asks, "Why don't we insist on recognized industry certification testing for IT professionals?"
JoAnn
Have been the interviewer lately? There are countless people out there claiming years of experience, getting certs, etc who couldn't debug a problem if their job depended on it. It might be incompetence but more likely they're padding their resumes to get their foot in the door with the hope that no one will call them out on their skill set. So if you don't like the tests, blame all the losers before you that were less than truthful about their skills and experience. Feel free to get a law degree if taking a skills test is beneath you.
The way I see it, you willingly accepted the interview. If the potential employer wants to test your ability then they have the right to ask you to demonstrate some basic skills at least. You obviously can refuse but I somehow doubt it will endear you to them as a candidate.
As a small business owner of a tech company I would question the abilities of a candidate who refuses to demonstrate at least a basic proficiency in their craft. This becomes even more relevant if the candidate has a degree/diploma from one of those 6 month - 1 year training programs and little work experience.
I think the fundamental justification for a test is that many people in IT (programmers especially) are more artists/craftspeople than professionals. Sure, thinking is a large part of the job, but mental product isn't the sole output (as it is in law, HR, and other professions you mention that don't get tested). Just as you would expect to see work from a carpenter, plumber, or film maker before you hired them, an employer can very reasonably ask you to demonstrate your skills. Just because someone has degrees, certifications, and experience doesn't necessarily mean they have elegance, finesse, or artistry when it comes to writing code or debugging systems. A lot of what the industry values in its employees can't be taught, but it can certainly be tested. Giving a potential hire a code sample with a subtle bug you can judge their process in ways you can't with mere questions. Similarly, asking an interviewee to answer questions on the spot allows them to demonstrate how they code in an ad-hoc environment. This is especially useful for identifying people who don't have enough experience to develop independently.
Also, many professions, such as the law, have certifying authorities (such as the bar) where practitioners must pass a minimum standard in order to join the profession (and can be kicked out of). Because IT has no such standards body, and because so many people in IT are self taught or taught on the job, it's very difficult to know how much someone knows. There is no 'cannon' of IT training, no standard practice, nor even much agreement over what constitutes an adequate body of knowledge. The fact that people with no formal training regularly conceive and develop systems far superior to those with certifications, training and experience continues to speak to this fact.
I'll stop setting my test when supposed "experts" stop failing it spectacularly. I typically assign a short written test asking pretty basic, fundamental stuff as well as some more interesting esoteric questions. I expect everyone to get the easy stuff - the rocket scientists will have a good go and the tricky stuff. There have been a number of times when candidates have come in with impressive resumes, have been well liked by HR and management interviews, but have scored lower than a college student on the test. Obviously I back it up with a technical interview too...but the conclusion is usually the same.
Fact is, people lie through their teeth on resumes, and the interview is the only chance we get to figure out the truth. If you're good, I'll hire you, but I'm not going to take your word for it.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
Yeah... unfortunately, that's the opposite of what you want in a software developer.
Lawyers, accountants, etc ARE professionals, they are regulated by professional organizations and have to prove their qualifications in order to be licensed to practice. IT workers have no such regulation. In effect the State tests your lawyer for you.
I agree the tests for programmers are almost universally stupid and worthless, but if it makes some PHB someplace happy, who cares?
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
If you check sources such as Wikipedia, "professional" jobs are ones requiring a large amount of academic study or training. Following any reasonable definition, sales and HR aren't professional positions, so let's ignore those.
To become a lawyer, you have to pass the bar examination. Accounts have to pass the Uniform Certified Public Accountant Examination. These tests are really hard and extensive. Professional certifications of similar difficulty include the professional engineer exam, the actuarial exams, and the array of tests the various forms of medical doctor go through.
Since there are no similarly extensive and universally recognized tests for the IT industry, that's why employers and up doing their own tests instead (usually badly). I recommend taking at look at the typical requirements for the US Bar exam. They're not only quite a bit more extensive than any job interview you'll ever get, I would wager it's a more difficult test to pass than any computer-related certification available as well. That sort of thing is one of the major reasons any lawyer is respected as a professional and presumed to have a well known basic competence, while there is no such certainty with any IT person.
My previous IT job I was hired to debug php code. No big deal, not a major headache. Within a week, I realize that the company system itself is beyond broken. Over the years, they've had a pile of people had been in my position, each one gave up and were fired. Well, determined, I dove in to try and find issues. Putting out small fires. But then, I was handed development work. I could not get the boss to understand that I was not a developer, and that the "bug" he was seeing wasn't that a module wasn't working, but that it did not exist.
Fustrated, I began a code audit. Comparing the live code with the developers code and cross referencing them with approved code. Within an hour, I'd found that someone had been inserting code into the system without approval. I went to my manager with the evidence. By the time I got back to my desk I was handed my pink slip. Their given reason, I did not debug that module that didn't exist to begin with in a prompt and speedy manor. I know tho that the real reason had nothing to do with it, but that I'd scared someone with authority.
Last I heard, they'd gone through two more chumps in the same position. Both got the same "bug" module assigned to them.
Karma Whoring for Fun and Profit.
You are 100% correct. A computer scientist can learn any new technology / programming language, because we KNOW what is happening under the covers and behind the scenes.
there are a lot of cowboys in the IT industry there days. There are a lot of 'IT professionals' who sound fantastic on paper, but in the actual workplace, fail to perform. I believe tests can be useful making sure the person you are interviewing DOES indeed have the knowledge that is claimed on a CV, otherwise it would be a waste of time interviewing them.
Yes, people have sat for friends on tests, etc I am sure in College, however, I don't think any of that is specific to the IT Community. I would much rather take my PC to a IT guy who cheated, then be represented by the lawyer/Accountant, etc that cheated.
-Daver
Hehe I could do half of that without Google and I'm still only a junior in IS&T program and sadly I think that already puts my qualification above some "professionals"......
That, and a code example. You send us a code example after the phone interview, and before the in person interview. Basically, we're looking to see that you "don't do anything blatantly jack-ass". Also helps when you comment your code.
Then, as part of the interview process, we have a few questions we ask you to write essays for. One is based on design of a product we already built, one is based on design of a product we're currently building, and third... Is actually a riddle. My project manager came up with this idea, his thinking is "Let's see what kind of inductive/deductive reasoning this guy will use". Sounds like a good idea.
Turns out? All this crap is worthless. Case in point... We have a guy fresh out of college (no experience in the trenches) who we interview, and later get hired. His code is quite beautiful at a glance (not breaking down every line to profile it or anything), plenty of comments, nice style, etc. His essays are OK, they're passable.
But, he sits down, and we've got -multitude- problems. Let's start with one example: We're web developers, and in the first couple weeks, he needed to modify UI. In this case, he needed to use a few images for something. What kind of images did he put into our repo for versioning? BITMAPS! No, no, not a proper raster file-types like a PNG or a JPG, a bitmap -- BMP. Just cause Professor Dinglethorpe requires you to comment and indent your code properly doesn't mean you have a clue what really happens when you get down to production.
But, the real problem? COMMUNICATION! The kid just can't freakin' communicate with us. If he were bad AND would take the time to talk to us about what he's working on, we could stand it. We'd know what was happening when he did jacked up stuff in the code, and we later have to maintain his mess.
However, he doesn't take time to communicate with anyone. He's too busy leaving important meetings to take phone calls from his ultra insecure live-in girlfriend who calls him 18 times a day (for such important things as "Should we make lentil soup tonight?" and "What are we going to name this cat?"), reading I can has cheezburger and the failblog. Meanwhile, he slips under the radar. Our company plays to your competency level. So while I have taken on huge projects, become a stand-in for our system administrator, and the liason between customer service and information services (a pretty important role, they buy the important bugs -first-) -- this kid is getting assigned tasks like "We need to put hyphens between these words per the marketing dept". Good thing we get paid the same. Nice to get paid the same as the guy who's mastered reading I can has cheezburger. He can has cheeseburger, and I'll be the one to shove it up his... nose.
So, don't believe a technical test is going to determine if the next guy you work with is legitimate, and competent. If he can't communicate, and he has no work ethic -- frankly, you're screwed.
No matter how someone looks on paper, there are always people who fake what's on their resume. Even "verifiable employment" doesn't really say exactly what you did there. I've had to work on many jobs either with or after incompetent fools who BSed their way in by looking good on paper, and talking a good game (and I've usually had to clean up their messes). So for me, personally, I have no problem taking such a test, because it's my chance to show that I mean what I say. Plus, if the company gives these tests, it means that they're weeding out the people who BS their way into a job, which means my job would ultimately be easier, since I wouldn't have to work with these morons. So, personally, I have no problem at all with these tests.
However if you're talking about the tests which determine an applicants personality type, or determine if their capable of thinking in the right way, then a lot of professionals have to take them, including though not exclusively, engineers, marketing types, and a lot of other people.
They can be a really good interview tool as they can allow you to determine whether a person is a good fit for your organization(at least in theory) and also pick out people who have potential.
You also have to remember that, while doctors, lawyers, etc don't have take competency tests, they also have certifying bodies, you can't be a lawyer without the bar association saying that you can be a lawyer, ditto with doctors. IT does't have this(there are some certifications, but a lot of people who are qualified don't have them and a lot of people who aren't do.
If you're whining about proficiency tests, then you are exactly the sort of person we're intentionally weeding out.
And WTF is with this "IT professional" moniker, anyway? Who calls themselves that? It's like a janitor lumping mechanics with engineers to include himself with both.
Personally, I subject all job candidates to the Turing test. That takes care of a lot of people...
I specialize in PHP but if someone were to give me a test in PHP, say based on the Zend Certification, I'd probably fail since half the questions are on functions or code constructs that I would never find myself using.
For only this reason I think that huge multiple choice tests at an interview is unacceptable as a true barometer of work ethic and overall development skill.
However, having said that. I do expect my interviewer to know at least enough about this stuff to be able to ask me to write a MySQL query with an INNER JOIN or to write a FOR loop and then understand what I just wrote. If they can't do that then they don't pass my test. ;)
I certainly do test every software engineer who gets far enough in my interview process. I've taken programming tests in the past which were either high-school level multiple-choice or code quizzes focused on very specific details of the languages, and those seem worthless to me. As I'm more interested in the approach, algorithms, care, and structure that people will use writing code for me, I have them answer fewer than ten questions that cover a variety of topics. Most of them include the phrase "in any programming language or pseudocode". The only one that is C++ specific deals with basic memory management skills.
Overall, the reason I test people is that, as others have mentioned, you really can't tell a person's abilities from reading a resume. Maybe someone got a degree from a good school, and maybe he knows several languages or platforms and got some things done at his last job, but I need to know how he actually writes code, and whether he can demonstrate to me that he communicates well, has a full grasp of both the programming and the overall domain of the software he will be writing, and won't break things once I integrate him into the team.
Compare an IT professional or software engineer to other fields. In my case, we see many resumes from artists, and the big difference is that every artist comes with an extensive portfolio, which negates most of the need for a test, leaving only questions such as efficiency, communication, and work ethic. We also interview designers, who sometimes come with portfolios, and those portfolios sometimes show what we want. We create short design challenges for the designers' interviews, which help to accomplish some of the same vetting as the engineering tests. Yes, some people have complained about the tests, or simply not completed them. But the ones who have gone through the process often tell us how interesting those tests actually were.
As an example from another industry, do you think that a shipping company is going to let a minimum-wage warehouse employee drive a forklift without first completing many hours of safety training and supervised driving? There are many industries and jobs that require tests for good reasons, so I don't think there's really any foundation for you to complain. Remember that the structure and content of the test are a reflection of the company, so you're testing them as much as they are testing you. If the test is petty and worthless, then maybe you don't want to work for that company, and you can move on to the next interview. However, if you open the test and the questions show some deep problems that catch your interest and really make you think, then that may be a better sign than anything that you would enjoy working for that company.
...to take a test, you need to decide how badly you need that job. It's a valuable indicator that they either have so many applicants for IT positions that they need an early discriminator or that (most likely) they hired a staffing consultant to give them a (useless) litmus test because the company doesn't know what it is doing.
Just as an example, just outside of Charleston, SC, is a software company let's call 'Company A'. Company A is a fairly successful example of a software company and they have a reasonably large product suite, a reasonably large number of personnel (enormous considering the small talent pool they generally have to choose from) and solid processes and project management. From the outside it seems like they really know what they're doing, and at some levels in the company it is very likely that they have some talented people on the development/IT side of things; however, in order to apply for an engineering/IT position at Company A you have to take an 'IQ test' of sorts. If you don't bomb the IQ test, I have it on very good authority that they'll find you a position somewhere. According to these same people they may make more of an effort to retain your services based upon how you did on the test, but experience apparently did not factor into the process very much. This company suffers from moderate to high turnover in engineering.
Now, on the other hand, there's Company B a few miles away from Company A that has far fewer staff, and depending upon the position may have you take a brainbench exam (which should not bother you too mcuh), but they are HIGHLY interested in both what you have done, what you are doing, and what you'd like to do. Needless to say, this company is known for having a strong engineering team (if a little biased towards certain software architectural approaches - but hey, if it ain't broke - don't fix it) and excellent performance in the trading industry. This company has very low turnover in engineering.
Caveat - this information about Company A was accurate as of 2005 but they'd been doing business this way for years before that.
Loading...
You could be self taught which might mean you're a genius but then again you might not be.
Technology moves so much faster than law of medicine that your degree might be not be worth what it was before.
Coders could potentially cut & paste their way into "writing" a decent program from other people's work from the internet. A doctor can't do that.
Universities are still working having decent IT courses. Some, especially for game development, are lacking even from universities that may be well respected in other areas.
Because of the university situation and the fact there is no standard test. Who is to say your uni pushed you as hard as another uni would have?
It's a lot easier to get someone to write a quick bit of html and css in an interview than to get a lawyer to defend in court as part of an interview.
I've never had issues with testing as part of an interview. Seriously, if you're up to the task then the test should be no problem.
As in, there is no professional body (like the Bar association for lawyers) to kick you out.
The OP insults professions. If IT was held to the same standards as lawyers and accountants then maybe you wouldn't have to take that test.
I once interviewed an older guy who came personally recommended. He was crap in the formal interview and coding test - just went to pieces, through nerves I guess.
Since he came via someone I trusted, I took him out to lunch to calm him down, then left him alone for the afternoon with some real spaghetti code that another one of my senior guys has been trying to debug. I just asked him to 'take a look at that, please'. No 'fix this & you got the job' b/s.
When I dropped by a few hours later, he'd just finished rewriting the entire damn thing. Worked. He got the job. Interviews and tests are not everything!
Of course MS said you couldn't upgrade from NT Workstation to NT Server...
I remember reading that the "difference" was a half a dozen registry settings.
Of course - it still might not have the NT Server splash screen... it sounds like the interviewers took the question out of some MS trivia archive.
I have to agree though - you have to interview and you have to validate - and the only way to do that is to test.
Whenever I administer a test like this, the "right answer" doesn't count for a lot - how you get to an answer does though.
Many of the relevant skills can be learned, but my business doesn't have the time to teach a candidate how to get along with clients and co-workers. If you haven't learned that before you show up at one of our interviews - we don't want you... that's a test in itself for some candidates.
IT, as a field, change more rapidly than any other field. Knowing ten year old tech is not a job skill, it's a war story. It's not only reasonable, but I'd say that certifications are more useful than a degree. And current certs are better than old certs. i've come across tons of "Administrators" who have no idea what they're talking about.
What about things like:
Drug testing, biological testing -- Ok whatever someone does in their personal life outside of work is no business of the employer as long as it has no significant affect upon the employee during working hours. If someone violates some criminal law outside of work then they'd reasonably be dealt with outside of work and it'd be none of the workplace's business other than to deal with incidental issues like someone not being able to work since they're in jail. If I do a bad job for whatever reason, fire me. If I do a great job, MYOB and don't concern yourself with what I do in my private life. My bodily fluids, DNA, cellular material, hair, lice, stem cells, or whatever are MINE and NOYB! If I'm not a notorious criminal in public records then you have no sane reason to try to second guess my lifestyle; I've got good job references, I'm provably competent in my field, end of story. I'm applying for a job as a code janitor, not an astronaut!
Insane and often illegal "non compete" clauses that take away your right to work in your field of expertise via some strangely ambiguous contractual language that is unreasonable, vague, and infringes on one's basic rights to work even after one is not employed by one's former employer.
Intrusive "background checks" that pry all kinds of details about one's life from who knows what databases and sources. Often this is done with ZERO effective disclosure of the SPECIFIC information they want, the SPECIFIC sources to be authorized to disclose that information, and ZERO privacy guarantee that the information will be "eyes only" to a SMALL set of SPECIFIC people who will then be LEGALLY COMPELLED to retain NO RECORDS WHATSOEVER of the gathered confidential information beyond the 5 minutes it takes to review it. No, thank you, I don't want Company X and any of their affiliates, assigns, partners, investigative services, spying database companies, or anyone else they feel like sharing the data with to have unrestricted information to any possible record about me from any possible source for any possible time in the future to do any possible thing with it they want. My financial, medical, credit, et. al. records are my private business and not yours.
If you want to check specific business or personal references, great, ask me for specific ones and I'll authorize those entities to disclose information about me on a need-to-know / individual-case-basis. In any case, it is for the ears of my hiring manager during the course of a 5 minute perusal. I didn't just give you the right to sell it to some BigBrother database / mailing list vendor or to keep the information forever. It is personal and of no ongoing need-to-know interest to you even if you did have some reasonable desire for a quick, PRIVATE, and temporary perusal of very LIMITED information.
Onerous claims of IP ownership and review / disclosure rights of things that one has potentially developed in the past, may develop on one's own time using one's own resources totally unrelated to the company's time/equipment, or which I may develop in the future even after I leave the company. Frankly if I invent a better vibrator or patent a perpetual motion machine on my own time, it is my business, not my sometime employer's for whom I'm flipping falafels or doing code janitorial work for.
captcha: annoyed. Fitting.
In my current role, I have to hire management and non-management personnel for a variety of different roles. I just hired an accountant for our company. And you know what? I made them demonstrate skill competency for me - I sat them down in front of Quickbooks and asked them to familiarize themselves with our accounts and show me how to make journal entries for a variety of situations, and to go through some of our standard paperwork and show me how they'd record the transactions.
When I hire a lawyer, I want to hear a run-down of how they approach a legal problem in their area of specialization. I want to know what their skill level and depth-of-knowledge is. Of course, I am an MBA/CFA so the level of grilling I can give to an accounting candidate is probably more detailed than what I can give to a lawyer, but I still do my best.
Any professional should expect that their knowledge of their field may very well be tested as part of getting a job in that field. The more creative and brain intensive the job, the more useful in-depth testing is going to be, and the less informative your basic standardized professional credentials/certifications or performance in your average educational institution will be.
Because half the people who make it to the interview are complete dimwits, who plagarised their way through some degree program. Yet somehow manage to have a reasonable looking CV...
I have been trying to hire a .net developer for 6 months now.
I have had person after person come in with great resumes, 5 years experience, 10 years experience, 15 years experience, only to watch them crash and burn when tested.
My test is just a series of questions, usually open ended, that I ask during the interview.
Just last week a developer with 15 years experience couldn't tell me what an interface was. Clearly the question about abstract classes and factories would be pointless so I just skipped the entire OO section.
Another guy didn't know what a web service was... and this is a web developer position.
I have found that once you get past the general BS answers and actually ask them to explain something: "What I type in google.com, how do I get their web page?" they (unqualified people) crash and burn.
We have had a few who did fine, but we couldn't hire them or couldn't seal the deal, for a number of reasons.
I bet lawyers get asked similar test questions "If you had a client who ... what would you suggest to them?"
Lawyers, accountants and physicians are generally required to take a two-day or longer test before being licensed. Admittance into the tests usually depends on a thorough background investigation, including fingerprinting before the candidate is given an "entrance ticket." In addition, there are usually proctors, selected from current members of the profession, to make sure no one is cheating on the test. If IT professionals had passed state and/or national tests this rigorous, their credentials would probably be accepted also. As for salespeople, their exam consists of just one question, "Would you sell your grandmother to get a contract?" Negative answers get you thrown out into the street.
Yes, but you should be able to assume that anyone with experience will either know how to do most of those or will be able to learn in a few days.
Ask them a few questions about security and shell scripting certainly, but I'd assume that anyone who knows that sort of thing doesn't need to be tested on basic configuration work.
When you talk about "someone higher up the food chain," are you saying you would prefer autodidacts as coders, but a CS graduate as a software architect?
If so, I agree that's a good basic rule, but please don't forget the lessons from sitcoms and kids' books: don't judge a book by its cover, and don't jump to conclusions about people. I've met CS grads who are outstandingly productive coders, and I've met CS grads who are idiots who shouldn't be trusted with anything tech-related. I've met self-taught programmers who were great coders, others who were good even at the "higher up the food chain" tasks, and others who should have chosen some other field.
"It is nice to know that the computer understands the problem. But I would like to understand it too." --Eugene Wigner
I have hired my fair share of people over the past several years. What I have found are, for the people I have hired, is that they are mostly, grossly incompetent. They have skills listed on their resumes that they do not possess. They claim years and decades of ability, but when you stick them in front of a terminal, you get a blank stare.
This includes people I know and have considered friends in the past.
Cluelessness runs rampant. Finding good people is hard. Certifications mean precisely zero. They are a waste of time for me, as I don't see "certified" people as being any more clueful or competent to solve relatively simple problems.
University degrees are similar. The best programmers I ever met finished high school. The worst had a Ph.D.
You can't teach motivation, you can't teach drive. You can't get get people to think ... most don't want to. A friend of mine calls these people "lifers". They go find a job, with no sense of urgency, no concept of solving a problem as rapidly and correctly as possible. They do sit there, consume coffee and doughnuts, and eventually, months later, arrive at things that a competent person could whip out in mere hours.
I don't want any more lifers. I am finished with that. I want smart, motivated people. I have to test for this as the certifications/qualifications on a resume don't mean a damned thing. Which is why you are being tested for them by HR. If they actually meant something, you wouldn't need to test ... would you? So you fail the first of several tests by believing that they do.
We give hard problems. Things that require serious thought, and the ability to reason stuff out. Its ok to fail, what we want to see people do is try and reason. We get enough applicants that don't even want to try. This little filter saves us the pain of hiring and eventually firing these losers. We want to see reasoning skills. No, the goal is not to solve the problem, the goal is to show your ability to reason things out, and how you apply reasoning in a difficult time pressure environment.
Most candidates can't do this, aren't interested in this. They want to take their MCSE and RHCE and other certs, find a comfortable anonymous position, and fade away from sight. We don't have time and money to waste on such people. So we filter em. Fast and hard.
What I do when I interview is assume that their experience and certs are what they say they are, and I test instead for attention to detail and innovation. When somebody arrives for an interview, I provide them with a copy of the 5 main questions I am going to ask them, and allow them 20 minutes to formulate and write down their answers. This allows for people who might be very nervous about interviews, providing a mechanisim where they can get stuff down to discuss. It also levels the playing field a bit by not springing things on them. I've also in the past asked people 4 technical questions upfront, and allowed them to write notes on thie answers. The thing here is not so much looking for IP this or subnet that, but the process used, the logic of their answers, and their more general problem solving. For example, for a networking role I have asked how they would configure the VLANs on a switch given a specific environment (300 staff each site, connected via microwave, with 20 servers at site A and 10 servers at site B). There is no right or wrong answer, and if you didn't have the knowledge you couldn't do it, but it levels the playing field because the best, most logical and well explained answer might come from the guy who has never done a Cisco course. It would insult people's intelligence if I started asking what is a VLAN for and what is trunking, but given a scenario people feel more like they are showing their flair for problem solving. This whole thing is really less about "is it ok to ask tech questions of IT people before hiring them" - because frankly a business has the right to ensure their data (which IS their business) is in capable hands - and more about what are the RIGHT questions to ask of IT people when interviewing them. I think if you assumed that somebody's CV is correct enough to grant them an interview, then assume it is correct in that interview and formulate your questions based on that, rather than caatching them out. Because if you interview somebody whose experience is not what it says on their CV, then you've wasted your own time by not being astute enough to realise that prior to granting the interview.
Agreed. I've already did the majority of that on our home networks... We have 2 homes with connectivity between each.
My interest is all the virtualization hardware built in the new cpu's, and whether I can use it to segregate server processes(mounting SAN over nfs, and detecting if process goes down, indicating to run elsewhere).
I already have a small SAN. It's around 1.5~2 TB. I store all my movies, music, cd media, and ubuntu i386/amd64 repos.
So yes, I do believe I am more competent than the rest of IT "professionals".
Good list, but how many of those tasks can be performed in a job interview setting without any documentation in front of you?
Hell... if you could do all of those tasks with just the information in your head, you should be doing trivia game shows instead of IT work!
These tests are always really easy stuff. Someone who really is a good programmer would be able to answer in their sleep.
You'd be *amazed* how many people can fail such simple things. The intelligence and level of knowledge obviously does *not* match the experience claimed. "What the hell *were* you doing all that time?"
So yeah, we are protecting our coworkers from having to work with complete bozos. And if that offends you, you can shove it up your butt.
As a Linux Admin Team Lead I do a lot of technical interviewing of candidates. One of the evaluation tools I use is a short programming exercise. The instructions go something like this:
"In the language of your choice provide a program that meets the following criteria:
1) Accepts ASCII text on standard input
2) Prints the reverse of the text on standard output
Note: Reverse can be defined in any way (by word, letter, line, etc), please document which method you are using. If submitting a binary please include source code."
These instructions produce everything from a one line shell script using the "tac" command to elegant programs written in C. It does surprise me how many people can not follow the two criteria.
This simple exercise can tell me a lot about the candidate's suitability for the position. For example, if they refuse to participate or are insulted that I want to "test" them, then I do not want them working for me.
I would much rather take my PC to a IT guy who cheated, then be represented by the lawyer/Accountant, etc that cheated.
Why? Law and Accounting are probably the two professions where you most want a cheater on your side.
If libertarians are so opposed to effective government, why don't they all move to Somalia?
Tests are prefectly ok in siutations where you are on the fence about a particular job applicant. In most cases you can weed out the duds in the interview. Its very easy, if you ask the right questions, to determine if a person knows as much as their resume says. But in some cases, the job interview doesn't match the resume. It could be that they are no good at interviews... I had a friend in university who would defrost the CS club room fridge every time there was an exam... Brillant guy but couldn't take tests.
So in those cases, instead of playing it safe and looking at other applicants I would rather give them a test. Unfortunately HR won't let me.. So, in summary, I don't believe an exam should be required in all cases but in some it should.
My idea of an exam is hands on, provide them with a computer and a network connection leave them alone for 30 minutes.
"Thanks to the remote control I have the attention span of a gerbil."
I'm an IT Manager, and have been for a few years now. I test for three reasons:
1) the obvious: There are some people out there much better at creative writing then IT. Great resumes, good talk in the interview, but epic fail when you ask them "What's the difference between a router and a switch?". Finding this out now is important.
2) Sometimes the answers provide illumination into the candidate's troubleshooting and thought processes. For example, asking how you would rate limit two routers connected together has a few different solutions. Which one they pick is interesting. Do they go with the easy (but CPU intensive) solution of QoS, or do they dig deeper and ask if a serial connection with a fixed clock speed would be workable.
3) If they get flustered by my asking them to prove themselves, they're gonna be up the creek when the another manager challenges them on something. You're always needing to prove yourself, and if you don't have the confidence and poise to defend yourself to me, how are you going to do it to your peers and non-line managers?
Min
On the whole, I find that I prefer Slashdot posts to twitter ones because I don't get limited to 140 chars before
Back in the days that I ran an ISP business, I was frequently hiring young people for technical support and programming jobs.
I quickly noticed that their paper qualifications were not directly proportional to their practical efficiency.
Since many technologies that they learned in school where already obsolete, their capacity to keep themselves self updated was far more important than their capacity to perform in a school environment.
I then remembered that I made the same decision myself a few years prior to that... In the late 80's I was going to university and I was accepted in Business Administration and Computer Science. I had to make a choice and I decided that the 'paper' I would get from my BA studies would probably more important than the paper I got from my CS studies for the reasons I stated above.
So... having been in one area or the other of the IT business for more than 25 years not having any formal IT training never prevented my to run a successful ISP business for 6 years and being an independent consultant and a programmer since I sold the ISP business several years ago.
Some of this example may not apply today but the base principle is true for many fields.
Maybe, what we really need is for this to become the rule, rather than the exception. I know every single one of you knows at least 1 co-worker who you can't figure out how they got into, or continue to maintain, their position. That one individual who can barely remember to take their next breath let alone do their job adequately. That person who makes your job more difficult than it already is because you have to put up with their simpering incompetence on a daily basis.
I work at a company, located in Washington DC, where we test all incoming developers prior to the interview and again during the interview and it has saved our employees from having the simpering idiots as I've described above sharing an office with them.
The first test is open-web (it says you can look up anything you want) and establishes the applicants general knowledge of their language of choice (Python, Perl, Java, C#, VB, or PHP). On a test like that it's an easy A, right? Most applicants leave the questions they don't know the answer to blank. That says one or two things about your perspective employee-of-the-month:
1. They don't read instructions and didn't know they could use google if they get stuck.
2. They didn't care enough to attempt an answer when it wasn't easy for them.
3. 1 & 2 combined.
Company policy is to immediately eliminate any applicant who doesn't answer all the questions. It only hurts us, and our employees, when we hire people who fit the above.
The second test, done during the interview, tests a person's ability to think on their feet and work in a group environment. As a web company, you'd think people who apply would be able to write a little HTML, right? Well 90% of our applicants who make it to the interview screw up a simple table in HTML! A three-cell HTML table, one red, one green, one blue. One has a rowheight of 2. There's also a simple SQL test and a simple debugging test. AND WE GIVE HINTS! They can ask us any questions they want, up to and including "how do I do it?" We've actually hired a person who asked just that!
Bottom line is that any schmuck can print out a resume and call himself a programmer. College degrees for programming are a joke. Either you need strict guidelines for who can call themselves a programmer (think of the guild system for electricians, plumbers, et al) or you need to have testing to separate the wheat from the chaff.
And on the note of company culture, we were voted the best small business of the year for 2008 in DC, have practically 0 turnover in development, and by far the absolute best company culture I've ever seen. I may sound fanatical at this point and honestly I am because my company does everything they can to keep good people here and bad programmers elsewhere.
... at least not in the strict sense of the term. Professions are trades which are controlled by guilds or professional bodies that the practitioner has to belong to. These set standards, exams and usually have sanctions designed to remove you from the profession if you indulge in misconduct or are negligent.
It is fashionable to talk about journalism as a profession, IT as a profession, gardening as a profession, but they are not. When was the last time you heard of an IT professional being struck off? Such certification that exists (outside of academic qualifications) is usually vendor-specific courses.
I disagree totally. Programming tests are good, and I speak as a dyslexic who tests have let down most of my life. Programming, has very talented people with no relevant qualifications. It also has people will high qualifications who couldn't code if their life depended on it (well I don't know that, it would be a interesting test, just not legal....). Programming exams are a way of sorting the wheat from the chaff. It's a great way to see who can walk the walk not just talk the talk. It's not just about the exam, it's about the response to the exam, a good programmer will want to know what they got wrong and how, and what the answers where to questions they didn't know. If you're good, why fear the exam? I like them, it's either an easy exercise or a chance to learn something, or a mix of the two.
We test every applicant prior to hiring. Not a written test, we have a technical staff (3-4 senior level techies) ask questions from a pre-defined test.
People who spew 1-2 buzz words a sentence can usually fool HR and Head hunters into thinking they are smart IT people. Just because you can spew a few acronyms does not mean you can actually function in an IT department. (We have some great fun as a team with some of the turd wranglers who apply for jobs, and the way some are trained to insert acronyms too!)
People must pass our staff test in order to work here. If they refuse the test, they don't work here.. very simple.
With all the Comp. training dot com companies telling people they can make big bucks in IT with just 6 months training, we have to test. Do you realize how much damage a M$ Certified professional can do to a 800 server environment in just 5 minutes?
As to the comments regarding Lawyers not having to test.. Well them guys generally have 7-9 years of school, a degree, a license, etc.. which all kind of prove that they are an attorney. As for IT, I don't care how many certificates you have.. you will not touch a HA Cluster you prove that you are qualified.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
I have been seeing these companies trying to put IT on the spot with these random tests as interviews and I find it degrading and a little insulting.
I will very happily take on a 24-48 hour project to show my abilities to complete a simple or complicated task within a set timeline but I have refused many job interviews/jobs because of their desire to see if I can do these types of "quizzes".
A good IT interviewer should have no problem judging a persons abilities by simply asking good or proper questions dealing with subjects with what ever language/project they will be working on. You can get a much better degree of undstanding of what someones abilities are this way then having them site down and solve riddles or showing work.
TruePunk | Games
I have also been in the "business" for quite some time and I have seen people that look great on paper, (I.E Degrees and Certs coming out the #$%) but you put them to work and they have no clue what they are doing. even the simplest of things are to much for them to handle. Just because they have been at the same place for 4 years have degrees and certs only means one of two things.
1. They know what they are doing and just want a change
or
2. They have no clue what they are doing. They got their degree out of a cracker jack box and as for the certs... well anyone can memorize information. anyone can pass most of the certs they have, with a little studying. As for being at the same job for 4 year only means their employer has no clue what they are doing and has no concept of what REAL IT positions are.
So yes I can see why some places have started testing.
The IT industry in general in littered with people that are lazy and do just enough to get by at work or just have no idea what they are doing. Ether way I can see why this is happing.
I am not saying that the others should not be tested the same as us.. If you are going to test persons test them all.
I managed a technical support call center for several years before it got bought and turned into another customer service department and retitled as a "help desk". I've had farmers who decided to change their career 6 months ago or even several years but have no aptitude walk in with multiple certifications looking for a job. They were good at memorizing but really didn't know a thing. Hell yeah I tested. I looked for a certain logic and thought process, that means more than a piece of paper to me. In certain instances I hired people with zero certifications before people with half a dozen.
I just looked up and I am the master of run on sentences.
You have the right to turn down. But They would be stupid if they hired some wacko based on his resume alone.
So it's either your dignity or their security.
If there's a way to test others, I'm sure they would. Filtering out real losers.
When you hire someone, it's a matter of quality. You can try to levy laws protecting certain group of spoiled brats, but nature has its way of balancing itself.
They don't have to take the test, but then I don't have to hire them.
However, I agree with some posters that you have to give the right test in the right way. I always talk to the interviewee first, describe the job, etc. Then towards the middle of the interview, I give the test, which is usually only about 6 or 7 questions long. I don't send the person off into a corner to write it; instead, I interact with the interviewee to see how he/she would approach the problems.
We do this with everyone (salespeople too), not just IT staff. In my opinion, if you don't give some kind of skills-test to someone you're considering hiring, you are a terrible interviewer.
1) Other industries DO test. Tell that to my friends in other industries who tell stories about the grilling they got on their last job interview.
2) They are paying you for work. They are likely spending money on a recruiter for the right fit. They extend the offer. You may feel free to reject the offer, but they are the ones setting the ground rule. This is not a symmetric relationship of equals, and any belief you have otherwise is pure fantasy.
Anyone who was a potential hire of mine who said "Sorry I don't feel like doing your stupid test." would be immediately told to leave and stop wasting everyone's valuable time.
The point of the "test" as you call it is not just to see if you've got the skills to do the job they want you to do, but also to see how well you can think on your feet, under pressure. I'm currently an analog circuit design engineer designing power systems for DRAM chips, and despite having years of previous experience, not to mention years of specific course work, I was still subject to the same rigorous technical interview as every other applicant, which consisted of, you guessed it, a test, an individual ~hour long test with each department head in the place. And this was one of many such interviews of its kind which I undertook in order to find the job I wanted. Part of the interview process for a technical position, IT or otherwise, does and should consist of a vetting process of the individual, not just of their credentials.
There are truly stupid people in the industry, who can get the education and the certifications, and still not know what in the hell they're doing!
It looks like that's not just an inside secret anymore.
I'm an IT Manager at a Medium size company of a couple hundred computer users; Windows and OSX. I've interviewed dozens of people over the years, and quite a few of them have been paper tigers. Everything looks good on paper, but as soon as you start questioning them on the fundamentals of IT- they fall apart and it becomes obvious they're not fit or qualified.
Given this phenomenon, it's not a surprise to me that some companies would insist on a demonstration of basic skills required for the position, before hiring.
Does that mean... but what about... Does that mean my MCSE isn't worth anything?
When our name is on the back of your car, we're behind you all the way!
When it comes down to it, the entire process is a test. Creating a well-designed, brief, and informative resume is a test. Tying a damned tie (a skill that a trained monkey can do without cursing, but I can't), is a test. Interviewing is a test. If you're going to be tested on all these other things, then I am not going to complain about the test that focuses on whether you can do the job.
I have been tested for two of the three companies I worked for and a few others that I applied for. Two of them were in the vein of "We want you to write a simple script that can do X, and email it back to us". This was an effective test.
Another one was a multiple choice test that focused on syntax. The questions were things like "How do you terminate an IF statement"
It was a terrible test because they weren't looking at your ability to logically think through a problem, but were instead more concerned about whether you may confuse programming language A with programming language B. I did reasonably well, but that still, if you are going to test you employees, don't get hung up on things like "does this guy remember the modulus operator" (for Fizzbuzz tests) or "Does he remember how to use function X without looking it up".
I once interviewed at a company where it involved a 5 hour on site interview process that included 2 written tests (RPG and Java/C/C++). The Java/C/C++ test they gave me confused me as I was interviewing for an RPG position. But I took the test anyway because I had done some Java and C/C++ on my own(just didn't have it on my Resume - didn't feel I knew it well enough to say "yeah I know it well." - I was being HONEST). Anyway I ended up making corrections to a couple of the Java questions that I knew none of the answers you could choose from were correct. I ended up getting hired as a RPG/Java programmer instead of just a RPG programmer (more pay), because I knew the two questions were wrong. They had put them in there like that on purpose to see if you -really- knew Java. Normally I don't like taking written tests, I'm not very good at them. If you give me the same test verbally I can pass them no problem. That is something many companies don't understand either. Some people just don't do written tests very well, so they may not pass their written test and the company may pass on someone who would have been an excellent assett.
The Truth is a Virus!!!
From personal experience:
I believe that the harder the exam is, the better your chances are of avoiding stupid people at work. When I applied to my current job (Highly recognized anti-virus company) they gave me a Coding test and A written test. It was grueling. It was frustrating, but It impressed my employer more then my geeky cover letter. On the other hand, we had several people apply here that just did not cut it. They did the same entry exam that I did and failed it miserably even though they had 10+ years experience in C++, and were getting paid $90,000/yr at their last job (Their last job was very similar to what we demand).
Now imagine if this fool was hired. How many Dilbert moments do you think would arise on a daily basis? Probably enough for me to switch to the QA department.
A morning without coffee is like something without something else.
You make some excellent points. I recently just took a job with a state agency and they had a written test to weed out the paper toting want-to-be's.
Here is what I've found in the IT world. It may be like this in other fields but in the IT world folks either 'get it' or they don't. You can have a CS degree and be certified all over, yet if you don't 'get it', it's all worthless.
I've done some other things in my life and to various levels I think actually being able to understand the concept of what you're doing and more importantly being able to problem solve your way through an issue is the single most important part of 'getting it' than any certification or training you can get.
As a bonus, if you don't get it, no amount of training is going to help you get it. It is just not going to happen.
Illiterate? Write for free help!
In my position, I interview almost 100% of the applicants for our (50+ developer) department. My interviews consists of coding and design. The applicant is up at the whiteboard or at a piece of paper, writing code. Syntax doesn't matter; neither to language-lawyer nits, but they need to show thoughtfulness and ask good questions about the "requirements" of the test problem. I generally do two or three problems for a 1.25 hour session. I tailor the problems and "hints" to the level of the applicant of course. I've yet to see a lousy coder get through this. Of course, this isn't enough to weed out all undesirable hires, though, as you need to also take into account social ability. Yeah, it counts, and counts big. Even if the social factor is "nothing" more than respect for fellow developers in terms of thoughtful design and comments. But being able to work with other people is essential in any size organization. As it turns out, the give and take during the problem solving offers a lot of insight into the person's ability to work with others.
Yes, technical tests are fair, and required.
Recruiting agencies will put everything and anything on a candidate's resume. Their people are evaluated by how many interviews they can schedule, and how many placements they achieve. So, they will stack the applicant's CV with anything that's ever been in the same 10-mile radius as the individual in question.
The result is that you're faced with a piece of paper that looks identical to every other programmer's. It's an alphabet soup - .NET, C#, Java, C, C++, Python, .NET, ASP, ADO, JDBC, XSLT, VB, XML, SQL, BLAHBLAHBLAH. And every programmer lists every one of these. Even the projects look the same - "Senior programmer for web development project implementing a user portal and reporting system for... etc, etc, etc." I have a stack of 12 resumes sitting here in front of me, and could literally swap the names in the header and you wouldn't be able to tell the difference.
So, we make a first pass, weeding out those who a) can't write, even after the headhunter has spiffied their CV, b) are scant with details, and c) hop assignments every three months. The rest have to do a preliminary interview, and that mainly consists of determining whether or not they actually know any of the stuff that their resume's been padded with. Sure, we ask the traditional interview questions, but we also do a base knowledge test. You would be surprised how many .NET "programmers" we get who don't know the most basic C# operations, web developers who don't know the difference between POSTing and GETting form data, and "7+ years experience SQL" applicants who can't tell you how a left outer join works.
Programmer's resumes are becoming increasingly useless, especially when you're flooded with nearly identical H1-B applicants with the same vague academic credentials (ie: "BS Elec. Eng., India", "Masters of Computer Applications" - no institution listed, "Bachelor of Engineering" - no discipline given), identical alphabet soup, and interchangeable litanies of 6-month contracts scattered about the country. They all have widely varying levels of competence that is in no way obvious from their resume. They all have "7+ years experience." That's what makes up 90% of the programmer pool these days, and even if you're in the top 10% with verifiable credentials and a real track record, you're gonna have to go through the same process. Because those of us on the hiring end can't tell anymore from your paperwork, without giving you some sort of objective evaluation of skills, syntax, and basic concepts.
It's been the rule for some time now. Ten years ago, it was all of the newly minted MCSEs rolling out of the fly-by-night tech schools. Before that, it was the "paper CNA/CNE's" who were able to sit the Netware exams and pass by the grace of their deity of choice. And there have always been the code-monkey grindhouse diploma-mill shops, who crank out "programmers" in the language du jour - especially since the web boom - CGI, Java, .NET, AJAX. All with credentials like "Doctor of Divine Coding" and the real competency of an ADD third-grader.
So, don't take it as a personal insult. You may be better than all of the above, but no one can determine that from a piece of paper, a firm handshake, and a good story about how you were the lead coding god on your last project. 'Cause there's a dozen other applicants out there with the same spiel.
At 3 A.M. you can see people's auras; at five you can see their contrails...
I would much rather take my PC to a IT guy who cheated, then be represented by the lawyer/Accountant, etc that cheated.
Why? Law and Accounting are probably the two professions where you most want a cheater on your side.
As far as lawyers go, they're kind of hard to avoid ...
I kid, I kid. I know that it's only 99% of the lawyers make the other 1% look bad.
John
My company has consultants / employees take programming tests. Although ability to code is a part of how we 'score' the tests, there are two more important goals. One is the to test their ability to correctly assess our documented requirements. One is to test their comfort level with asking questions. Being involved in open source projects or providing previous code samples does not help us evaluate those two goals.
We don't give these tests on-site (we're a virtual company). We'll give them access to a source control repository w/ instructions. We anticipate that the coding should take less than 2 hours. The test comes after an initial personal / tech interview. And after the test the user gets a follow up phone interview to discuss the results of the test.
The number of people who blow us off on the test with no communication is surprisingly large.
Most companies that use tests in the interview process are generally lacking in soft skills. Interviewing a developer requires TALKING to them and accessing them as you go along.
There are no rules for this, just basic flesh to flesh experience. Most interviewers have been put in that position with no real experience other than the technical kind and tend to aim for that in the interview.
Handing out tests in an interview is a helpful warning sign, as is cheap toilet paper in the bathroom. If they are being tight on the toilet paper they are trying to save money in the wrong places and will generally have a narrow outlook to life.
I'd rather hire somebody competent enough to learn my technology than someone who flies through a test, but will argue indefinitely about what framework to use (sooner or later you have to commit).
well, the reason this has developed is because IT professionals, have no consistent way of identifying skilled professionals. Some of the most competent computer and software people I know never have had a degree in CS or any related field.
Lawyers all pass the BAR exam, accountants have several levels and types of certification.
Our field is too new and too variable to have any one test that shows you know your stuff, not that there aren't a few good candidates out there , but most people doing the hiring still haven't heard of them and don't trust them. So it seems reasonable for an employer to test you and see if you know the stuff they need you to know.
Honestly I prefer it that way, why have artificial barriers , like the need for a college degree prevent you from getting into a profession if you can prove you know what you are doing.
âoeTolerance applies only to persons, but never to truth. Intolerance applies only to truth, but never to persons.
AMEN! This is a REAL test. Give the interviewee some code you have that has problems. Let them at it for a short time. If you come back and they havne't figured out even what it's doing, you don't want them. If they can figure it out, clean it up, and get it working - that is a good programmer.
The Truth is a Virus!!!
Do you have a government-sanctioned license? Lawyers do. Accountants do. They're real professionals. If they screw up badly enough, they lose the right to work in that field. If you screw up really badly, you just lose your job. Most employers will only confirm that you worked there and you showed up when asked for a reference, to avoid lawsuits, so there's very little accountability beyond the job for IT workers. Sales and HR aren't professions either, but they're fields in which it's much harder to quantify expertise. If the companies that are testing you could quantify their expertise, they'd jump at it.
Of all the indignities visited upon IT workers, this seems like a rather bizarre one to choose to complain about.
There's no failure quite as dissatisfying as a complete and total solution to the wrong problem.
Also, most employers have clammed up on references; many supervisors are prohibited from saying anything at all, good or bad. Even back in the 1970s, there was a reluctance to say anything bad, for fear of lawsuit. References are just not that useful anymore; hence tests.
As I point out here, my first experience with this was a bit disconcerting. As I point out here, I believe that the reason that it was so difficult was that I hadn't been on a job interview with strangers in a long time, and I wasn't expecting this.
Nearly all my jobs to that point were with people that I had worked with before, and who knew my skills. They had no reason to test my capabilities. The problem I have now is that almost everyone that I have worked with in the past retired in their 30s and 40s, obscenely rich, so it isn't so easy to find a job anymore, and my current employer just laid off hundreds of software engineers--while advertising for what seems to be H-1B visa software engineers. I'll take the test; the alternative is not being employable.
Please answer the following (it was a Linux Sys/NetAdmin position):
1. What is the significance of the number 1010010502?
2. Is there any problem with scheduling cron to run daily tasks at 2 am? Why? Why not?
3. How does the system know what time zone it's in? Can each user view things in their own time zone?
4. Name all the IO schedulers available in Linux.
5. Describe what RAID is and each level.
6. Let's say you have a boot device on Linux, software raid1. /dev/sda1 [SCSI ID 0] and /dev/sdb1 [SCSI ID 1] make up the boot device /dev/md1. How would you make sure the system could boot even if you lost /dev/sda, which it normally boots from?
7. Describe how you would monitor and be made aware of a failure describe in the previous question
8. What protocol does SIP run, TCP or UDP?
9. Explain what this shell command is doing.
for i in `ls -laF | grep ' Sep ' | awk '{print $9}'` ; do rm $i ; done
10. What are the notches for on a PCI card edge?
11. How many disks can you put on a Parallel SCSI channel?
12. How many disks can be on a Fibre Channel loop?
13. What's the definition of "Load Average"? (the 5, 10, and 15 minute values in 'uptime')
14. How would you quickly convert an arbitrary unix time (number of seconds since epoch) into a human-readable date?
15. If you boot a server with no memory, and it doesn't give you beep codes, what's most likely wrong?
16. How would you install Linux on a server with no removable media drive?
17. How do you redirect a command's STDOUT and STDERR into 2 different files?
18. Describe what a vlan is.
19. Say we're setting up a new office. The cabling guys just ran cat5 from the new cubicles to the network room. You start plugging those new connections in the network room to a switch. Suddenly, all network traffic on that segment grinds to a halt and the activity lights on the switch all start blinking. You go into the new office area. What might you find? What do you think could cause that?
20. You have 1 MySQL server that has a database with 590 million rows. Each row is made up of two fields. field 1 is fixed 40 char "sha-1 hash" (unique, indexed) and field 2 is a varchar (64 char) string.
The server is CPU bound and can not handle any increase in the amount of requests per second it currently handles. We need to increase the number of requests per second the database can handle by a factor of 4.
Describe how you would do this assuming you can not get any more CPU from this box and any other box you add will have the same CPU (same hardware config).
21. Explain what the this bash command line does: :(){ :|:& };:
I don't know how many of the questions I answered acceptably/unacceptably but I do know I did not get the position. And, I was not too broken up about it either.
The last two times I've been to a job interview, it has been at least as important for me to meet the people I would be working with, as for them to meet me.
In fact, on my last job interview I came in twice, the second time was so that I could hold a highly technical presentation in front of all the people I would be working with. This was in order for me to meet them all and see if they understood the stuff I really care about.
Terje
PS. I didn't take the job, but that was for unrelated reasons, the interview and the people were great.
"almost all programming can be viewed as an exercise in caching"
I'm sorry if you don't like being tested, but get over it.
If you don't like testing, perhaps its because you are insecure about your abilities to get the job done.
I've conducted a fair amount of interviews in my time assuming management didn't prevent me, I always had a test of some sort in the interview. Those tests have saved me god knows how many hours because I managed to weed out all the bullshit on resumes. Resumes are worthless, you can just download one, change the name and call it your own. There is no backing to whats in a resume.
I don't know you, why should I believe you have done all the stuff you've listed on your resume? Why should I waste my time trusting that you arent BSing your way into a job?
In all the jobs I've interviewed for, the ones where there was no test indicated up front that the person doing the interview had no idea what I was supposed to be doing in the position. To me, its generally a good indication that if you get accepted for a job before you have been tested, then its likely a job I don't want because management doesn't know how to manage.
Lawyers and doctors have to pass the state boards, plumbers and electricians have to be licensed. Hiring an accountant you generally have certifications or licensing of some sort, CPA for instance. HR people are generally worthless and either do data entry for employee information or pretend to care while you complain at them, no real skills needed.
There is no standard certification for stuff in the IT fields, except for some high end security stuff. Everything else that calls itself a 'certification' is pretty much a way for a manufacture to make money off people who want to have a certification, although having taken the CCIE certification years back, I would certainly respect someone with a CCIE, but that doesn't mean I wouldn't test them still, as I've seen a few CCIEs that were worthless when in the real world.
Stop whining that you are being treated in a bad way and get over it. You DO have to prove you are worthwhile to the company hiring you, the job is a privledge, not a right. When the field is flooded with more people that don't have a clue than do, you better expect to be tested, and if you aren't, watch out because they know even less about what you're supposed to be doing than you do.
Why do you think you are so special that you don't deserve to be tested?
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
Some IT people get a IT related job that wind up doing nothing. For example: I hired a guy that had amazing education and solid 10 years experience. His first assignment was crap and upon a code review he had hard coded everything (Select 'john doe' from dual). His never actually pulled anything from the Database! Upon an interrogation His 10 year of experience turned out to be just 10 years of sitting on his ass doing nothing. Amazing that is his employer actually thought he was good worked who knew his stuff. HR did there job and checked everything out but a simple 15 quiz would have quickly filtered him out. But I know what you mean. For me I have walked into client site with virtually no knowledge of their systems and language used. One week later and 80 hours I am typically fairly proficient. For me it is not so much about the language it is the syntax - the underlining concepts are fairly consistent across all languages. But if I knew I had to write a test about on a certain language (epically if the job description specified it) I would at least study it a bit so I could pass it.
My Sig indicates the end of the comment I posted.
I remember interviewing for a DBA job for a large firm, they had already flown me in for the day. Somehow in their requirements, they had that I must take a basic programming test. So, I took their silly test. The clerks in HR had to submit the test to some national database for grading, to find out I passed. Of course, I knew I had.
I was allowed a hour for the test, finished it in half that time, but was really annoyed by one question. See, the test assumed that there was one correct answer on the test, when in reality, the correct answer would have depended on a compile time switch in at least one language I was familiar with. Funny thing was, while I was done and leaving, the other guy who started the test at the same time was still struggling with it...
Of course, you want REALLY annoying looks? In cs100 we had common exams in college. Try being the first one done in an auditorium of 4-500 people and having to first deliver your test to the stage, then walking out past the glares of all the other people.....
When I post a job I first write the entire post with requirements. First I start by saying what type of person I'm looking for. Our culture in our IT dept is of the basement dwelling D&D crowd. I don't want anyone fucking up our Chi. Second I state WTF I'm looking for in a very blatant manner. i.e. Looking for developer who uses vi or emacs. If your going to put down Dreamweaver move along. Lastly I encode the whole thing in hex, base64 or something like that. For my network admin I set-up a dummy box with IP tables using port knocking in order to get the email address to apply to the job. This pretty much insures quality in the interviews. As for the interviews I don't have tests some random HR jackass can ask. I interview everyone. I show them a project or code and say "How do you do this?" Good examples: The DVD CD catalog question "Build a Database that stores cd/dvds and the genres they belong to. Whats the best way to see if a file system has changed? For extra squirm points interview them in a room with a big white board and draw-up the flow of a major project. I find this lets them know just how good our dept is. This works for me. All my guys own.
I am an IT person, started out as a Solaris engineer, moved to a LAMP admin, and now a VisualStudio VB.NET programmer in addition to my management duties and responsibilities, including hiring.
We had a new company handed down as an approved HR firm, so I started interviewing. Now, I've had a long held practice of asking two very basic "programmers quiz" questions; one that relates to SQL and one that relates to general coding practices. I was starting to doubt that they were an effective part of my interview style until recently when someone failed both.
He came from a recruiting firm, listed himself as a C# person, had verified references and promised 8 years of experience.
He did not know that you needed an update statement to change data that was in a table, nor did he know that in certain cases a select/case/switch (I would have accepted either) structure would be more elegant than an if/elseif/elseif structure for a certain task.
Everyone else I've ever interviewed has gotten those two right.
I don't believe in a big 10 page questionnaire; I think that's pretty stupid. I consider myself an above average PHP programmer for instance, but it's been a year and a half. In one week on the job I'd be right back to polished, and in one month I'd be fully 5.0 ready I'm sure - but give me some tricky test on the differences between 5.0 and 4.1 syntax right now or tomorrow and I'm pretty sure I'd fail it, and you'd screw yourself out of a good programmer.
I'm not arguing that testing is great; it should be done in small doses, and its limitations should be understood.
But I see way too many tech people responding "QQ oh noes the bad man wants to ask me if I know what I am doing /wrists" ... and I have a different perspective on the matter.
Grow up. I'm going to keep asking my two quiz questions thank you very much. I almost hired that guy.
Kyle Hodgson Systems Geek
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.
HALLE - FSCKING - LUJAH BROTHER
I am TIRED, TIRED of getting BS from graduated people, either hearing, getting work from, etc
Experience means NOTHING (in certain companies people can last a long time doing almost nothing - as long as you fill your time sheet, that's ok)
Diploma means NOTHING
As Linus put it best: "Talk is cheap, show me the code"
Granted, several people do tests for the sake of it (and then end up with bad tests), but I haven't seen a test that wasn't fair or reasonable (it may be overwhelming, like in that company that begins with G, but that's a different issue).
If you are not willing to take a test as part of the interview, thank you a lot for not wasting my time any further.
how long until
I feel they are critical.
We used to give a very simple test. Write us an EJB application (simple calculator webapp) that will run on jboss. They had a few hours to do it.
We only had two people out of over 50 that recruiting companies sent us over the years who actually completed it in the time allotted.
Now I should say we were less interested in them actually solving the problem than in their approach to solving the problem. They had full access to the internet and could use any open source or free software/tools they felt necessary.
- We had people who spend their whole time downloading Eclipse and plugins to build the app for them.
- We had someone writes us several pages in english on paper how they might write the application.
- One ended up getting the computer stuck in an endless cycle of reboots.
- A number just gave up
- Most really didn't knwo what an ejb was or how to write one (as part of the review we checked browser history).
All of the candidates were sent to us as Advanced Java developers with years of experience writing enterprise apps.
We told people up front, completing the test was not a pass/fail thing. (Although if someome completed the test they were hired on the spot.) We were looking at their work to assess:
-creativity
-troubleshooting skills-
-focus on the task at hand
-coding style under a tight deadline
-research ability
-how tool dependent they were
In the end, the only two that actually wrote the damn thing (outside of the internal developers we timed) just used notepad.
I think the blame has partly to do with HR not being very good at pre-screening candidates based on resume' alone. This leaves the hiring manager no choice but to come up with some other method to thwart out the incompetent applicants. This is also the result of tech companies not being willing to train new hires, and the need for a new person to be ready to work from day 1. In a sad sort of way, the industry has painted itself into this corner.
On the flipside, I actually wish it were possible to get an IT job based on testing alone. If that were the case, I wouldn't have wasted 10 years doing temp/contract work to build-up my resume' just to get a permanent job in IT.
Degrees and certifications only prove one thing to me: that you are likely to be trainable. I need to know whether you have a WORKING knowledge of the technologies that I am hiring for. IT is simply too wide to determine the applicant's usefulness for a particular task based on the applicant's ability to do an exam-cram.
Lawyers do take a test. It's called the bar exam. In California (where I live) it's a notoriously difficult 3 day grind with a 50% fail rate. Accountants also have an exam, the Uniform Certified Public Accountant Examination.
These professions also generally (though not always) require school beyond college. For attorneys its called a "Juris Doctor". And they often have continuing education requirements, although this varies from state to state. In California, attorneys are required to attend 40 hours of continuing education every three years, and if they don't they can lose their license to practice law.
You're right about sales and HR, but I would say those aren't really professions. Like programming, people can learn these things on their own, and reach high levels of competence and skill without ever taking.
You say you've got training and certification. You certainly have professional level qualifications. If you don't want to take a test, don't. But I would - I've got mouths to feed.
A lawyer is TESTED, a sales person is TESTED, a manager is TESTED. It is called an interview. All of these people talk to other people for a living, so the interview is an actual test of their job skills. Programmers are not expected to have top notch social skills because it doesn't have a whole lot to do with their job... So they are given a DIFFERENT test, not the only test in the world.
I am a developer for a 290,000 employee bank... We have a simple as hell test designed to be easy for a 1st year high school geek to display to us that he understands what the hell polymorphism and inheritance are. 80% of applicants FAIL. They are given the test AFTER we verify educational and employment background, and they complete it on their own time, with any resource they want. In other words, this test is intentionally rigged so that even if you are 100% lying about all your qualifications, but you are resourceful enough to spend 15 minutes on google to learn how to do it, you can defeat the test. 80% of these people vying for and "qualified" for a $90,000/year software developer job turn in a test which would earn a failing grade in a 9th grade programming course. The reason why we give the test should be obvious.
I am a tech professional and I have hired many tech people who "sound" great in an interview and seem like they can do anything but when they start working, its all talk and book knowledge and are essentially useless for me so I have to fire and rehire which is very hard in education.
So I test all of mine now. As a whole, most tech guys aren't good in interviews so this gives them an advantage in my book since they can show off their tech skills and have a better chance of getting the job then their social skills alone.
I also get "Geek Squad" guys coming in with years of experience and they are the most cocky guys I interview. But after they fail a simple networking test, they tend ro really mellow out for some reason.
I don't feel that its unprofessional but this topic did make me stop and concider that because I had never thought about it before. But I do know a scienteist that worked for a government agency in the area and not only did she have to take a skills test to get employment, but also have to take one every few years to ensure they are keeping up. That's not unlike requring a CCNA to be kept up. I also know someone who applied for a networking job and they agreed to pay for him to take the CCNA and if he passed he got the job, failed he didn't. I don't see anything wrong with that.
Kevin
If you refuse, you don't get the job you can guarantee.
---- Booth was a patriot ----
I was the owner of a technology firm for 9 years. In that time we went from startup to a real company. We learned fairly quickly that people like to lie on their resumes, thus we started giving programmers tests to weed out the bad seeds.
It worked well. People that were lazy didn't take the test. People that didn't know anything either didn't take it, or took it and failed.
Bullshot! If you believe that, you must be in management.
Only a one-on-one with another coder will give you a real evaluation. Like anything else, peer review is the ONLY way to go, which is why HR should take their childish tests (and they ARE childish) and put them where the sun don't shine.
Of course, hiring another coder (or 3) to give a proper peer review of a candidate will quickly raise the costs and take control away from the freakazoids in HR. Fuck 'em!
I have been a hiring manager for over 15 years and I've found I need to ask a question or two during the interview process. For the most part, people are honest about their experience, but there's a good number of people that aren't figuring that they can get in the door and learn it. I've only given two people tests - but they were to gauge their abilities to be a coder. They were both administrative workers at the company and wanted to move into IT. One worked out extremely well, the other decided she preferred her old job. So - if you have experience, there's better ways for them to check your credentials, but if none, it's a good way to lower your risk.
I'm currently helping my employer assess candidates for a consulting position within the company. We haven't brought anyone in for an interview that does not have 5+ years of Java experience. So far not one of them has been able to complete a programming problem of similar complexity to 'fizzbuzz' in less than 40 minutes. Most can't complete it within in an hour.
In my opinion the people that have refused to take the test are either posers or have too big an ego. Either way, we don't want them.
I have had a couple of test interviews that I thought were pretty silly.
I think the problem is likely that most interviews are conducted by non-technical people who really don't know what the job is about in the first place. Typical ones I have seen usually have 1-2 managers, and 1-2 HR types, they MIGHT invite along 1 staff that actually would know what is being talked about.
The last test I did for an entry level System Officer position they essentially handed me a piece of paper and a pencil and expected me to reproduce complex SQL and some coding.
I am sorry, I have been going it for 8 years and I still don't do that crap off the top of my head, with out reference, or computer, etc... Unless your job is to do that and only that for some extended period I don't think it is really that reasonable to expect it.
I heard later that they only interviewed 4 people, and didn't fill the position, go figure. I think this is also part of the commonly know idea that employers want someone with 10 years experience in a programing language that only actually existed for 5, and you better have a masters, and want to get paid at an entry level wage. Yeah good luck filling that position...
Related issue: job applications which collect gender, age, and nationality:
http://www.agfa.com/en/co/jobs/job2.jsp?action=application&id=W0608-02
Even with the teaching degree, most states require teachers to take two or three different tests for subject-area and general knowledge.
Though, after what I've seen of southern colleges and the low-level students scores of them accept, maybe that's for a reason.
Questions and testing as part of an interview are NOT about giving the correct answers. They're about getting a feeling to the applicant's thought process and problem solving skills.
This is being conflated with rote-memorization pop quizzes that basically prove nothing more than you are good at answering a specific question - which is a very indirect indicator of your actual knowledge and a horrible way to try and divine thought processes and problem solving skills.
At my last interview I was asked to write code in a language that I hadn't used in three years. Not only did I not solve the problem, I used a poor approach. However, I was able to clearly articulate my thought process and my approach to solving the problem. I got the job.
I work at a big company that hires a _ton_ of H1-B folks from a couple of other big companies in India.
In my experience cheating and/or lying on certification exams is _RAMPANT_.
Examples:
SQL Server certified DBA - doesnt know what a join is, or what indexes are.
Windows, IIS, AD certified network admin - Doesnt know how to troubleshoot a 401 or 503 error. Just wants to call someone else as soon as possible.
I dont want to work on a dev team where the members are NOT tested.
Whenever I interview anyone that has "C" on their resume, I do a quick test to weed out the liars. I as them to write on a whiteboard with a dry-erase marker a program that prints out to the screen the numbers from 1 to 10. I've found that almost no one can do it.
IT professionals resumes are full of languages and skills that have been forgotton or never properly learned.
The processes that are used in hiring are for the most part just an assembly of things which concensus says works. Little pieces of it is designed (for example, anti-discrimination rules), but I've found it isn't designed to work with other anti-discrimination needs (such as the need to not discriminate in the hiring process against people with Autism).
Sure, employers have for the most part been successful at filling positions in the past, but nobody has a clue as to whether they hired the best person that applied (100 percentile), 90 percentile, 60 percentile or even 30 percentile. The most important characteristic of any person is the ability to sell, even though there is seldom a positive correlation (let alone a strong, positive correlation or a causal relation) between productivity and sales ability. Experience cannot be measured in terms of a duration of exposure to an environment, even when technology is changing industries. If nothing else, any measure of experience must recognize that people have different capacities to hold "experience". When rapid turnover of technology or process occurs, the ability to learn has an important and significant effect on "experience".
Testing is one mechanism which has a chance at estimating the expected productivity of applicants in a position. Many aspects of anti-discrimination laws expect that calibration curves relating test score to productivity must be the same across all perceived minorities. Otherwise the test itself is deemed discriminatory and probably can't be used. As long as it can be determined which population an applicant belongs to, and all estimated productivities are converted to some equivalent basis that doesn't favour any subgroup; having multiple calibrations shouldn't matter.
This still leaves all the wishy-washy interpersonal relations stuff which seems to be completely proprietary, in which to judge how well an applicant may interface with your existing staff.
Comment removed based on user account deletion
Well, lawyers have to pass the bar exam for each state they want to practice in, as well as to argue before the Supreme Court. Accountants have to take either the CPA or CMA exam, or both. All of these are certifications accepted as being "tests" before employment. "IT professionals" really have no similar professional certification. Oh, sure, network engineers have the Cisco testing, which is excellent for them. MCSE and all certs that Microsoft offer are crap, and not a real test of anyone's ability to provide technical support to end users.
I guess it depends what what sort of "IT professional" you are.
FizzBuzz is great; we use it on every single interview for a programming position, regardless of experience. I've seen people come in with 10+ years of programming experience, and completely screw it up.
More importantly than just showing whether or not somebody can code, it shows whether or not they can handle simple tasks under pressure. I'm sure most of those applicants could have completed it at home when they're not being watched, but if they can't do it in an interview, then how are they going to perform on-site at a client, when a major bug just popped during a production push?
Money I owe, money-iy-ay
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.
First, I offer my sympathies to you for working with Tek Systems. I have never worked for a group of bigger, under-paying crooks, in my life.
Second, in my opinion, the IT industry can be a very saturated thing. It is almost like _anyone_ can get an IT job. That being said, I support the tests, as a mechanism to keep riff raft in it's place.
However, I can do without the babysitting.
The reason I do is because three fourths of the people I interview just don't know what they put on their resume.
Best example, lady comes in for an interview because her resume was awesome. Sit her down and my first example is show me every even number from 1 to 10 in php. Well after 20 minutes I had this given to me.
for (i, 10, 1)
alert(i)
end for
I ended the interview.
I've worked places that didn't require tests, and I was surrounded by bumbling idiots. I've worked places that did require tests, and *most* of the developers are extremely competent. I'd much rather work with competent developers. On the other hand, I don't think a lot of the common tests are very accurate. At a previous job, they asked all of the developers to take tests so that they could focus their in-house training. I took a test on SQL, and over 50% of the questions were about database server administration. While I agree that the two are related, I know how to write an effecient stored procedure -- not how to configure the memory usage on a particular flavor of SQL Server on a particular OS. Similarly, I took a VB.NET test for my current position. I'd used VB 6.0 (ugh!) and C# (.NET), but never VB.NET. I scored in the "98th percentile". So, while I think the tests themselves are not that accurate, they do tend to seperate the wheat from the chaff.
(lawyer, accountant, sales, HR, etc.)
Lawyers and accountants tend to have some fairly serious certifications. Sales and HR may not have them, but managers may know more about which questions to ask (with HR, it may just be difficult to come up with an appropriate "test").
IT Professionals do have plenty of different certs as well, but mileage from those depends on what your company actually uses (I'm LPI - Linux Professional Institute - certified myself, but I found the tests to be much more a measure of memorization than any actual skill).
As a SysAdmin that is - happily - somewhat involved in the company hiring of IT, I wholly agree with a small IT test. In fact, I wrote one. And no, it's not onerous or brain-baking (I've taken some that were).
My boss is also smart enough to let me review the answers (since the answers I came up with might not be the only right ones). Some of the best candidates not only answered the questions correctly, but thought up scenarios I hadn't and came up with a bunch more correct answers.
I've never been insulted by being given a small test on job interviews, so long as the test is intelligent/fair. Personally, I'd rather be judged based on my ability to actively solve a problem than what skills I "say" that I have, because there are plenty of fakes out there.
Oh, and there are plenty of tests out there that suck as well. I had one where the test was actually provided by a third-party company, and the questions had multiple-choice answers that were all wrong. I know for sure that they are since I recorded the questions and tested the commands afterwards just to confirm that there wasn't some weird way of doing things that I was aware of. I actually got a high score on the test anyhow, but the interviewer (actually a recruiting company) didn't seem concerned with the fact that they were testing with impossible questions.
So here's a question for those that don't like tests: if they're hiring somebody to be your assistant do you want the guy that could solve a few base questions on Topics X,Y,Z, or the guy that says he can?
It's worth something, to someone, but you probably don't want to work for them anyway.
It's only reasonable that mission critical staff are tested.
Why not test lawyers, accountants and administrators?
Primarily because they are useless fluff. What are you going to test them on? Sitting? Talking golf? Office pool participation?
Such test are eminently reasonable. They're not interested in your results; they're interested in your attitude toward the test. If you don't enjoy a puzzle, and immediately dig into it, you just disqualified yourself as a tech geek. If you're after a management position, they might like your objections. But if you object to being handed a puzzle to solve, and they're trying to hire a technician, you just told them that you lack the primary qualification for the job.
Now to finish today's sudoku ...
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
To be honest, I'm a university graduate myself with a degree in comp sci but I have seen high school drop-outs that can work better in IT than folks with University level degrees. The reality for IT is that if you don't enjoy computers and experiment in your own spare time then you'll never be honestly that great at it. All the certifications in the world won't save you then. I can understand why employers test people. People after all lie badly on their resumes. I've in cases honestly filled out my resume only to find I didn't even get an interview because they only bothered to interview folks with more impressive looking resumes. Then during interviews, I've surprised employers because I seem surprisingly skilled and should've padded my resume more. I think testing is a good idea provided it's done correctly.
I don't think there is anything wrong with testing peoples' skills in principle. What I do have a problem with is when the test is verging on the idiotic - like when it is full of questions that are either ridiculously simple or relate to exotic stuff that is unlikely to be used. I mean, the test should test whether the candidate has skills that are relevant; please note that there are two aspects to consider: 1. Skills and 2. Relevance. If you need a programmer, do you actually need to test whether the candidate can give you the definition of an abstract base class without looking it up? Or do you need someone who can solve the problems he is given, relate to the customer's needs etc, who is able to go and ask if he doesn't know etc?
If you want to test candidates, give them something from a typical real-life problem and see how they tackle it. I worked with a guy once, who had almost encyclopedic knowledge about Oracle's SQL*Forms, but who was completely paralysed when faced with implementing a simple, real-life problem. You could show him, "look, here is a table, then you create input fields like this and voila, you are done" - but when you gave him another, equally simple table and told him to make a simple input form like the one before, he just couldn't do it. He had the knowledge, but not the skills.
In our business, which involves fairly tekky application software, we would be reluctant to take on employees with computer science degrees. Our best software writer (ever) failed his degree (linguistics I think) and another good one failed chemistry. Over the years we have had six computer science graduates and, with one exception, were about the worst performing software developers we have had. That's not to say they were all stupid, they just seemed to want to make the job complicated and never deliver.
I was once interviewed about the performance of graduates for a university research project. The interviewer confirmed that similar small businesses had the same experience. They said they would follow this up as the next phase of research but didn't.
Is this experience just a random aberation? Is this a UK only issue? Do people in the US note similar difficulties? Is it the teaching? Are software people just born with the aptitude?
P.S. The best Computer Science graduate got a bad degree. The others got good degrees or masters.
P.P.S. I am reluctant to believe my experience and feel the story (if there is one) is more complcated than this. Anybody doing research?
Let's face it. I play old school text muds. These muds are filled with significantly overpaid "IT professionals"
Many times, these guys spend day after day alt tabbing between a game and an everstatic "busy" page whenever a boss happens to drop by.
Beyond this, there's an expectation that people actually know how to do their jobs. I think it's pretty hard to hire a lawyer who doesn't know how to practice law, and you'll quickly find out if the bookkeeping hr accountant do-it-all lady knows how to do her job the first time everyone's supposed to get paid.....
but the it guys and the technicians? well, you'll find out if the engineers and technicians know how to do their job because they'll be able to look at a problem, devise a solution, and make/fabricate/order/whatever a part to make a visible problem dissappear.
Often times IT staff can sit on a problem (whether it should require this much time is debatable) for days, weeks, months, and sometimes even years without producing a solution, all the while getting paid very handsomely.
The problem with it, is their problems are very amorphous in nature, and there's the underlying assumption that all they do is re-install software and/or kick a computer until it works by randomly throwing commands into the ether. Testing the IT staff should be done pretty much in every industry and at every job just to filter out all the guys who simply do not know how to do their job.
Then, once it's established that Tom Dick and Harry know what they're doing, leave them be while making them actually crank out work in a timely fashion.
Yeah sucks. But it's fair, for every one guy who doesn't know how to do his job making 100,000+ a year, there's 10 people who probably know just as much frying burgers at mcdonalds making 10k a year.
It is absolutely reasonable. We always test our technical people. I wrote a short requirements list to write CRUD methods for users with an ERD. You have an hour to write code that lists the users, add, edit, and deletes them in whatever language we happen to be interviewing for. I don't care if it works, you can have syntax errors and bugs and you don't have to finish. I just want to know if you can put an appication together from a set of requirements. I've had people with a CS degree and 10 years of Java experience produce nothing at the end of an hour. I also had one guy a year out of high school produce a working application using XML as a data store.
If it makes you feel any better we also test sales people and accountants. Our CFO has a CPA, but he had to take a basic accounting test. You'd be surprised how many CPAs do badly on that test. You reach a point in accounting where it's all analytical and you can't do basic accounting any longer. The sales test is probably the most difficult. You are given a description of our company, a briefing of the company to contact and a phone number. When you are ready you call the number. Either the CEO or the VP of sales is on the other end. They play a difficult client and you must sell them. There are usually several people sitting around the room listening to the conversation on speaker. Then they rate you.
I used to get it, but now what I get isn't it and what's it is weird and scary to me.
Back in the 1990s when Cray computer was still a real computer company, I had one of the wierdest job interviews. The HR person gave a psychology test. You can guess how that turned out since I have a touch of Aspergers like many nerds. At least I got a scenic visit to the twin cities (old HQ) out of it.
With other professions, there are certain levels of technical skill already there. Doctors, lawyers, accountants, engineers.
Hiring systems admins, I can't rely on any certification or organisation with deep roots that can certify people for me. If I'm going to hire you, you need a certain level of technical competency, in a set of skills I decided on. If you don't have those, then you don't fit the job.
Rightnow, the only way I have to find out if you have these is to ask you technical questions, and see how you answer them. After all, that's what you are going to be doing on the job every day.
If you feel offended that I asked you to explain in as much detail as possible how DNS worked during an interview, you can go work for someone else - there is no place for your ego or your superiority in my team.
I don't believe in a long test, but I don't think it's unreasonable to ask someone write down one or two coding examples. What I've found it the higher up (and expensive) a developer is, the less actually coding they seem to be able to do. If someone is an Architect, holy crap over 75% of them can't write a simple for() loop to save their lives.
And we're supposed to entrust this person with the direction of our development infrastructure. I don't think so.
I've given simple tests to newbies coming right out of college. If you're applying for a database developer job, but you can't tell me what a transaction is, or what's the difference between the types of joins, I don't want you. Another interviewee couldn't create a function that returns the items that are in Set A but not set B. He had the option to use any language, pseudo-code or English. Oh and he claimed to have over 10 years of experience as a developer. I think it was worth spending a matter of minutes to weed out these people.
Certs mean little of nothing. A degree means little of nothing. Working in an IT department of a major company means nothing. I know these three things because at one time this was a part of how I judged applicants.
A guy with certs had paid for a bootcamp of test preps. A guy with the degree was a regurgitating dumbass, incapable of thinking for himself. A guy from a huge IT department was very skilled in a niche area, but knew enough to BS about most of the other areas he claimed experience.
I now basically disregard experience, education, and certs. Rather, I weight half of the interview on the verbal interview and half on the written exam. This gives me a more complete picture of how they will relate to clients and what their approach is to solving problems. If it fits in with our corporate culture, we make an offer.
Other professionals have governing bodies and more tight knit associations. Lawyers are disbarred. Medical professionals can be stripped of their licenses. Hell, even if they haven't been caught, word gets around between firms and hospitals as to the relative competence of their people. IT is a much more individualistic and secretive area that (I assume) is a result of introverted geek kids that are all growed up.
I've always liked tests because they weed out the technically incompetent. Now it turns out they also weed out the hypersensitive.
http://xkcd.com/756//
Before you get huffy, consider that with any luck, this is an indication that the company's management actually cares about technical competence and that your future coworkers will also have passed this screen. If you've been in the field long enough to get a sense of just how many idiots peddle themselves as computer-competent, you'll appreciate the value of this.
Personally, I've always been fairly let down by companies that didn't do some sort of technical assessment. My thought was that they didn't really have any inkling of what level I was at, which made me fear that (1) they were more-or-less looking for a warm body, and (2) I was going to end up being the sharpest technical person in the outfit (i.e., with no one to learn from). I can't tell you how many times this turned out to be the case.
Now, if the company is actually taking a disrespectful tone, that certainly indicates a problem. But this is going to be a problem with or without testing. Try withholding your pay history and you'll find out just what your future employer is really like...
"Not an actor, but he plays one on TV."
That you'd be better at a Java/C position than somebody who actually has recent experience and training/education in the languages the company uses?
It sounds like you're the type of person this test should root out.
Yes, being able to learn is a very important skill, but so is coming prepared with the necessary knowledge to do the job.
you'll find them quickly with a Google search because you're trained to know what to search for
If you want to learn a new language, do so on your own time before taking the position, rather than looking up code snippets on google and accidentally coding a gaping security hole into the app.
I've found plenty of code on google that made me want to retch. One of them was a fix to a firewall issue that it looks like me predecessor followed, because after I patched up his gaping equivalent to an "allow all from anywhere to anywhere" rule I also had the fix the issue(s) that he was covering with the rule. Dozens of people online had repeated the bad rule as a solution to the issue, so while google might have "an answer" don't expect it to have "a good answer" readily available.
IT Professionals are not treated with respect. Yes, there are those that are dishonest but for the most part we are a hard working, long suffering bunch that do not get the respected salaries or even workable budgets. When we keep the infrastructure going and are crucial, we are treated as second class citizens by the business. I'd say this is a ripe point for an IT Professionals union.
Get over yourself and do what the interviewer wants. You should be grateful that they do their job properly and care about the company enough to hire competent IT staff.
I'm an interviewer for high-end people. We do financial software, lots of threads, locks, etc. We take the best. And we go through a few hundred resumes per year.
For us, the tests are merely a cost-saving measure. A developer's time at my company costs us about $500 in profits (which is much reduced after paying salary, investors, taxes, etc.) We try to identify good talent while reducing these costs.
The first pass is reading the resume, which takes 5 minutes. If we don't see "multithreaded" or "multiprocess" or "distributed" or some other important word, the resume gets tossed. This gets rid of about 75% of all applicants.
The second pass is a quick phone interview: ("do you understand the keyword 'static' and 'virtual'?") which takes about 5 minutes of person time. (The rest of the phone call is spent explaining the company.) This step wipes out 50% of the applicants.
The third pass is the written test. It takes minimal developer time (10 minutes to grade). This weeds out about 90% of the remaining applicants.
The in-house personal interviews take about 4 developer hours, or about $2K of profits. If someone cheated on the test, it becomes very clear.
I admit, the written test is impersonal and, frankly, insulting to the top people - the ones we are trying to recruit. However, it is VERY cost effective. It is also unbiased, since that step is measured without looking at a person's background, schooling, gender, race, etc.
As to the initial writer's comments, about other professions not being tested, my best friend is a lawyer. They test their applications too, but it is done in face-to-face interviews because the answers in law are more nuanced than in computer science.
The tests are just a way to tell you are qualified. They are impersonally and somewhat insulting to the good honest people, but they're just a cost-effective way to weed out good from bad. (And there is a _lot_ of bad, sadly.)
The more vicious thing is when they ask for your previous salaries. It is common practice in the financial industry, but some places will never make you an offer more than 20% more than your previous salary no matter how good you are.
There are at least two issues at play here. (1) Should IT professionals submit to testing when other professionals do not? This is an ethical question about equitable treatment, but even if the answer is no, it may be that IT professionals should still be tested because testing improves hiring decisions, and this in turn promotes expertise and culls the field of more inept professionals. This leads to the second question that (I believe) isn't addressed here: (2) Are the tests valid, in the sense that the reliably predict performance on the job? Most standardized tests of academic achievement and potential are empirically validated, and the results are published for all to see. This practice promotes good tests, and weeds out bad ones. If all IT tests are bad tests, then no one should take them. Does anyone here have the facts on question 2?
After 15+ years as a consultant/software engineer I have been in all kinds of interviews and job situations (in the US and Europe). Here is my opinion - hiring a programmer based on his/her performance on some test is like hiring an admin based on his/her performance on a typing test. I have interviewed and hired dozens of programmers and my success rate is pretty good. I have a pretty simple formula. Before the interview I list out what this job really entails in all brutal honesty (e.g. hot code fixes under pressure late at night, working with a hard to get along with person, coming up with innovation on the scale of the iphone (:-)) Then I just seek to have a conversation with the person asking them very open ended questions that address the items in my list. Then I listen, and listen trying not to talk to too much. This has worked much better , in my opinion, than asking them to get up and code a quicksort on the chalkboard or something.
I recommend testing of all technical IT staff. I have seen more then one 'administrator' coming from another company with great references and certs turning out to have no practical capability and was the 'license' manager. We quiz programmers and project managers on stuff, so why wouldn't we have a technical resource do a practical?
In God we trust, all others require data.
All the other professionals were already tested. Lawyers have to pass state Bar exams to be licensed. Accounts have to pass tests to become a CPA. HR professionals (if they exist) have a similar licensing scheme.
"Real" Engineers, plumbers, electricians, nurses, medical doctors, dentists, truck drivers, and to some degree carpenters and steel workers all have been tested by an outside licensing organization, proving that they have the skills necessary to the job assigned to them. None of these are tested by vendors of the product they work with. Imagine if a mechanical engineer had a certificate from the concrete and steel vendors he regularly works with building bridges and buildings. Most would think that is odd, lacking detachment.
So I whole heartedly agree that the interview process is a chance for both interviewer and interviewee to review each other. Having been an interviewer, I have been burned by people knowing all the right buzz-words. Having been an interviewee I've been offended by questions like "What have you used Java for?" But I found that in general the places who had coding tests had more people working there who knew how to code and the places who didn't had more people who knew how to talk about coding.
Oh I like that one. Yes, very apt. Can you get a deceitful grabbing weasel to put a good face on his being so? If so, they'll be an excellent sales person.
I've encountered Admins who know nothing, and MCSEs that know nothing. Of the two, the people with 'real experience' at least know how to deal with the real world fact vs. what the manual says _should_ be happening.
My last two tests at the job-interview were conducted by the person who became my manager after I signed. They asked the same questions as a mortal HR would have, but the discussions soon wandered of to anecdotes and past experiences on the field. In both occasions we ended up drawing flowcharts and writing down helpful URLs to help each other in whatever geeky activities we were involved in.
"Violence is the last refuge of the competent, and, generally, the first refuge of the incompetent" - Thing_1
Any specialized position gets tests like this. It's nothing new really. People have mentioned law offices not testing lawyers. Guess what, that's what the bar exam is for. They're mainly interviewing on personality and verbal skills half the time. Doctors have their own exams. IT people really don't. Most of the certifications out there are a joke and a trained monkey could pass them.
Basically, it's the same as a job asking you for a portfolio. The hiring agents for IT professionals generally have no idea what an IT person does. You could easily BS your way into that job without some kind of test. Be glad you're not a technical writer. I'm asked for a portfolio and usually asked to take a skills test. Besides, if you can do the job, what's to fear? I think IT people, in general, got lazy from years of talking technojargon to get in the door. I used to work in IT, I know the kind of people who'd get hired...and it was painful.
Wise men say, "Forgiveness is divine, but never pay full price for late pizza."
A question something like:
How long does it take to connect to a website in "location X" (in a different country, and it was actually asking for a numerical answer).
Uhhhh... notwithstanding that it could be any number of different answers, the question itself was asking for a numerical answer. A slightly better answer might be:
How might you determine the length of time it takes to connect to a server in location X from our office.
But it's still a pretty dumb question for a paper test IMHO, because it's simply not the type of thing even many competent people might carry around in their pocket.
Of course the ones I absolutely despise are those that depend on knowing obscure flags to a given command, especially when those flags change between different distros/OS's. (and along that meme, whomever made the port flag differing in case between SSH/SCP different deserves a sound thrashing).
We always test applicants, and we've never had anything but top quality hires because of it. We're not forcing them, but if they aren't willing to put in the effort, it says a lot about their future work ethic. Or perhaps its because they secretly know they're not competent. Proving you've worked at a company for X years doesn't mean you're any good. Useless incompetent "IT professionals" are "working" at corporations all over the world. How do I know you're not one of them without a test? As a candidate, you should welcome a test because it tells you a lot about the company you'd be working for. Is the test lame and irrelevant, or are your future colleagues good thinkers? How well are the requirements explained? Personally I'd rather be tested up front, than be fired after a few months because I don't think along the same lines as my colleagues.
I have been working for a big software company for almost 3 years. All the people form IT they hired were going to almost a day of testing (3 IQ tests, 1 syntax checking test, 4 computer related tests), followed by some more interviews after and at least a 3 weeks training period.
And one day, at the customer site, (after, Unit Testing, Sub-System Testing, System Testing, User Acceptance Testing) I got a defect to investigate. There were a lot of problems in the cod but the funny code I found is this:
The guy who wrote the code had to fill some info in a structure, let say the structure is this:
typedef struct {
int rangeInd;
char streetName[MAX_STREET_NAME_LEN];
char cityName[MAX_CITY_NAME_LEN];
int streetPost;
double lastBillAmt;
}lastBillInfo;
and now let's have a look how he did that:
itemNr = 52;
for(i = 0; i itemNr; i++)
{
fanion = 0;
switch(i)
{
case 0:
subBillInfo.rangeInd = 1234;
break;
case 1:
strncpy(subBillInfo.cityName, "one Town", MAX_CITY_NAME_LEN);
break;
case 2:
strncpy(subBillInfo.streetName, "one Street", MAX_STREET_NAME_LEN);
break;
case 3:
subBillInfo.streetPost = 328790;
break;
case 4:
subBillInfo.lastBillAmt = 32.4;
break;
default:
fanion = 1;
}
if(fanion)
{
break;
}
}
And all of this after a lot of test before he was hire and after trainings and after the code review of his colleagues and his group leader.
So in my opinion the tests are not relevant, you can get easy an opinion reading the cv and at the first talk. There are plenty of people with a lot of things in the cv, reading the CV you will believe that you will have the IT Superman, my experience tell me that this guys know nothing. :)), is better to call for an interview a guy with a CV on C++ (but focused) than a guy who knows Java, C++, Python, Perl, Ada, ....
Let's say you are looking for a Jave developer (it is a trend to use this as example
If you master a programming language and you have a logical mind set (a way o thinking) you can learn a second programming language in a night, but can take a million years for some people to learn how to code.
I have found so many verifiable id10Ts that have worked in niche invironments padding their resumes with BS using these tests.
If you know what you are doing, why should you fear the test? Does a certification help show someones problem resolution skills? Or should I flat out believe the guy with all the buzz words on his resume?
In the environment where HR has to say nice things about you or face a lawsuit, can only believe that yea, you may have worked there, but they rarely provide accomplishments and ability information.
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.
There are a couple of points in this original post all bunched as one.
1. Tests are demeaning. ... ...and in such a paternalistic way?
-- No, they're not. You're pissed because you had you time wasted recently (and probably multiple times in your life) by some non-technical person asking you a bunch of questions from a website or book. And yes, that sucks. Your job as an interviewee is to interview the interviewer and decide whether you want to work there. This certainly counts (in most cases) as a black mark.
2. Others don't get tests.
-- Of course others get tests. Look at the list you provide: "lawyer, accountant, sales, HR" Of those, two (and depending on the level, three) take big tests which they study for years for. There's nothing so rigorous for computer folk.
3. Why are IT professionals treated differently
-- You interview a lawyer looking for different attributes than you look for in a salesperson. You look for something different in an accountant than a computer person. They're different.
4.
-- Computer people are often young and inexperienced. Paternalism makes sense in that context.
5. 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?
-- Because lots of them are lying knuckleheads, or people who just don't understand their job very well. Resumes which show a lot of technology don't show proficiency with any of it, and interviewers wind up with lots of people who absolutely cannot do the work they're trying to get a job for.
Computer programming requires critical thinking. You often get applicants who have worked for years with lots of tech who, when you explore their experience in a well done interview (and no, I don't mean a test, though a well done test would show the same things -- if you can find a well done test) that they followed very specific orders for small, non-thinking tasks.
Sysadmins are harder to judge the merits of, which is unfortunate, because when you get a stinker there, the wrong company suffers, even after he/she's gone.
You my be very good at what you do. In which case, the interviews you go through are unnecessary, but the places you interview don't know that.
You may have only worked with competent people. If so, you have a good hiring process to thank for that, not the professionalism of the industry as a whole.
Tests administered by people who don't understand the answers suck -- We all know that. But testing in general is necessary. You as an interviewee get information from how it's done. You can always walk out. You might ask what an interview will consist of before you come, and if you're told you'll be tested, you might ask a few more questions, then decide to fire the company before your first interview.
Because a large number of developers are mediocre. If an employer is looking for someone productive, this is the last thing they want. It's amazing how people big themselves up on their resume then struggle to demonstrate their claimed proficiency in a language by writing a little program. I've seen this time and time again.
A /. article from a few days ago. I was almost neutered for my replies ...
CONSISTENCY PEOPLE !
"Violence is the last refuge of the competent, and, generally, the first refuge of the incompetent" - Thing_1
Many people have pointed out that lawyers, accountants, doctors, etc. all have to pass tests, certs, etc. The difference between that and the IT test situation is that IT tests (at least the ones I've taken) are badly designed and written by some smug IT manager guy who doesn't know how to write an effective test. Usually, they test details that good programmers/admins don't memorize. That's what man pages are for.
So, when I go on a job interview and the hiring manager would rather watch me put check marks in boxes on some hand written test than talk to me and let me walk him through any of my reams of recent coding projects, I just say, "No thanks. Not for me."
The IT department may get 1000-10000 applications for each available job. After all, there is a lot of competition for those $12hr jobs. They would not want to pick someone who would not give them fair value.
The best way to make money in IT these days is to hack into the systems of your prospective employer and hold them for ransom. That is where the REAL money is. Of course, there is the matter of legality, but hey, that never stopped Bill Gates, why should it stop you? ;-)
Most HR folks, esp. with tech, have utterly no clues as to what they're hiring for, or what qualifications are actually needed, and they don't *want* to know. So they use certificates, or tests, to come up with a yes or no as to whether the hiring manager, who actually *does* know this stuff, can talk to someone.
mark
I would never accept a candidate without at least an informal knowledge test -- It doesn't need to be a sit down written exam or a coding problem, I just need to know that you'll know what to do when the shit hits the fan without having me standing over your shoulder.
All the paper certs in the world and all the years of experience can't make up for talking to your applicant and determining that they're prone to panic when all the red lights are flashing.
/~mikeg
I see things as primitive computational operations (logic, machine language operators), data structures, and complexity (among other things like mathematics(RA, stats), bandwidth, and physics). Mapping them to the language/technology de jour is not difficult after that.
To me, such testing for software positions is like testing for a race car driver, not an automotive engineer. And, this process leaves important engineering decisions to the driver.
Ultimately I have a huge contempt for these "drivers tests" (partly because I would fail), making me an exile, an outcast in the development world; I feel they simply test the wrong things for an outcome of routine success.
That said, I did just finish a very visible gig but had to convince people to "slow down" and get it right, since FAIL would have been "eventful".
I recall being drilled at one place. I knew the pay would be lower but the idea of being out of work at the start of the dot-com burst was daunting. And who knows? Maybe they had a position that could fit me. The guy doing the initial interview walked me through their lab. He wanted to know how much I knew about the hardware they worked with. After identifying most of what was there he took me into another lab because as he put it he hadn't "stumped me" yet. After identifying most of the things in that lab I took a test.
After taking the test they brought in 2 guys to stand and read my answers and essentially grade my test with me sitting in a chair before them! The interviewer was very excited, though, (almost giddy) and said he really hoped they could get me in there.
About a week later I sat with a manager who essentially seemed only concerned with how much I expected to be paid. Ultimately, I was over qualified and even agreeing to meet them in the middle wasn't a low enough salary for them. But I really felt uncomfortable watching my test being vetted.
Other professionals are constantly tested. Engineers, Doctors, Lawyers, etc are constantly required to validate their skills, why should IT people be any different, programmers or otherwise? I can't tell you how many guys I've ran into that feel they are "certified" just because they can use a wizard to configure a server or to generate code, it's silly and makes people with actual talent feel insulted.
I agree. I have used test to hire programmers and it is unmatched as a method to sort out the "bullshit" talkers. If you are to hire a C programmer, ask if he can write down a hello_world.c . If you use CVS or Subversion, ask if he knows how to check in a file. To see if he is computer literate ask if he can mention the four freedoms of software or if he can associate Bill Gates, Steve Jobs, Larry Ellison and Richard Stallman with the correct company/institution.
Well, lawyers are already tested when they pass the BAR. You could argue that it is similar to a technical certification, but they have been tested.
You need to decide if you want to take tests or not. Perhaps a good question to push back at the interviewers is "If you have a systems problem at 3 AM, do you want someone responding who can pass a test or someone who can track down and address the root problem?"
I use irony whenever I can, but my shirts are still wrinkled...
Make it a hand on test / having a tech ask the questions is the best way.
DO NOT HAVE
A written test / on that HR gives as you can get passed over by not useing the right buzzword / they don't under stand what you are saying.
Not give any follow up info when you ask them from more detail about the question.
Don't ask about stuff that is easy to do when you are looking at it like what icon / menu is this in? When you are not at one.
and so on.
The licensing process is what prevents there from being any reputable rent-a-coder type sites for these professions.
The risk of loss of license also keeps practitioners in other professions somewhat on their toes more so than fear of loss of employment. Correspondingly, employers cannot so easily hire and fire licensed professionals as they can with us code-monkeys.
IMHO, US corporations will do anything and everything to prevent regulations requiring licensing of IT professionals. Their fears might be well founded: Next thing you know, we'll want to unionize!
True.
Which begs the questions, why is a college degree even relevant?
You can be saddled with student loans, and still know less than the guy who checked out a "Systems Administration for Dummies" book at the local library.
I have seen that happen myself.
One place I worked preferred self-taught, non-college-degreed people, because they tended, in many cases, to know more, be more current (many college IT courses are dated by the time they are taught), and said employees had no need to hide behind a piece of paper or an acronym of certifications.
Too many people do use said degrees and certs as shields. I have worked under people with Master's Degrees who couldn't wipe their own ass.
Any of us who have been "certified" are well aware that it is complete economic and promotional bullshit, and you know what ... more and more employers are becoming aware of this as well.
Some 18 year old kid straight out of high school is as likely to know as much about computers as the guy who paid for 15 different certs trying to show that he knows about computers.
Those who can .... do. People don't want to pay a premium for degrees anymore, they just want the task to be completed so they get paid by the client. The paradigm is slowly shifting.
Fancy papers as indicators of knowledge are slowly being shown as the fools gold that they often were.
The most brilliant people I know never finished college, and some of the most obtuse people I know have doctorates.
As the "education emperor" continues to be shown wearing no clothes, expect more of this testing.
I think if you're gonna charge someone 100K or 150K for being a senior admin, its okay if they want to ask you questions pertinent to the skill set required for the position. This is just an opinion and you can disagree if you like. It doesn't really matter to me. I just want to make one point: THE TEST ANSWERS BETTER DAMN WELL BE CORRECT. There is more than one way to do things in *nix, so answering the other way doesn't make you wrong. It may makes you fail a lamely constructed test answer combo, but you weren't technically wrong.
I've been a UNIX sys admin for 11 years. I'm largely self taught like many of us. However, I had to at one point sit down and learn what the modes where both in symbolic notation and octal. I think we can all agree that is a very important concept for admins.
The other day I was interviewing for a position with a very famous company who's name I won't say because I don't want the admin who created the answers to hunt me down and kill me for vehemently discussing my feelings with the HR lady for about 15 minutes about how wrong her answers were.
This was one of those, if you don't get 7 out of 10, we don't send you're resume to the hiring manager. I managed to only complete a 6 in her eyes. Which pissed me off to no end so I asked her which ones I got wrong.
####
1) The first one had something to do with the value of some inode count of a new directory related question. I honestly didn't know the answer. I told her I didn't know the answer. She wanted me to guess; and proceeded to force me to guess when I repeated that I did not know the answer.
So I wildly said somewhere between 4 and 16. The answer was 2. I guess she was trying to make me feel stupid, but I didn't care cause I told her I didn't know the answer and I was completely forthright on that point.
####
DISCLAIMER: This post is not supposed to be a tutorial on modes, symbolic notation, or octal notation. Please don't complain because I was incomplete, or perhaps my answers are vague or even wrong, they are just my thoughts.
2) She went on to ask me two question about file permissions or modes. After she marked me wrong, she tried to convince me that in the case of:
mode 075 that a member of the owning group could not read the file. If you are a member of the group then you get the 7 (g+rwx). I told her, as long as you are in the group that owns that file, you should be able to read the file. I guess I could be wrong, but I don't think so.
Well, ok, since its the first position it means the process will appear to be running as the user who owns the file. Off the top of my head, I'm not sure what user shows up if it was read by a group user, but thats not important for this demonstration. She disagreed that it meant that group member user could NOT read the file. Had the mode been 4475 I might have mistaken, but she gave me 3 digits, not 4. I explained it would look like this
-r--rwxr-x user group filename (roughly)
but she said I was wrong. On that alone I got cut out of the chance of my resume getting passed onto the hiring manager for review.
####
3) Then she tried to convince me that in mode 475 that the 4 stood for setUID.
My general understanding is that a file is setup with the modes in this order: user,group,other/world. User is the owner of the File. Also group is an owner of the file, but you have to be in the group if you want to inherit those permissions.
read is 4 (r), write is 2 (w), execute is 1 (x)
They can be combined in any way you want. You can also use like below:
chmod g+rwx filename
I explained there is an optional 1st position when using modes. One example might be `chmod 0750 filename` if you want to remove things like setUID, setGID, sticky bit, etc, etc. You can hence declare 4475 or any other 4 digit combo that has nasty results if you don't know what you are doing. Here is where I'm cutting off
Best Regards, Snorelock
I run across people with your description constantly that simply cannot program. There is no differentiating certification or education level, except for possibly a PhD, that would make me comfortable with a candidate that I did not test or ask very technical questions to. I expect it when I interview as well. There are very few degrees or professional certifications that would tempt me to skip the technical vetting process.
I don't think anybody likes doing unpaid work, but when there's a lot of cash on the line, I can't blame employers for wanting to test the product. Just as long as it's a realistic assessment and not something stupid like asking someone to code something difficult and obscure on paper, without Google, it seems reasonable to me. It's like dipping your pinkie into the bag of cocaine for a taste before handing over the suitcase full of money, right?
Ask me about my sig!
This was an interview for a ColdFusion dev; you can be a great generalist, but if you don't know that language, you should say it.
The detail questions let me know whether the person knows the language, as opposed to whether he/she is smart; two different questions. Although I learn really fast too, using a language for several products gives you a different level of knowledge.
Face it: anybody can "become" an IT/programming pro overnight. The level of professionalism displayed in the domain is quite bad, with a lot of unqualified (stupid is too vague) people everywhere, and nobody(esp. consulting firms) wanting to be honest on the skill level of anybody.
You are part of a *trade* that can easily be compared with used-car salesmanship. You HAVE to prove you are the wheat inside the pile of chaff. To become a *profession*, the IT/programming field would have to start regulating itself (bar-style) and it's practitionners would have to start standing behind it's results (no EULA no-responsibility-for-results crap).
Embrace the tests, and see them as a productive way to show how good you are. They should boost your CV over the bullshit-laden ones!
You're not old until regret takes the place of your dreams.
. . . we aren't professionals; we are gangsters with a protection racket on the business. Engineers? Hardly. Artists? Er, blink tags, DOS and Lotus Notes. Business Facilitators? Clear requirements anyone?
Have a test for common sense, competence and problem solving, rather than knowledge around a particular product which anyone can get from a book. Does anyone really value the piece of paper handed out by MS/Cisco/IBM/PMI/ISEB/ISTQB/yadda yadda yadda or would you rather see the skills and abilities of the individual?
True professional certifications verify competence; I suggest ladies and gentlemen that currently IT certifications verify the size of your department's training budget. fnar fnar.
Test Them I say, and make them sweat. It's better to find out sooner than later that the lady/gent is a tramp.
I'm sure that many employers turned YOU down for it.
personality test are ageist the Americans with Disabilities as they can show Disabilities.
People seem to think they're smart. Testing other people empowers them. Of course they aren't really smart, so they test for things that are easy to learn, and wouldn't recognize things that are hard to learn if smacked upside the head with them.
Twenty years ago I said I'd take an accomplished COBOL programmer who could follow instructions and solve problems over someone who knew the exact skills I was looking for but had a big ego and no imagination. I haven't changed my mind. Smarty-pants syntax testers can eat my shorts.
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
How lawyers are tested (in the US): http://en.wikipedia.org/wiki/Admission_to_the_bar_in_the_United_States/ and they even have ones to simulate real-life http://en.wikipedia.org/wiki/Performance_test_(bar_exam)/.
You can be sure no company hires someone for a position as a lawyer unless they're passed the Bar exam.
How accountants are tested in the US: http://www.cpa-exam.org/get_started/steps.html/
Betcha the folks applying for IT positions as network engineers who present appropriate-level CCNA certifications don't get "tested" by the hiring company either.
The day there's a comparable independently-administered exam for IT capabilities in other areas you can bet they'll stop doing on-site tests and switch to just asking for certification.
There is a major difference between a interview and a test. I have had many interviews with up to 10 people in the room all shooting questions at me. And wound up with a job offer almost every time.
However I have had a few interviews where they will hand me a form (Or the manager reads the questions) and they have me take a test. In every one of these cases what I have found is the manager has NO CLUE about the people or the technology he/she is managing.
As a result, I have passed on all but one of those jobs (And wish I had passed on the one I took). The manager is clueless and will make your life a living hell.
Now if the manager or his staff are firing questions at you and interacting with your answers that is a good sign and I use it to decide if I want to work at the company in question.
Here's my take, as a former senior software engineer in gaming (for about 6+ years). As a programmer I don't have any certifications or licensing board that I know of. And hell, I *like* taking tests and solving puzzles. So I'm perfectly happy to do that in the context of a job interview.
The thing I had to kick that was much worse are game companies asking you to do programming work at home, before they are willing to talk about any interview. Maybe several days of programing work so you can chuck down the black hole of their HR who may not actually be looking for anyone. I did do that twice (no response either time) and feel kind of stupid about it now. If anyone younger reads this, don't do what I did -- don't even consider spending a single minute doing coding work for any job if someone doesn't schedule an interview first. On-site tests are beautiful and fun and fine.
With one caveat: I had one test that asked to convert a number representation in ASCII to an integer type. Of course, I used the canonical and fast way to do that from my numerical analysis class (convert each character; multiply by 10 each step). But the interviewer didn't understand that, thought it was backwards, and I had to step through a test case to show him why it worked. Didn't get that job, either.
We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
Whenever some of my employees produces code like "i=0; i=i++;" he will get fired anyway. Good code is readable, and not a riddle or puzzle.
So the correct answer is: does that really matter?
The volume of applicants for my open positions who lie or exaggerate during the process is staggering. I've been hiring in IT for over ten years now and it's been a constant. People try to put their "best foot forward" but in practice put eight or nine feet forward. The hiring manager who doesn't verify some or most of the claimed skills ends up overpaying for talent that is better suited for a different position.
While I sympathize that most "tests" are poorly designed and questionably interpreted, I'm always concerned about a prospective employer with too easy a screening process.
The screens I use consist of resume review, email questionaire, phone and in-person. Each stage eliminates over 50% of the applicants. If I dropped any particular stage, I would double the time I spend filtering with a negative impact on quality.
Possibly of even more importance, the screening steps tell a story that for far too many candidates unravels under closer scrutiny. A candidate who claims several years experience with X on their resume and answers questions regarding X very well in email... shouldn't appear ignorant about X on the phone, but it happens. I've even had people do well on the phone only to unravel when asked questions about X during the on-site interview.
Maybe you would never cheat on an interview to get a job, but there are many, many other people who do it actively.
Before you dismiss prospective employers for daring to ask you to take a test, consider who your peer group will be at the employer that does not.
Finally, the very act of asking you to take a test can be viewed as a personality test. Based on experience and experiments, we've determined that most who refuse to submit to our questions and interview process are not the best team players and would not do well in our environment anyway.
Ultimately, you need to decide who you want to work for. If you balk at the "hello" that a test represents, are you really gaining enough information about that employer to make the right decision? Do they make an interesting product? Is their business plan solid and likely to survive? Do they have a strong team you can learn from? Is their management style compatible with your working habits? Is their compensation sufficient? Do they have opportunities for your career growth?
If you can tell all that by the act of asking you to take a test, congrats, you're doing pretty well.
Disclaimer: None of this is meant to support standard tests given by recruiting agencies. Recruiters suck.
These opinions guaranteed or your money back.
Sure. We weed people out with them. But it's also a way to get a code sample that we know was written by the applicant. I don't think every person works well on every dev team. Some people absolutely won't change the way they indent. Some use very interesting forms of logic. I learn far more about what it would be like to work with an applicant from their coding test than from talking to them about why they're leaving their current job or what an interface is.
So, if they give me a test, they are assessing my ability to work under pressure? Here's a suggestion:
Go fix your management so that your employees do not have to work under pressure, instead of missing some really talented people than can't work in a frenzy environment.
It's very simple why people choose to interview IT people, and test them.
IT is one of the only professions left that calls themselves 'engineers', without ANY Engineering background or schooling.
Lawyers. They take a test, it's called the BAR Association.
Doctors. They take a test. They also spend years honing their skills and being 'interviewed' by their peers (hear of a internship or doing 'your residency').
Engineers. They have their own schools of thought.
None of the major, high paid, engineering or other type jobs let you get away with calling yourself whatever you want in a title... They require more than a "diploma and a couple certs". Try becoming a real Electrical Engineer, or a Nuclear Engineer, or a D.D.s. Or any other type of doctor.
It's simple. People in IT lie, cheat and steal to get a better job. Too many people have been burned by self-titled "engineers" and professionals, and honestly, all those certifications you have mean little to shit to the average hiring manager.
Seriously, as a Fortune 5 level IT manager, I found that most of my problems came from my "certified" employees, whereas the self-taught ones that didn't have the "I have an ***insert_title_here*** cert, so I know I'm right" usually got it wrong.
That's the reason behind testing. Too many people in IT either lie about their skills, lie about their person, or simply embellish the truth to the point of where it makes no semblance of sense as to what they are trying to convey.
--Toll_Free
How is a company supposed to know if you have any idea what you're talking about in an interview?
I've gone through the tests, and from what I can gather by the questions, there are some really stupid people out there who think they know their stuff in IT. I would hate to think about the results of blindly hiring people to take care of a company's infrastructure without asking some of those questions.
You take a driving test for a CDL. You have to pass basic training in the armed services. Plenty of professions (someone else mentioned mechanical engineering tests, etc) require proof that you have some clue as to what you are doing before you get a job, and for good reason. IT related positions shouldn't be any different.
I can see that for a field that changes so frequently, such as CS and IT, a standardized test would be so woefully out of date by the time anyone would have a chance to take it it would be useless.
Standardized tests take a long time to write properly and then there's the institutional inertia behind the companies that administer the tests that slows the process of getting a relevant test to a release version.
I admit, it's been a few years, but you seem to have hit one of the major issues I have with Brainbench.
(and I'm only _not_ certified any more as they expire your certs out in 3 years, and I didn't feel like re-taking the ones that weren't required for my job ... but I have a stack of certificates with gold foil seals on them stating I was once certified in a bunch of stuff)
Build it, and they will come^Hplain.
I have a list of screener questions, that's all I think of them as, and all I'm looking for is straightforward, honest answers, even if that answer is "I don't know". If I'm unsure of a candidate's ability to program (script?) in PHP, which happens to be the language of choice here, I will ask a few of them.
These are questions like: "What is the difference between single quotes and double quotes?" Honestly I'm not so much interested in the right answer. I do believe that every self professed PHP developer (scripter?) should know the answer to that question, but I'd settle for an honest, straight forward "I don't know". It's when I start getting the streams of bullshit that the red flag goes up and I say "thank you for your time".
They are really tools to get you talking so I can judge how you reason, how you deal with questions you don't know the answer to, and how willing you are to admit you don't know the answer. Oh, and also to gauge your PHP ability. However, if you get that one wrong you probably aren't getting the job. ;)
While they're at it maybe they can bring in Tinker Bell as a consultant so the precious snowflakes that are interviewing there can learn to fly as well.
It's called work for a reason. Show me a company that's free of pressure, I'll show you a company that's not trying hard enough.
The term "professional" is being used rather loosely here. In order to be considered a profession, there generally needs to be a professional body that regulates practitioners (for ethical and technical competency). Medicine, law, engineering, and (most) accounting all have this; in some places (such as Canada) it is illegal to call yourself a "professional engineer" unless you actually are a certified member of the profession.
From the post:
"Should IT professionals start to refuse to be treated as not real professionals?"
The answer is no; "IT professionals" are not professionals because there is no regulation. At best, it can be considered a trade.
Ultimately, employers should be able to do what ever they believe will help them choose the best candidates, as long as it is within the law. But, remember that an interview is a two-way street... how the interviewer behaves and the expectations they reveal will tell you a great deal about the employer. You will have to decide for yourself if this is a company you would want to work. My sense is that the places that have asked me to test tend to want to treat IT professionals as a commodity, and thus not a place I want to work. If they can't field someone to talk with me to determine the depth of my knowledge then I usually see that as a problem.
Doctors, engineers, surveyors, lawyers and similar professionals have state boards that require examination and certification in order to practice those trades, whereas I.T. does not. Additionally, given our wonderfully lawsuit happy society, I can ask my HR staff to truly probe your employment history and even if they were to do so, your previous employers are very unlikely to provide more than "yeah, you worked there during those dates and you weren't fired." So, what other choice do I have as a I.T. manager but to test you? Take your word, not likely... a good manager has probably been biten by that one or two times and is not likely to fall for it again. If you don't like that, you're perfectly welcome to look elsewhere but don't whine about it.
Democrats and Republicans are like AIDS and Cancer, I want neither!
Well, I have to say that I've been in the business for 20 years now. I have a combination of management and programming experience. Of course, once in management, programming happens very rarely. I recently went on a job interview that was going to require "xxx" programming. I made it clear in my resume and during my interview that it had been five years since I did "xxx" programming, but knew that once exposed, all would come together. When I was handed the quiz, I literally freaked out. Though the questions were simple, I knew I was using the syntax from the "yyy" programming language that I learned with my current employer. It left me with an awful taste...however, I was offered the job the next day because I was the only candidate for the job willing to take the test {and look like a fool}!! I turned it down because I didn't think the environment was right for me.
I've learned over the years that hiring a software engineer without giving them a thorough skills-based technical interview is a big mistake. It does not matter if the interview is given at the whiteboard or on paper, but a software engineer should expect to spend 85% of the interview writing code or code-like responses.
The reason other professionals do not need to do this, is that the hiring managers are at a disadvantage in that there is no way to test their skills as suscinctly as it is possible with ssoftware engineers.
My wife graduated Summa cum Laude with her degree in accounting and she was tested even interviewing for temp positions.
I've hired for IT jobs before and I always test potential employees in some way or another, but it's based on their training. SOme get more testing than others.
For me it's because IT is such a wide-ranging field and we rarely have the budget for much training. I need to make sure that I hire the person who already has the most practical knowledge as it pertains to the specific job.
Right because being burned by incompetence doesn't happen in any other field right?
Had the Ask Slashdot submitter ever actually done an interview in another field, he'd know that "test" are not limited to IT-related jobs.
Go apply for any banking job and you will receive what is called a "case interview". You'll wish you were just taking just a simple IT test.
Many other employers will give personality tests.
That being said, I did walk out on a job interview once over one of those tests. I was applying for a job at a large national bank, and HR had decreed that all applicants for professional positions would take a particular math test. The highest level mathematical skills required to complete the exam were an elementary grasp of fractions, and the ability to read a graph with X and Y axes.
I asked the interviewer if it was really necessary to waste a few hours of my time on this math exam after acing my case interview (it was a few hundred questions long!). She informed me that, regrettably, I would be required to take it, and that she was very sorry about it, and to please just take it, and that in 5 years I wouldn't even remember it and would be happily along in my career. Well, that was over 10 years ago, I still remember it, and when I walked out, about 3 other applicants walked out with me.
I guess they must know something I don't, because that bank is doing very well right now in the current financial crisis. But my career path wound up taking a very different turn for the better, anyhow.
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
I've recently been interviewing people for an analyst position that requires some coding skill, so I put together a simple test which I send applicants in advance. They don't have to write anything down but it provides a framework and talking points for the interview.
I deliberately made it fairly simple but it's already proved its worth. For instance, the first question is: how would you count the number of files in a directory?
Probably about 30% of the applicants could NOT give a good answer to this.
Because sadly, I have had MORE people with those kinds of resumes who couldn't do their jobs competently than those who could. Until such a resume is a reliable indicator of competence, you can expect to have to take tests.
The claim that other kinds of jobs don't have these tests seems ludicrous to me, though, as I've seen such tests for many areas. Particularly, lawyers will have to take such tests before being hired by most firms.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
I work at an aerospace manufacturer. The tests were my favorite part of the interview process. I applied for the IT job, but they'd already decided on someone, so I took another position, because I needed the work. Aced the tests (because, let's face it... they're not MENSA-level exams). My wife graduated with an electrical engineering degree a few months later and applied at the same place. Same tests. Reasonable? You betcha.
Frankly, I think 5-hour job interviews are broken. They deter many good candidates, some candidates who are pretty darn good do poorly in them due to psychological pressure, and in the end the interviewer doesn't know much about a candidate anyway. You can't really find out much about a guy in less than 50 minutes, and you simply don't know how well he will work in your team.
Personally, I'd substitute this with a much lighter interview process, followed by the trial period of, say, 1 month. Sadly, this doesn't seem to be legally possible in the US, because people sue their former employers all the time for "wrongful termination", so you have to document a trail of non-performance before you give anyone the boot.
But this has nothing really to do with the OT. Interviewing is VITAL to getting a good IT guy, not only finding out if he has technical know-how's, but if he's going to be a good fit for your company. Making them do a written test is just ridiculous and only enforces the people you are talking about! The ones that just memorize answers to typical interview questions! I just recently went through a job search, and almost all the companies that made me take tests were pointless drivel that anyone could have google searched. The companies that impressed me where the ones that actually sat down and talked shop. I find that companies that expect you to excel at tests are looking for a certain type of person ("book" smart). Those that sat down and talked shop were the ones looking for programmers that had a love for the field.
I work on Wall Street and have participated in many, many interviews from entry level guys to senior staff. It's very common to ask technical questions to our candidates. They could be either computing or statistical questions (the focus of our group) but they are always given. We wouldn't think of it otherwise.
The questions are sometimes about specific facts. That's most common with the younger guys. But we ask everybody to describe some technical problem they have resolved. Also we pose hypothetical situations and see how they respond.
The intent of the questions is three fold. One - we want to see if the candidates know what they say they do on their resumes. Often they do not. Two - we like to see how people think creatively when posed with novel situations. Most of our work will be exactly that. So understanding their decision making processes is very helpful in evaluating them. Finally we like to see how people handle stress. Nobody is screaming at the job seekers or anything. But we work in an industry where people have to defend their complex decisions to others. If you can't do that in an interview, you're a bad fit for this job.
Job interviews are not all "meet and greet". You have to show you know your stuff. And if you're confident in your skills, that should be no problem. In fact, you should be glad the company is doing the tough interviews. That means if you're hired, the people around you are likely going to be very good. And that's the kind of environment most people would really enjoy working in.
They make you take a test in the adult film industry.
Just be glad you get to keep your clothes on and your orifices closed.
Comment removed based on user account deletion
This isn't anything new, and it certainly isn't restricted to IT... I've been in engineering for going-on 10 years, and if my interviewer didn't ask me any 'test' questions, I'd be highly suspicious of the interview!
The most common thing that the interviewer is looking for is NOT necessarily coding conventions, or your ability to program in C++, Java, or whatever language you're dealing with. For almost all languages, there's at least one book out there that teaches syntax, and given that your interviewer knows you went to college, they know that you can read... so they're not going to care that much about syntax.
The ruling majority of the time, they're looking for problem solving abilities. So, if they ask you 'how would you do blah blah blah', respond with 'Would you like real code, or do you mind if I just use pseudo-code?' Their answer gives you insight into what they're looking for, and you can aim your response accordingly.
One of the most enjoyable interviews I'd ever had was at my current employer... the interviewer presented me with a simple engineering problem. Then, asked me to come up with as many solutions as possible... It was a great way for both of us to feel out the other, because they could see my problem-solving strategies, and I could see theirs (by coming up with a solution they hadn't thought of).
As an interviewer, i like to ask "simple" question like : "How do you implement a singleton in c++ ?" (interviewing a c++ developer of course).
Then I dig on the subject to evaluate how much the guy thinks about his code and how easily he accepts that sometime he might be wrong if we change the context. It happens that it's easy to find a developer who can explain his/her solution but it's hard to find someone who accepts other ideas.
Speaking with the developer about 2 or 3 subjects like this takes no long than 15 minutes and is enough to have a good idea of his/her skills.
I would have a big problem to give my advice about someone who refuses to answer these questions.
Heck yes, it's more than reasonable. If you have a test, bring it on. I'll be glad to pass it for you. Better yet, I'll find out for myself if I can pass it... :P
-----
It's not always just about the correct answers, you know. Sometimes just the willingness to take the test could be the deciding factor. Sometimes the ability to admit that you don't know everything is the deciding factor.
Better to have the test (or the request!) filter out some of the more egotistical and/or fraudulent candidates.
=cjs
Comment removed based on user account deletion
Using a degree as an indication of knowledge is a bad idea.
Completing a college education is an indication that you're willing to make long-term commitments and follow through on them even when the intermediate goals are dubious and the process is expensive (in time/money/whatever). It's an indication that you're willing to work on projects that are unrelated or even contradictory to your long-term goal, on teams with people that aren't accountable to you and don't share your goals, and get stuff done anyway.
As an interviewer, I realize that the field is too broad to have knowledge in all pertinent areas even for most specialized jobs. It's important to question people not to find out what they don't know, but to find out how they would go about addressing the problem and learning. I think that understanding someone's analytical approach is much more important than what they know at any given moment. And certainly the person that tries to BS their way through the answer is telling you something too.
...they can now fire you at any time for lying on your application.
As a lead developer for my company I always give these tests. The test removes 90% of the people who sent in a resume.
I always wonder why that 90% even applied. They often can not answer even the most simple questions.
The correct answer is "How much does it pay?" because you have to figure in the opportunity cost of getting written out of the will VS the up front of the sale. And I'll just shut up now.
ACs don't waste your time replying, your posts are never seen by me.
...they get you in the door for the interview. You're at the interview in part because you have something to prove to your prospective employer, not because you're entitled to the job. If you were truthful on your resume and are confident in your ability, I would imagine a short quiz would be a great opportunity to wow them with your knowledge, which shouldn't be difficult given how many people in this industry don't know dick.
When I interview, I use those basic-skills tests to weed out the ones who simply don't know what they're claiming on their resumes. I'd love to not have to do this, but 50% of our applicants claiming 5+ years experience in C/C++ programming can't pass even a basic C/C++ programming test. So we use the test to avoid wasting our time and the applicant's time when the applicant isn't even remotely qualified for the position. I don't see changing this until I see a significant reduction in the weed-out rate.
If somebody were to tell me he/she was an ER nurse, or physical therapist, or 747 pilot; I have a good idea of what that person does day-in and day-out. I also have a good idea of that person's training.
But if somebody tells me that he/she has been working as a sysadmin, I really have no idea. Job titles in IT have always been meaningless. Some sysadmins work as helpdesk, some work as developers, some mainly support particular products, some manage an installation, there is really just no telling. Also, there is no standard training credentials for admins. The same is, pretty much, true of developers.
If an admin tells me that he/she supported windows and unix, does that mean 90% windows, and 10% unix, or the other way around?
Because IT workers are judged, almost exclusively, by their experience in an arbitrary list of products and technologies; and everybody has a different mix of products and technologies, the entire career field (for lack of better term) seems to work on system of pure slop. I wonder if it could be changed?
Fact of the matter is that interviewing in IT is a lot different than other industries and a lot more difficult, with less or at the most, same pay as other engineering fields. I myself have endured one or two rounds of 5-6 hour, mostly technical interviews, covering anything they could have thought of. It's too much guys, seriously, it's unfair.
I have always wondered, do other engineering fields get asked under grad/grad textbook questions during interviews?
And it is somehow wrong to refuse to hire someone that has a disability which will directly affect their ability to perform the job at hand? I presume by ageist, you mean revealing a poor memory, or frequent bouts of confusion, things like that. If the job I'm hiring you for requires that you stay mentally organized and don't have to be told everything three times, then I should not have to hire you if it appears you can't do that. I don't care if your disability is a sore hip or something, we can work with that, but if it directly impacts your ability to do the job, you need to be changing fields, sorry. I wouldn't feel obligated to hire you as a bus driver if age gave you cataracts on your eyes, this isn't any different.
A few questions about experience or some revelant technical questions I have no problem with. However at times I've had to deal with:
1. Sitting at a table while a bunch of 2-3 year IT guys ask me questions like what does "cout" in C++ do. ( While I was thinking why are guys even asking me these questions? I just explained to them about my experience writing multi-threaded server processes in C++??? )...
2. Sit at a terminal and "code" a JSP page. ( Again, not a revelant test, because I had much more experience coding pure Java Servlets and I had told them this. And they were even looking for someone to code pure Java Servlets NOT JSP pages. )
3. Sit and listen to a guy ask me Java questions, and then get all arrogent because I didn't know how to use the Java IDE they used at that shop. ( Even though we had both worked for the same company previously, we knew some of the same people, and he KNEW that I knew my stuff ).
Needless to say, I didn't even follow up with getting the job after these 3 interviews. The types of tests told me enough. The first 2 situations, based on the types of tests told me the shops were "coding sweatshops" and they were technically weak in that they didn't understand my experience.
While the 3rd situation showed me that I wouldn't have wanted to work there because there was a bunch of "ego" from the guy that interviewed me and I would have had to work with this guy.
Just realize this when you take these tests. Like a lot of other people have already said, the tests show a lot about the company itself.
So based on the test, you can kind of determine what your in for.
Another thing to watch for. Multiple interviews also show me something. Usually, when there are more than 2 or 3 interviews, it shows that the company is full of red tape - and should be avoided, unless you really want to work there. It also shows a company where there is a "top-heavy" structure and everybody has to agree before anything is done...
So I guess the rule of thumb is if the tests and the interviews are reasonable, the company is probably reasonable. But if the testing or interview process raises some red flags - you are probably in for a bad experience if you take the job...
After getting burned on a few hires in a software consulting services company we started testing applicants.
The test was roughly a dozen questions put together by myself and other developers. Some general knowledge, and a few more specific. The first question was an automatic fail if you missed it:
What is the integer value of 0xff?
A surprising number of people with glowing resumes would miss this, which is totally unbelievable. But without this simple test these people may have snowed us. We also had a question that was almost as simple but was compiler specific, that only a handful of people ever got right, so was almost an automatic pass.
Our hiring process was a brief company introduction, followed by the test which should have only taken about 30 minutes. If the results were positive I would interview them. If the test was aced, I could focus more on personality, otherwise the interview had to be longer to cover technical areas.
We once had a very impressive resume from a person with a complete failure on the test. I conducted the post interview just because of the paradox.
This person was very personable, had very good interviewing skills, and could adequately discuss the project history on the resume. Without the test, I would have been inclined to hire this person, and would have definitely had to later fire them.
Feedback from most people was they liked the fact that we were testing applicants, and not just filling seats. We never had to fire anybody for incompetence when we used the test.
I would never recommend a multiple guess test, and testing esoteric knowledge to see if the person has a photographic memory is pretty pointless. Good general/academic questions will weed out the posers, which is the true reason to test in the first place.
As an applicant, not only would I take the test, I would expect one. The questions and the process would tell me a lot about the company, what knowledge they may see as important, and possibly some insight into the base competency of my co-workers.
As an employer, I would write-off anybody who refused the test as someone who was a) incapable, or b) missing desired personality traits, win-win!
I am a CPA. Two of my most recent jobs required I take an in-house test for the positions, despite the fact that they were both staff-level positions and I had already been a Certified Public Accountant (i.e., passed the test, gotten my state license) for several years prior.
Not all tests are useful... some times they only prove that the employer has set the bar very low, and only wants to eliminate the lowest common denominator. They gave me a hands-on test for my current job. It was extremely basic. It consisted of:
Install and configure FTP
Mount a NFS mount
Install a rpm
Create a LVM
My employers were overjoyed that I completed the test successfully. I was shocked to know that they had interviewed 10+ candidates and they all failed. Now I have an easy job paying 70$ an hour. Which is why I am on Slashdot.
I give a technical interview to every candidate I see. But the point of the technical questions is not to see if they get the answer correct. In fact, the questions are deliberately non-obvious and usually have multiple solutions. The point is to instigate a dialog about interesting aspects of computer science that underlie the problem. I tend to tailor the questions based on the skillset of the person I'm interviewing, so that I can be reasonably confident that the person should have interesting things to say. I've seen way too many incompetent people with years of 'experience' to be willing to hire anyone on the basis of their resume alone.
This post is absolutely redundant - it's been covered in other posts ad naseum, but I'd like to add my voice to those that say a test is required.
I hired someone 3 or 4 years ago to do light Java development, and work as an Oracle DBA. Her resume looked great. She could talk about the parts of an Oracle database, and said she taught a Java course. I called up her references, and they were all enthusiastic about her. Unfortunately, she couldn't do much with Java or Oracle. She put in long hours, to try to get things done, but ultimately she accomplished little, and myself and the dev manager had to let her go.
From that point on, I came up with a simple test - I provided a schema (a few tables) with data, and asked the candidate to select the data from the table using JDBC. I provided a stub with the connection to the database. They had to write the data to a file on the local file system. If they got to there (and very very few did), I'd ask them to do it as XML using the technology of their choice.
The people that failed this simple test had 10 years of experience with Java, and more using Oracle; an alphabet of acronyms accompanied their Java and database experience, and was topped with a Masters in comp sci from some University (often in a foreign country).
There are a couple of things that astound me:
1) You are going to get found out. At some point, you (should) feel profoundly ashamed for lying to a stranger who has the power of employment over you.
2) It is an employees market (at least where I live). There is no need to artificially inflate your skill set.
Fundamentally the reason for me is "because I can" and the reason I can is because for most roles, there are a lot of people capable of being competent who are keen to apply. It is simple supply and demand.
So, when I'm recruiting, I want the best person for the role I can get, since I can dictate the choice due to market forces. That means I need some way to discriminate between a number of very good candidates - on paper.
A formal interview can only go so far in this, and some method of evaluating the applicability of knowledge, skills, experience, aptitude and attitude of the candidates for the role is therefore needed.
That said, the interviews I conduct are also about allowing the candidates to fully understand the role and organisation I work in to be sure that if they accept the post, they will be happy in the role. To some extent, the choice of âtestsâ(TM) and questions reflect that too. For example, I once had someone apply for an entry level IT support post who had approaching 20 years experience running large IT units. From the answers to the questions in the formal interview it was clear that he couldnâ(TM)t separate the interview process from acting as a manager/consultant as he continually mistook being asked a question as implying ignorance of the answer on the part of the chair of the selection panel (me). On paper, he was streets or even whole continents ahead of some of the other candidates in terms of experience and skills, but he was certainly the wrong person for the role â" at that time at least.
I would therefore suggest that this is why tests and questions are a necessary evil for interviews.
I would also suggest that certain subject field rely more on reputation and acting independently within an organisation (artists, lawyer, accountant, sales, HR, etc), and they also often carry with them their own client list from organisation to organisation â" in which case the situation is more akin to a âoecorporate mergerâ where the two âoebusinessesâ agree that it would be to their mutual benefit to work together.
I'm a systems architect with many years experience. No real programming skills which the coding bunch will find odd and look down upon. Simply I hire programmers when I need them and usually have several on staff. I design, they code, I deploy.
Working on a big deployment my company hired a third party contractor for programming. The guy they sent was ok but seemed to be struggling with the project. I stepped in and reviewed the software and requirements and discovered he was doing it all wrong. He was fired and someone else finished the project.
Time passed and I applied for a job at another company. Was given a brief programming test which half of it I couldnt complete. Not a programmer and I explained that to them. They didnt care too much. As for the test I didnt mind and think its a good idea especially if its a programming position.
Now for the punchline... I did not get the job. It went to a guy who completed the test. The "same" guy we fired for incompetence on our project.
Anybody can write code. Its what you do with it thats important :)
people on ludes should not drive
people like you are why many people with a disability don't have a job.
There were 9 questions, asking things such as how would you find a MAC address, how would you map a drive letter that's already in use, remove MS Messenger and so on. Pretty basic stuff, really, but the sort of thing that's used daily in the job. The paper said to read all the questions before you started and the tester (who's now my boss) reiterated that before I started.
Anyway, the last question wasn't a question at all. It simply said "to prove you've read all the questions before starting, start with question 3 and work down from there."
As it happens, a couple of the bits couldn't be done (due to permissions issues with the virtual machine that was used) and I'm damned if I can remember the exect parameters to use with rundll32 to get rid of Messanger. However, I did my chances no harm by explaining what I would have done had I had permissions and saying that by Googling "msmsgs rundll32 remove" you'd find the command to remove Messenger.
It turns out there were over 30 applicants for the job. Apparently I was the only one who got all 9 questions right.
Needless to say I see tests for IT jobs as a good thing, I can only imagine how much chaff you'd get otherwise!
Sidenote: the only concern was that I was "overqualified". I hate that term, having seen it more often than I care to remember. The sad thing is in this part of the world experience counts for far more than academic / professional qualifications and without the former you're very unlikely to get any sort of IT job.
I test everyone during job interviews, but it's not always obvious.
At one point we were looking to hire a new bookkeeper. This person would know every employee's salary, how much stock each person held, etc. So I decided to test candidates by trying to gently the coerce the person into revealing something told to them in confidence. If a candidate told me a secret they were eliminated.
I often test sales people by asking them technology questions. As soon as the candidate starts bs-ing their way through the discussion, they are eliminated. (The correct answer is "I don't know.")
I test candidates for junior positions by requiring them to submit their resume in PDF format. Anyone who sends in a Word files get eliminated because they have not demonstrated an ability to follow instructions.
So, please quit whining about being asked to take a test... at least you know you are being tested.
I don't actually know what they ask of other applicants, because I've only held IT jobs, but I feel compelled to point out that in the USA, lawyers and accountants are licensed by the state, so they've already had to pass a challenging test.
i have applied to at least three jobs that all required me to take tests before i could be interviewed
1. securities sales - multiple page personality test
2. banking management training program - multiple page personality test
3. internal auditor - operations, accounting and technology comprehension test
granted, i was applying for my first job, so i did not have the experience you do. the personality ones really drive me crazy though
I don't mind demonstrating my knowledge to a potential employer. There's nothing degrading or embarrassing about taking a test. Besides, good IT people tend to shine under pressure, a quality shared by good test takers. One more chance for me to separate myself from the pack of applicants.
Game... blouses.
The best job interview I've had so far had standardized oral competency exam. For the many questions that I didn't know the answers to or had forgotten (it has been a long time since I studied FFTs or OpAmp circuitry) I gave as much of an answer as I felt competent to give, then stated how I would go about refreshing my knowledge on that topic. I got possibly 20% of the questions right, but I also got a job offer.
The point of these examinations is not always to get the correct answer. Will you make up answers if you don't know the correct one? What is your precise area and depth of expertise? Do you understand the basics of other related topics? How do you work through problems? How well do you communicate? Are you afraid of being wrong? How do you deal with stressful situations?
To answer the same questions during an interview with a lawyer, I would ask them to describe an instance where they interpreted a law/statute in a new fashion or ask their opinion on a ground-breaking case. Don't think for a second that the same type of testing isn't conducted on other professionals.
The most important factor when evaluating a candidate, is whether they will fit into the corporate culture. There is no better way to do this than through simulating a typical working day. For IT, that means conducting some fairly rigorous testing.
I work for one of the best-known companies in the networking business. We don't test job applicants, at least not in any part of the company that I've worked. Before that, I worked for a very well-known software company. We didn't test there, either. I have directly hired or participated in the interview process for 10 people that we hired. Not only have we not fired any of them, all have excelled.That's because we know how to interview.
Show me people that rely on tests and I'll show you people whose interviewing skills are probably not up to par.
Would I refuse a test? Yes. Have I? Yes. At one prospective employer (the only one where I've ever encountered a test), I arrived at for my interview, was met at the desk by an HR person, and was told we'd start with a test. I politely declined, handed back my visitor badge, and left. That told me at least as much about their competence, and their management style, as any test would have told them about mine. More, in fact.
Bottom line: if an organization does not even have basic skills like interviewing wired, such that they have to rely on a test, I don't want to work there. Test-style questions are fine during an initial phone-screen, but once I have passed the phone screen and arrived in person for an interview, I expect that my time will not be wasted. That is not an unreasonable expectation.
However, I don't think organizations that give tests should stop doing so. As I said, it's a useful tool for /me/ to winnow /them/ from consideration.
As a reporter who has been working for various news papers, magazines and news sites for some time now I can tell you it's pretty common practice for reporters to take writing tests where they demonstrate their ability to both write coherently and piece together information from a limited number of sources on deadline.
And copy editors? I don't think I've ever heard of someone working a copy desk who has not had to take an editing test. They usually are handed a current events quiz to for good measure, just to make sure they can spot obvious news errors.
FAIL.
What happens during a production problem when a script you've written breaks, you have hundreds of irate customers calling you and you're losing ten thousand dollars a minute?
Having to code fizz buzz in ten minutes in front of a couple of people is nothin' compared to a real world situation.
That and an A+ and $2 will get you a cup of coffee!
I applied for a job where I was placed at a Fortune 100 financial company. I had to urinate in a cup so they could see if I smoked weed in the past few months. I had to get fingerprinted, with my fingerprints sent to the FBI. I had to line up references from former managers and friends, which is a favor I would prefer not to ask for from my friends and former co-workers and managers. And I also had to go through a technical interview. Of all those things, the technical interview was the least taxing for me.
That aside, I don't disagree that the hiring process, work environment and so forth could use improvement. The only way to do that is some kind of organization. For low level help desk people maybe a union. For higher end people, maybe a professional association like (as you said) doctors and lawyers have. Or a "guild". Or whatever.
I should also point out that people who were interested in this have pointed out deficiencies and strengths of the old line groups such as IEEE-USA, the ACM and all of those groups. Organization and education (among ourselves - about working conditions, not just technical matters) are what is needed. I have spent time on this in the past, and am still willing to spend time, and even some money, regarding this, even if it looks like a lot of the effort could be wasted or futile. A lot of effort on these things is never completely wasted, a group of people who put a lot of time and energy into this always have some effect, the only question is how much they think it is worth it, and I think it is worth some effort. Also, some things are more of a waste than others - you have to pick the right organizational structure - what will work - a union? A professional association like the ABA or AMA? Groups interested in this learn by doing, odds are the first year or so will have a lot of wasted effort, until somewhere down the road you have a clear idea of what and can not be done.
(and along that meme, whomever made the port flag differing in case between SSH/SCP different deserves a sound thrashing
Don't forget the config file flag being different between SSH and SSHD (one's -f, the other's -F, and I can never remember which)
Fascism starts when the efficiency of the government becomes more important than the rights of the people.
...but my "test" wasn't so bad. I basically was interviewed by my boss on one day, where he checked to see if I brushed my teeth, and knew how do dress professionally. Then I had an interview with the previous IT guy. The previous IT guy (who was on great terms with my boss) just told my boss that I passed. That was it. I can totally understand not wanting to be tested during an interview, because for one of MANY reasons, it is insulting, to be honest. I, personally didn't find MY interview with the prior IT guy insulting, because he was good and could tell I could fill his shoes. I can definitely see the problem with the boss, who has no idea what I'me even supposed to be doing, interviewing me. He wouldn't know if I was BS-ing him or actually telling him answers from my experience. If you are being tested by another IT professional, I find that it reflects the boss's want for quality work. If it is that insulting, then by all means, get a non-insulting boss. You just might be looking for a day or two longer for work.
Aside from the initial passing of my board exam, known as NCLEX, and certification exams in my specialty, known as the CEN exam, each and every hospital I have ever applied to work for has had me sit down and take at the very least an EKG reading quiz, a pharmacology and med-math quiz, and usually a unit based (ER, ICU, etc) test with scenarios. It happens, get over it.
I wish there was a choice that said "Factually Wrong -1" when I mod.
IT may get out of date. It's all about the latest fads and technologies. CS though doesn't get out of date so fast. CS is not just programming in the latest language. It's often about algorithm run times, time space tradeoffs, computability, polymorphism, data abstraction, semaphores and mutexes, deadlocks, numerical analysis, and so on.
Sounds like you're having a terrible time at work, and this guy's incompetence is affecting your performance. Talk about the problems with your manager. He's probably just procrastinating dealing with this guy. But performance management is part of his job. Make him do it. Good managers will even give you performance management deliverables.
And if he doesn't help, find a competent manager in the organization and get him to help you. I got rid of my terrible manager this way at a previous job.
Also, start quietly looking for other jobs. Don't be a drama queen threaten management that you're going to take your ball and go home (some people get irrational when cornered), but it's good insurance in case your management are all dickheads, and if they aren't dickheads but they find out you're thinking of leaving (via some non-confrontational means), it gives them a little extra motivation.
Complaining on slashdot feels good for a little while, but is unlikely to help you in the long run. At the very least, you'll feel better about yourself if you do something.
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
Only if you're a chump.
Any cert is worth exactly the paper it's printed on, but come on...how difficult is it to pass those tests?
I've interviewed for a number of positions that require them just to get your foot in the door. MCSE's, CCNA's, etc.
Usually this is a PHB thing, sure, but some of them were perfectly good spots, and if you find it hard to beat those tests, then you're better at popping off than you are with technology...
Because paper certifications are generally the equivalent of the blue ribbon Participant prize. They don't really mean shit. Instead, being engineers, we can filter out the "Me Too"s with some questions.
I guess for me its a tool to extract out the information I need to make an informed decision when they simply do not interview well, since in our line of work, interviewing well does also not translate into competence.
Papers saying your trained in something does not impress me, showing that you have a decent catalog of problem solving tactics and some aptitude for learning new ones will get you the job every time. The test is supposed to be a way to help ascertain this.
Don't take it personal.
But on the other hand, if the test is not directly applicable to the job, and/or the test results are not evaluated by a fairly competent engineer in the same field, the test is meaningless and worse it will result in incorrect conclusions. Welcome to corporate culture where rules are dictated by the Cover Your Own Ass policy. Being a fairly intelligent person, you probably want to reconsider working for such a company. But you still don't have to take it personal. It not you, its them.
I think you underestimate just how much I just dont care.
Having hired several IT workers, I would not be interested in hiring somebody who is not willing to show their skills. The kind of people that I would prefer to hire are brilliant _and_ enjoy the puzzles presented to them.
Because IT problems are not simple problems I wouldn't view a test as a pass/fail, I would view it as a "This is how the person approaches problems" type thing. Or a "these are the tools that this person is used to using" type thing. When I quiz people and they are way off base, I usually tell them a few of the answers that may have been sufficient, and there is always more than one except in the case of things like CIDR where there is really only one correct answer.
Another thing is that knowing a tool that will give you an answer is usually just as good to me as having the answer. For instance, not being able to do binary math off the top of your head, but knowing that `ipcalc` is just an apt-get away is sufficient and would lead to "ok, what do you do with that network information".
Most employment (at least in the US) is at will. Hiring should be taken seriously because there is a lot of overhead that goes with it. IT people get credentials along with the usual health benefits, 401k account, etc.. Knowing that the person you're hiring is going to be a good fit should involve testing in order to keep you from having to change credentials and go through the added overhead of account creation and deletion if the person is not a good fit. In fact, having just had a 4 month stint with a worthless employee who we didn't quiz enough, I plan on doing more quizzing on specifics.
There is incompetence in every profession. The problem with IT is that it is still so new (relatively) that we don't have all the bricks in our building. University doesn't always teach what is needed in the workplace. Our certs are slowly starting to be recognized, but they are easily scammed. For $2500 you can spend a week at boot camp coming out with a cert in a technology you couldn't spell a week before.
Before a company hires a lawyer a phone call is made to a friend who worked at the former law firm. The networks are so solid that if you graduated the same school, a few years before or after the partner, he will take your call even if he doesn't know you. Not official just two old friends talking. Same with doctors and engineers (old school). We don't have that in our profession.
We don't have a licensing body that will pull your license and not allow you to work if you have too many complaints filed against you. You need a license to practice medicine, architecture, plumbing, etc.
Think about this the next time you get on a plane; the software that controls the plane was written by a guy, just like you, who happened to get the job. He spent less time qualifying for that job than the pilot. I would feel safer if I knew that he passed a qualifying test.
Look, the problem with today's tech interviews is the high level of bullshit and lying. I'm constantly astounded by the stream of supposedly-experienced geeks who come in for an interview, only to prove they're unable to use basic logic, are unfamiliar with common best practices or standards, and completely unable to write or speak coherently. Too many people are lying their way from one high-paid 6-month gig to the next.
Some concrete examples: I had an impressive CISSP/CISA/CISM/QSA resume in front of me, with the corresponding gentleman trying to BS his way out of a simple network architecture review question. (He didn't see anything wrong with multiple unprotected connections in parallel to an external firewall, or a DB system-of-record sitting in a high-exposure dmz.) Another person came in for an interview and made it through the technical questions handily. However, when we asked her to sit down and write up a sample report given some examples and data, we got back a garbled word salad that contained innumerable spelling and grammatical errors.
Both of these would have been serious hiring mistakes, yet the resumes and initial interviews went swimmingly. Interestingly enough, I hear some similar noises out of my friends in the legal profession. I.e there are innumerable lawyers who have somehow managed to pass the bar, yet are completely incompetent when it comes to real world situations. They simply don't have the mental flexibility to handle interesting work.
I think the idea here is that we're talking about tests of *applied* knowledge. I'm happy to accept a tech certification (or a bar exam for that matter) for the purpose of asserting what amount of discrete knowledge a person has, but as to the question of what they can do with those building blocks...
I can't think of any other way to sort through the noise of BS candidates than some form of situational testing, writing exercises, and impromptu presentations. If a candidate can *show* me how they can do the job, then I'll give 'em a hard job. But assertions of competency and experience are sadly inadequate.
-J
I think not...(*poof*)
Go fix your management so that your employees do not have to work under pressure, instead of missing some really talented people than can't work in a frenzy environment.
If you've never had anything unexpectedly go wrong at a critical moment, then you've either not being doing this very long, or you don't work with computers.
Money I owe, money-iy-ay
Anyone that's taken an introductory Red Hat (or Microsoft) course could do that. Why on earth would you pay them $100K?
I wish I had mod points.
Ever since that XKCD strip so many people feel justified about misspelling affect as effect it makes me angry to read it.
And I'm not even a native speaker.
I must not object to tests because I've taken them and forgotten I've taken them!
One place needing Unix experienced people started off by asking me how to list files. I said "What, besides ls?". They said, "No, no, that's fine" and went on with questions until they got to one I couldn't answer, but had told them at the beginning I didn't know that area and told them how I'd find out.
They were smiling because...they were happy! Happy that the recruiter had sent someone along who knew what they were supposed to know. Instead of someone in the hope that they'd stick for the 6 months it took for the agency to get their fee.
Don't look at the test as a way to insult you, look on it as due diligence on their part.
But if you have a disability, you need to accept that you cannot do just any given job in the world, you have to go for what is not prevented by your disability. Why is that so difficult to understand? If the job you're applying for involves mostly brain power, and your disability only involves your body, then no problem. But if you can't think straight on a good day, you need to be doing something more within your abilities. Plenty of able-bodied people in the world are NOT qualified for the jobs they do, and you don't feel sorry for them when they get fired once somebody realizes they should never have been hired in the first place. The "sympathy card" gets played way too often.
I've done programming assignments as part of the interview. They're annoying, and I don't like doing them... but the ones I've had to do have also been reasonable. They really just wanted to get a feel for how I worked, how I solved problems, what my code style was. Typically, they weren't so much about the actual software I wrote for them, but rather, the discussion about it that we had afterwards. I don't mind this so much... though warning me that I'll have to do something along these lines so I'm not blindsided with it when I get there is always appreciated.
I've had a couple of companies have me take written tests. Those are a bit more irksome, because there's no back and forth on them. I get no real benefit from it at all, because I don't get to discuss with them. I don't consider them entirely unreasonable, so long as the material is relevant to the job... but I also don't consider them a very good technique for gauging talent (especially since it eliminates discussion), so it does tend to lower my interest a bit.
Almost every interview I've ever had has had a verbal test portion, where they question me (or sometimes grill me). I love these. A lot of people simply can't write a good question (one of my problems with the written test), so you get an opportunity to clarify what they're really after. The back and forth discussion tells both sides of the table a lot about the other, so everyone gets a better idea of what they're looking at. The discussion aspect gives them a much better idea of how you think and arrive at an answer, which are far more useful things to know in my opinion.
Not to mention the fact that this discussion gives you a good idea of what it's going to be like working with a person on a technical problem. And that strikes me as good stuff to know no matter which side of the table you're on.
The ones I HATE are the technical screens that are farmed out to third parties. I've had to do a few of those, and they've universally been administered by nontechnical college kids who have no knowledge whatsoever on the subject they're quizzing you about. Give a right answer but not use the right keywords? Wrong answer.
I've had enough bad experiences with those that I won't do them any more.
Also, please, for the love of God, don't make me do the same technical test over and over again. I interviewed with one company that did that to me. First round, we did a technical test. Second round, some new people... same technical test (okay, different test, but all the same conceptual points) so they could watch me go through it all again. After the third iteration, I politely declined to go on to a fourth.
I don't mind them grilling me. Frankly, I love it... it's not fun to go through, but I'm looking for a new place I'm going to enjoy working, and that means people who are good at what they do. I figure most of my potential coworkers had to go through the same process, so if it's one that makes me feel confident in their abilities, I'm good with going through it.
Just, you know, do it right.
I have to say, you'd really hate trying to get a job if I were the hiring manager; I always give two rounds of technical questions.
The first is a take-home test, where you can use whatever resources the world and its internet provide to you. I email it to you, I expect you to email it back in an hour. It's a wide range of questions from simple coding exercises to complex problems that can't be solved in an hour. Getting some measurement of technical skill (and your ability to research) is only one part of what I'm trying to do here. More critically, I want to see if you can triage work, and identify what you can and can't accomplish in an hour; that skill is as valuable as knowing any language.
I'm also looking to see if the harder problems interest you. I think they're mildly cool, I'd like to hire someone who does too.
At this point, about 2/3 of the interviewees disappear from the process. They reply saying that they decided they were unqualified, they reply saying they didn't have time. Once, they replied that they were insulted that I would question their resume. In any case, without even spent 60 seconds of my time on a phone screen, I've narrowed the field to people who at least have basic coding skills and aren't offended that we might feel they should prove themselves.
Then, when the person comes in for an interview, I like to have them write some code on a whiteboard. I start with a simple problem, and start adding requirements as they go along. I want to understand what they're like to work with, how they handle changes in requirements, how they write code to be change-tolerant. I also want to see what they're like under stress; do they seem like a culture fit? Are they enjoying the challenge?
At the end, I will know a lot more about a person than if they have basic skills or not. I will have seen them in action, gotten a sense for how they solve problems, and understand a bit how they might work with me and other people on their potential new team.
You may not like the fact that I want to know these things, but they're important to me.
As someone who currently works in first and second line tech support (and is looking to get out but constantly gets rejected because I lack sysadmin experience):
- register and renew domain names
A trained monkey could probably do this.
- setup a pair of properly configured DNS servers for multiple domain names.
Did this as an experiment with FreeBSD+BIND and Debian+BIND at home but now I'm back to using only one server since it's only for my LAN (and my ISP won't give me more than one IP address so I can't use it for my "real" domain names).
- setup a properly configured mail server for multiple domain names
I have a working solution with Sendmail at home with an IMAP server, admittedly it's not tied into an SQL server or anything (uses system users) but for my purposes it's good enough, I've investigated more advanced solutions but I currently see no need to mess it up since it's working fine.
- setup and maintain a mailing list manager
Never done this, never had any reason to but from what I've read it shouldn't extraordinarily hard.
- configure a packet filtering firewall
I've done this with various combinations of operating systems and firewall software. This includes a NAT router for IPv4 that also acts as an IPv6 gateway.
- configure a router and get ISP connectivity
This would depend on what you mean by "a router". Cisco router running IOS? No, never had access to one and I see no point in eBaying some POS one just to toy around when I have a working solution. *nix box with two or more NICs? Yup, done that dozens of times with and without NAT and packet filtering. Consumer-grade NAT router? See the "trained monkey" answer.
- subnet an office network
Doesn't sound too hard, never done anything bigger than two 192.168.x.x/24 setups though. Basically I haven't had any reason to do so but I doubt it would be very hard unless we're dealing with thousands of hosts and other similar difficulties.
- configure a DHCP server
Did this a couple of years ago, realized I had no use for it and turned it off again. I am running rtadvd for my IPv6 subnet though.
- configure a switch
Never done this, never had a switch capable of being configured though I've considered getting one just to be able to learn how to.
- setup a tftp server to install images of OS of choice to workstations, over the network
Did a temp setup for network install of some Linux distro a few years ago, never did any remote install setups though.
- setup an LDAP server with a properly designed DIT - configure all network services to use the LDAP server for authentication
Never did either of these but I've been reading up on it since I'm considering setting up something similar at home.
- setup a database server, file server, web server, remote access server, etc...
Done it too many times to count.
- setup a network monitoring solution to make sure you or your team get alerted if any of these services goes down.
Only partially, I don't have real-time tracking of every process running on my home server but I do monitor a bunch of stuff using mrtg, rrdtool, snmpd and shell/python scripts.
- make sure that all of this runs at an acceptable level of performance.
Define "acceptable", I've done tech support for companies who think a customer lookup based on customer number taking three minutes is perfectly acceptable (while I consider it horrible, when the max average call time is 6 minutes and just finding the customer takes 3 minutes something is seriously wrong).
- be able to auto
Greylisting is to SMTP as NAT is to IPv4
Geeks don't deal well with other geeks that can't produce!!!
I would never hire someone without a logic test and a "coding" test. When hiring C developers I used to ask them to write strcpy() the answers I got to that simple question would give you nightmares. Out of 10 applicants with 6 years of experience 3 could do it. 2 of those would use array notation and I would ask them to re-write it in pointer notation. In the end 1-2 out of ten could do it in pointer notation. The rest just gave me frightening insight into just how poorly someone can perceive a problem.
The real problem is that in our world someone can be completely successful and still produce crap. The business measures of success are, is it on-time, on-budget, and does it do what it should. It can still be unmaintainable garbage. So without seeing what type of code a person writes you are setting yourself up to deal with a mess.
So what would you take as a right answer?
A) "I don't understand? 0xff is an integer already".
B) -1
C) TRUE
D) 255
E) 0377
(four of those answers are arguably correct, one of those being definitely smartass and one being possibly smartass)
I use spaces instead of tabs so the code always looks correct no matter who is looking at it.
I hate people that use tabs because their code always contains a mix of tabs and spaces which I then have to figure out what indention they were using just to view it.
3 space tabs is perfect for still being able to see the indent clearly yet keep the code from running off to the right. Many people are using 3 space indents these days. It is the perfect spacing for the general case.
Move to Silicon Valley and experience the mass of pretenders in the industry.
IMO, some small testing is appropriate in some areas of IT. I don't think you need a big long qualifying exam, just a couple qualifying questions to weed out the Bullshi**ers. If done properly, no problem. You can't judge one's job fit terribly well in a technical exam in most areas of IT, but you can judge whether or not you should even be interviewing them.
For example, if I'm looking to hire an intermediate Network Administrator / Technician who's supposed to have 5-8 years experience and decent working knowledge of SANs, VMWare ESX, and general Microsoft networking technologies, I would think it's perfectly reasonable to ask a few, very basic questions, such as:
1. What is a LUN? What is its purpose?
2. What is VMotion?
3. Describe RAID 0, 1, 5, and describe 1 example of a nested RAID level.
4. Suppose the network 172.17.0.1/16 -- What class of network is this? What would its subnet mask be?
5. What is DNS, and what does it do?
6. Describe 1:1 NAT.
7. What is an FSMO Role, and how many are there?
Quite Frankly, if someone doesn't doesn't get at least 6/7 correct answers for these qualilfying questions, they either didn't read the job description, or they just don't have the level of experience they purport - bottom line, something doesn't add up. I've been through staffing agencies for positions very similar to this and the agency doesn't even consider them for the position if they don't get a certain score (at the request of the company hiring), and I think this is reasonable. Obviously it doesn't fit in a lot of scenarios, but a few fairly basic questions are good to weed out the crap. If someone scored 3 or 4 out of 7 on that exam, like it or not, they're probably not going to be a fit in my network. IF someone's supposed to have basic, rudamentary knowledge of a SAN environment and they don't know what a LUN is, we have a problem.
My answer to the question would be yes, tests are reasonable. But, I also think there's limits. At some point, doesn't a person have enough on their resume to warrant skipping the test?
I mean, take me as an example... I have four books published, a couple of articles out on the web, contributions to a good number of open-source projects... at some point, shouldn't I have special dispensation from having to take a test? And that doesn't even mention the numerous certifications I have and nearly 15 years of experience in the industry.
I understand that many people lie, and you can't trust a resume as far as you can shove it up your nose... but if you come across someone like me, who you can go out on the web and very quickly validate my credentials, isn't there a point where a test is... err... pointless?!?
If a pion (n-) collides with a proton in the woods & noone is there to hear it, does lamdba decay into the source pa
Accountants, doctors, Lawyers are member of a professional order that test it's member. however, in IT most "certified" professionals just managed to memorize a ABC questions from xyz certification houses.
Tests designed to measure general proficiency in your field are quite permissible. General "intelligence tests" are not, and in fact are generally considered illegal in the United States.
Three examples from my own past:
I'm told the project crashed and burned. Frankly, I was skeptical of their plans to let a bunch of VB programmers do the front-end and integrate with the back end using a Java-DCOM bridge, and I told them so. (I think the idea was to pay less for the UI people and pay more for the Java talent to write the critical business logic in the middle tier.) So much for their vaunted technical standards.
From what I understand, they are a terrible company to work for, so this was an early indication. As if the black-uniformed thugs in BDUs and dungeon-like atmosphere weren't enough of an indicator.
I just passed the 3 year mark recently, and I'm still pretty happy.
Lawyers, accountants, etc ARE professionals, they are regulated by professional organizations and have to prove their qualifications in order to be licensed to practice. IT workers have no such regulation. In effect the State tests your lawyer for you.
Regulation does not create professionalism. All those professions predate regulation of them by a State. If you were an embezzling accountant 600 years ago and got caught, having your license revoked would probably be a welcome alternative to the likely consequence.
There are professionals in IT and there are rubes. Having the State regulate that wouldn't get rid of the rubes. Just that fact that States revoke licenses proves there are licensed rubes in each occupation that is licensed. I'm going to favor a trusted LinkedIn recommendation over a State license anyway, so the concept is becoming obsolete already.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
We're not asking for 10/10 on every test. Just a general proving that you can actually do the job. The test is also not definitive - we've hired people with low scores and not hired someone who got 29 out of 30.
Google's questions are more like:
Tm
Support TBI Research: http://www.raisinhope.org
They probably do this because they have been burned too many times by hiring people who looked good on paper who turned out not to know what an IP address is once they started working.
"If it's real, then it gets more interesting the closer you examine it. If it's not real, just the opposite is true." -
That's true other professions are tested before the job interview as are most IT unless you're applying at the computer McJob at the local repair shop. Our certs and pieces of paper should be worth just as much as the bar exam, etc. Certs ain't exactly cheap when you're starting out and neither are huge student loans to get a CS degree. We in IT also tend to be easily able to study and pick up something new, ie, a new programming language, application, or method because we constantly have to do that in many of our jobs already. So, if I don't happen to know their little piece of propietary software that they test me on at the interview, too bad. Give me a week or 2 and I will. I don't need to be asked obscure questions about my profession on some job interview test. Same with filling out those ridiculous McDonald's-style job applications when I've busted my butt to polish up a good resume. Once you're offering me a job, then you can ask me to fill out who my 'emergency contact' is and the employer address and my 'reason for leaving' a job 5 or 10 years ago. Part of the reason for this nonsense is because the IT field has been flooded.
Most IT certs are pretty worthless but that's due to the nature of the cert not the nature of IT. For example, I have met many MCSEs that didn't know a damn thing about how to configure a system in the real world and would hunt for years for menu options and not know anything about the command-line or any troubleshooting tools.
/rant off
Most RHCEs that I know are much better. Well that's because the RHCE is a 100% practical test. They break a system and you have to fix it. They test your ability to install the OS, configure services, security, etc. All real-world stuff. I haven't met an RHCE that didn't have some actual skill. Or a CCIE. Same thing and the connection is practical exam vs multi-choice book exam or some "simulation" exam that tries to mimic a real-world situation.
Teach and test in the real world and certs are worth something.
Amen. It is soooo hard to find a good PC tech. We just did interviews which included a test and I ended up settling for someone who was trainable. And before my boss hired me, he had been through 3 other techs in a year. A test is mandatory. I can't stand working with stupid people or worse, people who think they know what they are talking about. I have always done tests for jobs and been happy to do it. It lets me know what I am getting into and it lets the employer know what they are getting from me. Besides, tests work to my advantage because I can still get calls despite having my BA in French.
Thou shalt not use tools thou does not understand, lest they rise up and smite thee
My first IT job as an SQL developer was actually acquired via a practice test (no silly questionnaire, i hate those.) To this day I still prefer true test than an actual interview. Let me show them that I know what I preach. If I ever find myself in a position to hire some one I'll sit them in front of a computer with a database and tell them to do some small queries and data entry application. I have seen plenty of people being hired because of their pretty, mostly fake or over-glorified resumes. If I was able to test a lawyer's sill in any meaningful way before hiring him, i would do the same with them too.
Anonymous Coward says (hehe)
The area where I live and work is crawling with basement-trained computer techs. When I worked in an IT helpdesk, I didn't see any problem with being tested in an interview. When I was promoted and I was the one doing the hiring, I was grateful that we could test applicants. It's hard telling a person who just got their Computer Science degree that they don't have the skills you're looking for, but it keeps us from having incompetent employees later on.
That's helpdesk positions. If you have 2 or 3 degrees and 10 years of experience and are applying for an entry level position, it's reasonable to expect a test is coming your way. If, however, you have 2-3 degrees, 10 years of experience and references behind you and you are applying for management than a condicending test is just plain rude.
A broad area of knowledge can be tested, and tested quite well. It is called "specialization"... go look at the Medical profession for pointers on how they handle it.
The best job I ever had was the one that had the hardest test. The test proved that the people at the job wanted only the best talent. It meant that when I got there I wouldn't be bothered by nincompoops who couldn't pass the test. I am pleased to prove my skills to other competent professionals.
I'd been doing IT for a while but always grunt work. Went to do a big deployment, everything got done but it would have been faster if I had detected some port blocking.
I was too scared to ask because of the interview however.
Just silly, if they'd asked better questions I wouldn't have been hired. But If they hadn't tested me I would have asked and figured it out.
Technically, IT positions are not "Professional". Also, there are not generally accepted certification boards and such. Lawyers must pass bar, Doctor's have their thing. Electricians, Plumbers, and others all have stuff they take to prove they have what it takes. Any old schlump off the street can work in IT. IT really is not a "Profession" in the same regard as the others mentioned, even though it may be technical.
Speaking as an IT manager who has done his share of hiring, testing is absolutely necessary.
That said, I've been on the other side of the fence and have been really irritated at tests I needed to take. I only subject candidates to testing (although one could argue that a technical interview *is* testing) when they have gotten pretty far into the interview process and are seriously being considered for the position.
I also believe that the tests should be strongly connected to the job description (i.e. not some generic HR crud).
The poster complains that other industries don't test their employees. That may be true, but they probably should as well. My wife is an Architect (bricks and mortar) and was amazed at the number of people who were hired to her firm that did not have the CAD skills that they claimed. I believe that their company should have had applicants *demonstrate* CAD skills during the hiring process. The poster believes that just because they have worked for "X" years in the industry that this proves your competency. This is a false assumption.
To the poster I am responding to: Knock yourself out. Enjoy working for a company where you coworkers are not properly screened. I'll be enjoying working with a team of people that I can trust.
Evolution: love it or leave it
"I remember reading that the "difference" was a half a dozen registry settings."
I remember *doing* it (and it involved some light hex editing too).
"Of course - it still might not have the NT Server splash screen..."
It even showed the NT server splash screen.
To be true, that was with NT 3.51, not 4.
But that's a bit of lucky trivia and not a proper way for a test, even an informal one. That's a tester trying to "cheat" for some (prethought) unregular answer and it's one of the best ways to be deaf to whatever the candidate is saying unless he luckily happens "to ring the bell".
The standard example of a "cheating question" is the classical "how many options do you remember from top of your head for ls?" The "proper" answer is another question: "BSD or SysV?" Giving the "proper" answer probably gives you the "greyback" status but not knowing it says... absolutly nothing.
IT investment is very risky and high cost and when something goes wrong it costs even more than the initial investment and this includes the investment in labor which is quite substantial. I think every company has a right to evaluate their employment candidates so that they know that the person is a good fit for the job and so that they know that the person knows what the hell they are doing. If you want the job your going to have to work for it. I am a senior at App state and a CIS major myself so I face this myself and I am all for it. Companies spend lots of money on IT and they deserve to know that they are getting ROI on their investment whether it is capital expenditures or labor expenditures.
I went for a job with Google and got an interview!! At this point I was not sure what to expect. In the phone interview I was asked a couple of questions. One being, 'how many bit or bytes are in a MAC address?'. Now of course everyone here could either say the answer of the top of their head or, more exactly, say hang on a sec while I google it...
It just so happened that I was not in front of my computer, and nervousness kicked in...
Anyhow, I don't have a job with google now, as I was not able to keep a fact in my head.
The funny thing is I had cut and pasted about 20 MAC addresses only that morning. (playing wifi games...)
I would not dare compare my self with Einstien, but he was unable to answer a simple question, "What is the speed of sound?" in a public forum in 1921. Later on he excused himself by saying, "Why would I fill my head with such things that I can easily look up in a book"
Employers should really be looking at real world problems and methods for solving them when they are looking for employees.
I thought a company such as google would use a better method.
(I'm probably biased as I am pi55ed I didn't get the job)
I've worked in IT for 14 years, and I can tell you that the more an organization is willing to invest in their recruiting or hiring process, the better the company is likely to be. Considering you work in a market that is constantly shifting and changing with technology, it's not unreasonable to be expected to prove your skills. If you were a marketing expert, and were interviewing for jobs, don't you think you'd be expected to show a portfolio, or other examples of your previous work and skills?
As a scientist, I can tell you that it is standard practice for anyone who wants a science job to have to give a technical presentation on their previous work for an audience of 5-10+ other scientists. It is typical for technical questions to be asked during and after the presentation, and if the candidate can't put up a good argument or explanation there is virtually zero chance of getting the job.
Compared to an industry-standard, mandatory 1-2 hour grilling, I am laughing my ass off reading about IT people complaining about an occasional 30 minute written test.
Instead of whining about why IT people have to take tests, the real question is why lawyers and HR professionals do NOT have to take a test. I'm going to go with the explanation that they don't have anything meaningful to contribute anyways, so a test measuring various grades of incompetence is basically a . ;)
People like him are why we dont have quadriplegic firemen with no hands.
Handicapped people need to realize that guess what they need to be just as qualified as an able-bodied candidate to get the job after all Steven Hawking still has a job. You wont see Air Traffic Control people hiring dyslexics, you wont see them hiring blind drivers or retarded people (IQ 60) for coding jobs although that hasnt stopped a certain person from being President.
Thing is companies DEMAND that you be 'cost effective'. Meaning if you cant do the same amount of work in the same amount of time as a non-disabled person then they're going to find any excuse to legally not hire you. After all why would it make sense to hire someone who does work at half the speed or worse? You're just effectively spending twice the money on them. Believe me there are some non-disabled people who take twice as long to do the work too, they usually get fired.
09F911029D74E35BD84156C5635688C0
+2 Troll is Slashdot's way of saying groupthink is confused
> Why are IT professionals treated differently and in such a paternalistic way?
Easy. Because most have a university degree, 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 and they still suck.
If I were applying for a programming position, and the interviewers did not try to verify that I knew how to program, I would be very concerned about the group I was interviewing for. I prefer to work with competent people. I would like to believe that my prospective employers used due diligence in hiring.
As a programmer myself, I can get a much more credible idea of someone's skills by watching them for ten minutes while they try to write fizzbuzz or linked list reversal, than I can get by reading any number of letters of reference, or looking at their college GPAs.
Not every college and university emphasizes practical knowledge. It is entirely possible, at some colleges and universities, to get high marks in theory without acquiring much in the way of practical skills. It is equally possible to get good references from employers who would be glad to see someone gone.
I'm the director of a small CS/IT Master's program which does emphasize practical skills. As such, I'm delighted when prospective employers test my students; it gives them a nice advantage in the marketplace. We have an enviable placement record.
Bottom line: Why take someone else's word on an applicant's capability, when it's easy enough to observe it directly?
If a major bug pops up in production I would not release the fix to production until the appropriate QA had been completed. You are obviously someone I would choose not to work for at any time.
Lawyers, accountants and physicians are generally required to take a two-day or longer test before being licensed....If IT professionals had passed state and/or national tests this rigorous, their credentials would probably be accepted also.
Not by me. The human body, mathematical systems, and the body of law change at a glacial pace compared to I.T. Someone who passed a four-year program of study and then a rigorous exam on those studies is already out of date by the time they enter my interview room. I'll ask them questions about technology that reference advances less than a year old and expect them to know it or they'll take a back seat to their competitors who do. So, to be blunt, your rigorous testing concept is archaic and really doesn't fit the situations at hand.
"We can categorically state we have not released man-eating badgers into the area." - UK military spokesman, July 2007
Or maybe people don't feel like joining real life out of High School. Maybe they just want to drink lots of beer, smoke pot from a bong made out of a toilet paper roll, root for the school sports team, and have bitchin' spring break parties while going into debt for the extended vacation.
Then again, maybe it is about all of that altruistic shit.
Anything's possible.
When the head of accounting left, we gave a test to the accounting clerks. None of them knew the answer to "What is 75% of 4?". We wanted to hire a programmer and I created a simple test. Many interviewees talked great B.S. but couldn't do diddly-squat when faced with real tasks such as explain what a five line C function did. One of the worst performer was a man who taught programming! The test isn't to decide if you're great or very great - it's to tell if you're a programmer or a con artist.
I personally wouldn't agree to work for anybody stupid enough to judge me by a pre-made test.
More importantly than just showing whether or not somebody can code, it shows whether or not they can handle simple tasks under pressure. I'm sure most of those applicants could have completed it at home when they're not being watched, but if they can't do it in an interview, then how are they going to perform on-site at a client, when a major bug just popped during a production push?
That's a very different sort of pressure. The pressure in a job interview comes from the people around you questioning your abilities. In most production environments you're there because your skills as an expert are required and usually in all but the most hostile and unhealthy places of employment people are there to help each other in a crisis. You'll find that people who are socially confident might do brilliantly at your simple coding excercise, while the best of geeks who would do brilliantly with a production problem may fall flat on his ass (ie. get nervous and stuff up the excercise) at your interview.
I'm usually socially confident but awkward. I tend to do very well at most tests (I have 2 degrees including a Masters and I haven't cheated at uni exam or assignment), but I've still borked a few interviews in my time due to nerves. The handful of times I've been on my own in a production crisis I've been commended on my work.
These posts express my own personal views, not those of my employer
Show me a company that's free of pressure, I'll show you a company that's not trying hard enough.
NASA
In my company, when we would put out an ad for a Perl programmer, we would be completely inundated with terrific-looking resumes.
Unfortunately, very few of them even came close to showing how poor of a programmer they were. I can sum most of them up with one story: The applicant had a resume showing significant time creating impressive-sounding applications in Perl. I asked him to write a VERY simple program. He sat down, typed a couple of lines, got nervous, started reading perldoc, gave up, and said "Uh... I usually just cut and paste this."
We spent so many hours weeding out applicants with exagerated resumes that we came up with a simple test to take BEFORE you got an interview. Nothing hard, just some stuff that you really should know.
Here's where it gets interesting: Each applicant is given an ID to log in to the test. We log when they start the test (EACH time they start it), and when the finish. We see a good number who log in one day, don't finish, then log in three days later and finish it in three minutes. We know that they printed it and took three days researching. They don't get a call back, if it takes three days to look up these answers, something is WRONG.
On the other hand, we see people who log in, take three hours, and then finish. They obviously used the resources available... like looking things up in books or the Internet. If they came up with good stuff, we give them a call. We like someone who can be resourceful on the spot.
It's always a relief for them when people walk into the interview and say "Listen, I'm really sorry, I kind of cheated on my test... I looked up some answers online" and we tell them "Good. We like that."
Oh, you're not stuck, you're just unable to let go of the onion rings.
Amen. Give me someone who understands algorithms and datatypes and I can train him in language Foo and API Bar. A week and he'll be minimally up, a month and he'll be fine. If you take someone with no understanding but experience with Visual J++.Net v3.2 StrutBeansEE, you'll end up with someone who can't change to any other APIs needed and who'll likely need their hand held in the one they do know whenever there isn't a function that does exactly what they want.
I still have more fans than freaks. WTF is wrong with you people?
Anyone that's taken an introductory Red Hat (or Microsoft) course could do that. Why on earth would you pay them $100K?
If you truly believe that, then you also have no clue.
If you think that a person who has taken an introductory course can subnet a large office network, segregate and switch it with vlans, route it all together, and get dhcp and tftp working reliably over all that, then you are sadly mistaken. In fact, you are probably an IT manager.
it reminded me that after 15 years, it pays to brush up on the basics. It was also sort of perversely fun to come down off the design and architecture mountain and back into the weeds of basic troubleshooting for an hour or so. I proved not only that I knew what I knew and that I could do the job I was being interviewed for (Level III engineer) but for the next level higher and I was provided an offer with higher salary and responsibility as a Level IV engineer. Testing is a way to weed out the BS. Frankly I hate filling out a job app WAY more than taking a test.
IT is not a profession in the way that law and accounting are professions. I wish it were. I consider it to be one of the primary problems with working in this field. We have no governing bodies, no barriers to entry. For example, anyone can call himself a software architect. The same is not true for a lawyer, a doctor, or an architect (a "regular" architect).
Hah! Shows what you know. Sales jobs do not ask that question of an experienced salesman, as Grandma was sold years ago.
So, I was living in northern Colorado, a stone's throw away from the Wyoming border. My dad had a heart attack, right when i was looking at moving on from my position. (The bankruptcy filing and 2 year ongoing pay freeze left me with a bad feeling...)
I decided to consider work near Dad in Oklahoma. I applied to a position in Tulsa, via Robert Half technologies, a recruiting/headhunter firm.
I get a call "hey, you look like a great match, and the client wishes to interview you." I set a date and drive the 500+ miles to the interview.
They sit me down at a computer, have me log in to their web site, and fill out a form and take a test. they do not observe or proxy it.
When I finish, they tell me they will have the results in a day or two, and to have a nice afternoon.
Yes. They had me drive 500 miles, knowing full well my address was Colorado and phone number was a different area code entirely. (all of Oklahoma has 1 area code.) All to fill out an application and take a test on their website.
I have never spoken to Robert Half again, and tell anyone I meet to avoid them at all costs.
I laughed in the face of our HR rep when she showed it to me. "requires 4 years experience with java". that was early 1996.
There are many of us from back when there were no degrees in the field. The rare individual who had a degree at all had one in mathematics, or electronic engineering. Steve jobs- No degree Steve Wozniak - BS- E.E. Bill Gates - No Degree (harvard drop out) Steve Ballmer - BS mathematics and economics
There are a number of people with degrees in the computer field who think because some course taught them how to do "Hello World" in 7 different languages that they now know all the languages. So it's understandable, but I would think a few additional questions could suffice for instances like this.
Based on the comments from those in other industries it seems that testing for competency is not unreasonable. However its been my experience, especially in smaller companies, that the best "coders" end up getting fired a lot. They may be highly productive in writing perfect code but often get too caught up in the details to solve the business problem that is at the root of justifying their salary. With no added value it does not take long for someone in control of the budget to take out the axe.
While the IT industry has issues with those posing to be more skilled than they actually are there seems to be a much bigger problem with leadership ability. When I was working with offshore developers I was often frustrated by how inefficient they were in dealing with problems. Even in the states there are many developers who want the project manager to do everything for them. Then its convienient to blame management when things dont go as expected. Its the same mentality that can be found in most blue collar manufacturing jobs. Testing of blue collar workers familiarity with safety and company procedures is not uncommon in non-IT industries.
There are definately better coders out there than me. But what I learned from an oldschool developer was to always get the job done no matter what. Ultimately its up to me if the project fails to create value. That should not be left to some clueless manager. So working with management to participate in making decisions is job security. That attitude has brought me lots of opportunites. It also forces me to keep my knowledge up to date. In my perspective it seems that leadership and being a fast learner is much more important to companies than being a walking replacement for the latest C# or Java reference. So I avoid companies that require testing just to get an interview. I just dont feel good about working for a place that wants to tell me what to do without giving away some control over the decisions that could affect my salary.
You are all wrong. Not only is it reasonable to TEST people on a job interview to make sure they have the competency that you require, it is imperative, especially in the case of homeland security and other life and death situations (like commercial banking) so that you don't end up with the kind of situations that are common under the current president. Imagine if we gave our elected officials a test to see if they understand the US Constitution. If you hire a lawyer, a doctor, a IT Pro, then test him. Otherwise you are the fool.
As others have noted, when you are doing an interview, you should also be evaluating the company and trying to decide if you want to work there. If you are lucky, you will receive multiple offers when interviewing or be in a position where you don't need to take a job that you think will be bad.
I ended up taking a few jobs with government contracting companies. Their interviews were jokes. They raised red flags, but I chose to ignore them. During one interview, the hardest question I received was, "if we gave you business requirements, could you write code?" I answered "yes," expecting more questions, but that was pretty much it. I was offered the position, accepted, and then had a very interesting experience working for the federal government.
In another interview, my only contact with the company was via phone interviews and an off-site meeting with the project manager (at a Starbucks just a few blocks from their office). I kept telling them I could come on-site, but it never happened. This should have raised more red flags, but I was desperate to leave the previous place. When I started, they told me that I wouldn't be given a network account for 30 days, so I had nothing to do. The tech lead didn't ask anything particularly difficult during the interview, just some very lightweight things like, "where would you code business logic? in the presentation layer?" It was a step up from the previous place, and the technologies they were using were appealing, so I took the offer. After a few months, it became obvious that the reason the interview was so easy was because the tech lead didn't really have much technical knowledge. In fact, there were huge portions of the code base he didn't understand. Other developers who were on the project before him wrote their code, isolated from the other developers, padded their resumes, and then left once the initial version of the project completed. And all of those interesting technologies? They were either incorrectly implemented/designed, or they were just not used. But, again, the tech lead wouldn't know, because he was totally unqualified.
So, keep in mind that most smart, hard-working people want to work with other, smart, hard-working people. They will do their best to make sure you are qualified before saying, "yes, I want to work with this person." Yes, there are lots of organizations that put needless obstacles, usually from HR. But if the interviewers are easily impressed with just a few buzzwords on a resume, that's a good sign that you should look elsewhere.
If all you have are silver bullets, everything looks like a werewolf.
I'm a software developer who has been involved in interviewing other prospective software developers for our company for a while now.
I've been highly surprised by the high proportion of applicants we get with excellent resumes claiming years of good development experience, yet even gentle questioning soon uncovers their general technical knowledge and actual ability is massively below what their resumes would have you believe.
Clearly there are a large proportion of people out there who are just blatantly lying on their resumes and hoping their bluff won't get found out until they get a job offer.
One guy who claimed on his resume that he had decades of working as a software developer in C and C++ didn't even realise that the source code needs to be compiled before it can be executed. No joke.
If someone chooses to writes on their resume that C++ programming is their primary skill set then a few simple questions about classes, exception handling etc, is fair game in my opinion. You'd be surprised how many interviewees resent being asked technical questions though. Its no coincidence that the most resentful ones are nearly always the most clueless.
In the UK employers have to keep documentation that demonstrates that the job interviews were fair and objective.
This very often means a test is necessary in order to objectively separate the different candidates.
Any serious company should do tests that are basic in scope to ensure only the chancers are skimmed out of the selection process.
But I would agree that any company doing the equivalent of a certification examination should not be taken seriously.
IANAL but write like a drunk one.
Honestly this naive on extreme to say.
More often than not those tests are put in place not by the boss but by a helping subordinate or even HR. SInce you donñt know you have got no insight about the situation whatsoever.
A punishing test is that, punishment.
You can filter the bullshiter in 3 minutes if you yourself know your field of expertise. If you need more than that then you are the person found wanting.
IANAL but write like a drunk one.
So you designed example.com?
WHo was your manager? A couple of people that worked with you on it?
We will give you a call tomorrow once we have checked out those references, thanks for coming....
How frigging difficult ....
IANAL but write like a drunk one.
To me that would mean that such a person is a fast learner and that you can throw whatever you need at him....
IANAL but write like a drunk one.
Pressure is a consequence of bad planning, as simple as that.
People have limited amounts of time and resources, if they are under pressure is because somebody is not making the maths properly and hooping for miracles against common sense and the bleeding obvious.
The idiotic macho culture of not trying hard enough has a lot to answer when economic crisis like the one we are experience come along.
Mistakes and mismanagement are the natural environment of people trying too hard.
IANAL but write like a drunk one.
I isolate the person responsible for the fixes from the irate customers, there is no reason why they should talk to the fire-fighter.
If the fix is not possible immediately there should be alternatives that allow business to continue, and you should be able to tell business when one problem can't be solved promptly so they can take appropriate action.
A place where angry users are interrupting the person fixing a problem is a place with erroneous management and procedures.
IANAL but write like a drunk one.
I am a professional, not a showman.
I expect another professional to interview me, not a circus ringmaster to see how many balls I can keep on the air at the same time.
Another professional in my field will come up with a few questions that will show I am not a poser. A written test asking me fundamentals about my field of expertise is insulting, disrespectful and unnecessary.
IANAL but write like a drunk one.
Write on them with big letters "This test has no basis in verifiable science" and hand it back.
Enjoy the ensuing chaos.
Honestly folks, would you accept astrology, feng-shui or other mumbo jumbo nonsense as a basis of job interview?
Have some self respect !!!
IANAL but write like a drunk one.
... are not given a test by a receptionist.
That is just gross bad manners.
IANAL but write like a drunk one.
... then it is an employer which is not worth working with.
Interviewing is a two way avenue, a company with such horrendous corporate bad manners is not worth considering by any self respecting professional.
IANAL but write like a drunk one.