Click here to monitor SSC

Phil Factor's Phrenetic Phoughts

Simple-Talk columnist
The wilder shores of Transact SQL    Phil on Twitter   Phil on SQL Server Central  Phil on BOS

The Terror of Technical Tests

Published Friday, November 03, 2006 9:53 AM

After all the years I’ve spent working with databases, I am continually shocked by how little I know. The power and facilities of relational databases have increased enormously, and we struggle to keep up. One has, of necessity, to spend an increasing portion of the working day in retraining. To a hard-pressed project manager, time spent on familiarising oneself with current ideas and practices looks like wasted time because it can’t be fitted logically into the chart. He therefore discourages it. In consequence, one can waste time creating a procedure that can be done much simpler with a new feature or third-party product, simply because one hasn’t had the time to check it out.

It is the knowledge about my lack of knowledge that gives me a terror of Technical Tests.

I was recently persuaded, against my better judgement, to apply for a well-paid job as a DBA/Developer. (They pronounce it as deebeeaye stroke developer, which sounds like a closet office liaison). I was sat down in a room, given a brief synopsis of the company, and then given a technical test.

My initial horror, which stems from the fact that the more one knows about SQL Server and relational Databases, the more aware you are of your ignorance, turned to delight. I was back in primary school. What is Normalisation. What is the use of an index? How would you pass output variables via ODBC? What is a transaction? Eh?

It was like waking up after a knock on the head, and the doctor asking you the name of the president of the United States to check that you are Compos Mentis. After rattling through the answers, I asked the interviewer what sort of creature wouldn’t know the answers to this sort of question. Bleakly, he replied that they’d already interviewed five candidates for this specialist role and two of them hadn’t even known what the normalisation process was. I was the only candidate so far who had even understood all the questions, let alone answered them all correctly (which I had, I hasten to add).

So, it seems that agencies are putting forward candidates for important roles who profess to having database skills yet are entirely ignorant of the basics.

I then sat a second, practical, test, using a sample database, that involved writing a stored procedure or two and a few SQL expressions. This was harder, but only because there was a fundamental mistake with the design of the database that confused the quantity of items purchased with the amount of money charged. After I completed the tasks I’d been given, I pointed it out to the interviewer. He was amazed. It turned out that none of the other candidates had got far enough with the task to trip over the error.

After the tests, the interviewer filled me in on the nature of the role. He was a chap of extraordinary charm and tact, who put a fine spin on the problems they had, but it was immediately obvious that the company was in considerable peril from a database that was being operated recklessly and in breach of all financial and procedural guidelines. Could nothing be done? Sorry, our hands are tied. All we can do is to support and maintain what exists. Like the legendary reporter, I made my excuses and left. I’d rather be poor, but sleep at night.

As I stumbled back out into the light of the car-park, I wondered, for the life of me, how the IT industry had got in such a mess that unqualified and untrained people were in responsible positions within organisations all over the country, managing the databases that are the lifeblood of the enterprise. What would happen if the same state of affairs infected Surgery, so that there was a chance of being operated on by someone whose only qualification was that he’d cut open his teddy bear as a child, using his ‘My little Doctor’ kit, but managed to bullshit his way into a job armed with a bogus CV and a string of false references.

Comments

 

WebMister said:

Very strange. I had a very similar experience except that the interviewer insisted that my answers were wrong. I'm still not sure if it was an elaborate hoax, but, by way of example,  he confused  normalisation and de-normalisation, and insisted that clustered indexes were what we would call a compound or covering index. He insisted with the story that the other candidates had got it right.
November 3, 2006 4:43 AM
 

MetalSQL said:

Being one of the less experienced DBA's you refer to here, one of the difficult problems less experienced people face is this: There isn't many jobs for brand new SQL developers or admins.

I hear this sort of comment from DBA's with 10 or more years of experience all the time. "These kids nowadays don't seem to know anything!" But how does one get that FIRST year of experience, when nobody wants to trust their company's lifeblood of data to someone who may or may not know what they're doing? Somehow, you have to get your foot in the door. Being in companies that use the product is the best way for a new person to learn it. Especially if they can share the company with 10+ year DBA's as co-workers.

But, many times, companies want experienced people ONLY. You know the ones, who know (according to the dice.com job requirements) SQL Server 7.0, 2000, & 2005, Oracle PL/SQL 10g & 11i, DB2, MySQL, VB.NET, VB6, C#, C++, C, HTML, XML, ASP.NET, Java, JavaScript, Windows NT 4.0, 2000, and 2003 Server, Linux, UNIX, SAP, PeopleSoft, JD Edwards, ERWin, Embarcadero, etc., etc., etc. Like any one person would have the time to learn all of that. Yeah, right.

Even just in SQL Server, you have to know normalization; DDL object design (tables, views, constraints, defaults, indexing, etc.); The entire T-SQL programming language; performance tuning;  stored procedures, triggers, UDF's, cursors; replication; clustering; XML interaction; SDLC; VSS source code control; data modeling, including logical & physical design; transactions; SQL & Windows intergrated security; Data Warehousing and Analysis Services; Reporting Services; Profiler trace monitoring; BCP, DTS, and now SSIS; SQL-DMO and WMI scripting; Full Text Search; English Query; backup and recovery; alerts, jobs and operators; Installation, upgrading and patching;Server hardware requirements (OS, RAID levels, etc.); etc. etc. etc.   And, in a job interview, you never know in advance which direction the attack is going to come from. My point here, as you already know, is that there is a LOT to learn. And, it's always changing, always growing. It can take a LONG TIME to learn all of this.

Until then, a guy's gotta eat. And has bills to pay. Even the surgeons you refer to, at one point in time, had their first patient. It has to start somewhere.

Many new people need to get their foot in the door, roll up their sleeves and get their hands dirty under the SQL Server hood. Most companies won't give them a chance. So sometimes, just to get that first opportunity, they have to bend the truth to make it look like they know more than you do, by throwing the buzzwords in front of underqualified hiring managers, and spend the next several years in "firefighting mode," scrambling to learn what is needed on the job as the needs arise, and praying that they know enough to thwart potential catastrophies.

And then one day, 10 years from now, they can wake up, look around, and wonder why the DBA's nowadays don't seem to know anything. Easy to forget that they were once a newbie too.   ; )
November 3, 2006 10:34 AM
 

Phil Factor said:

Bless you, MetalSQL. You make the interesting point that the job requirements that come to the agencies are entirely impossible to achieve by mortals. I think we are both arguing for a system where nobody is pressured into lying about their experiences and qualifications.

With the current state of the industry, even if you did manage to bullshit your way into a job, you'd find that your mentors and supervisors knew as little as you. The quickest way of learning is to have knowlegeable mentors and sure as hell, you're not going to get them. I find that very sad.
November 3, 2006 1:14 PM
 

links for 2006-11-04 -- Chip’s Quips said:

PingBack from http://www.chipsquips.com/?p=621

I’ve often wondered the same thing, Phil. I’ve come to realize that what makes the world go ’round is largely incompetence.
November 3, 2006 8:18 PM
 

Peter Day said:

There seem to be two major problems with MetalSQL's approach.

1/ it is a criminal offense to lie about ones qualifications and experience.
2/ It is unfair, because the people who lie have an advantage over those of us who, because of ethical restraints, or because we're so bad at it, cannot lie. The mendacious get the jobs.

As Phil suggests, the problem is of such long standing that whole tiers of management have insinuated themselves into the profession by sheer mendacity and fraud, and the problem would take a long time to disentangle, even if the will was there to do so. In the meantime, companies that ensure that they are staffed by honest and competent IT people will have a clear competitive edge.
November 4, 2006 11:10 AM
 

Steve Hirsch said:

I'm going through this nonsense now. I've been successfully developing PL/SQL for 10+ years. I know it cold, I've done great things with it. I take a 15 minute phone test with someone asking questions like a voicemail machine, and it comes back that I don't know PL/SQL very well. What kind of crap is that?

When I get to ask the questions, I give the candidate a PC, an internet connection, a phone, reference materials. I don't care how they get the answer, it's not school.

Then, I listen to the explanation of their answer: how they got it, why they chose that, etc. etc. _That_ is the technical test!
November 6, 2006 8:16 AM
 

Andrew Clarke said:

Poor Steve, I know the feeling all too well. I once sat a Computer-based test on Visual Basic after I'd been programming in it solidly for five years. I did hopelessly in it, as it was about the sort of facts that, when we're programming commercially,  we don't store in our brains but get from book-on-line etc.

For real work, the Human BOLs (Books on Legs) who do so well in this sort of test are useless. It is not particularly just learning the bare facts, or having experience in a technology that makes a productive programmer, but an understanding of the technology, and an ability to learn fast under pressure, an ability to solve problems analytically, and to know where to look for information.



November 6, 2006 9:31 AM
 

PBeale said:

I feel rather sorry for MetalSQL. When you are young, they say you haven't enough experience. Then when you're a bit older, they say you are over-qualified. Then, given time, they then say you are too old for the job!
November 8, 2006 8:41 AM
You need to sign in to comment on this blog
<November 2006>
SuMoTuWeThFrSa
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
How to Kill a Company in One Step or Save it in Three
 The majority of companies that suffer a major data loss subsequently go out of business. Wesley David... Read more...

Migrating from OCS 2007 R2 to Lync: Part 4
 Having migrated the rest of our users and legacy resources across and started getting ready to... Read more...

Automated Script-generation with Powershell and SMO
 In the first of a series of articles on automating the process of building, modifying and copying SQL... Read more...

Seth Godin: Big in the IT Business
 Seth Godin has transformed our understanding of marketing in IT. He invented the concept of 'permission... Read more...

Using SQL Test Database Unit Testing with TeamCity Continuous Integration
 With database applications, the process of test and integration can be frustratingly slow because so... Read more...