THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

Adam Machanic

Adam Machanic, Boston-based SQL Server developer, shares his experiences with programming, monitoring, and performance tuning SQL Server. And the occasional battle with the query optimizer.

[Editorial] Get rid of the bad apples in IT?

How many really shoddy developers have you worked with in the last five years?  People you wouldn't trust to touch a single line of code, let alone develop some core piece of software upon which the enterprise depends?

And how difficult is it to hire a qualified IT pro these days?  Anyone who has done some interviewing recently knows that there are huge masses of unqualified people out there who fake their way into the interview process.  How many resumes did you throw out before arriving at those few people that you actually wanted to talk to?  And how many of them lived up to their self-proclaimed hype?

And so I applaud Jerry Fishenden of Microsoft UK, who has suggested that a real professional body be created for the IT industry. An organization with the authority to ban people from practicing IT if they're not up to snuff. This would bring our industry in line with other important professions including medical, legal, and other forms of engineering.  Yes, the unfortunate truth is that we've all encountered less-than-capable members of these professions as well, but at least there is some semblance of a guarantee there, unlike in IT where you can buy a "certification" for a few hundred dollars to tack onto your resume and there is no clear way of authenticating it.

Such an organization would not solve all of the problems, and probably wouldn't even solve most of them, but I think it would be a big step in the right direction. IT is a professional trade, and it's time to treat it as such.

Published Thursday, May 24, 2007 8:19 PM by Adam Machanic

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



Gil said:

This is an absolutely horrible idea.

I'm glad your SQL skills are much better than your political sense.

May 25, 2007 1:58 AM

Adam Machanic said:

Why is it such a horrible idea?

May 25, 2007 6:22 AM

Mike Walsh said:

Not such a horrible idea, Gil.

In my professional life I am a SQL Server [DBA|Developer|Etc]. In my volunteer life, I am an EMT-I and Firefighter. The pass rates on the certifications for the certification/licensure is not really all that precluding. There are different levels, in fact. So someone starting out in IT could be at an apprentice level and prepare for and develop towards the next step when they feel ready.

I think this (while impractical and probably can be relegated to pipe dream mode for now due to the sheer number of skillsets, costs, adoption rate, etc.) could actually help separate the wheat from the chaff. It could also help to give credit towards those who are legitimate and are well backed by a licensing board.

I mean the new Microsoft certifications are almost a step in that sort of direction and they do give a method by which licensing could happen. Now what about management? Would they have to be licensed? We have all worked with management staff/executive or line that are more dangerous than the loose cannon developer who knows nothing.

May 25, 2007 6:55 AM

Shri said:

I think it's good idea, but very difficult to implement. Certifications were created for this very same reason. IMO, degree requirement + certification + solid interview process can easily block the fakers. It takes about 5 minutes of phone interview to weed out the chaffe ...

May 25, 2007 7:02 AM

Jamie Thomson said:

Great idea. I agree with Shri that its easy to weed out the rubbish but clearly its not that easy for other people judging by some people I have come across in my career.

Bring it on. The British Computer Society is an establishment that should look to brig this in. Is there a similar organisation in other countries?


May 25, 2007 7:28 AM

Mike Walsh said:

Good point Shri regarding the phone screen when given by someone who is not chaffe themselves (thanks for my spelling fix :) ). I have had to give interviews many times to unqualified candidates who made it through a phone screen because the manager may not have fully understood a role. I also have worked with plenty of folks who made it through both a phone screen and an in-person interview and were totally useless to a project both in ability and attitude. In fact one of those people had a higher degree than me and relatively similar certification levels.

May 25, 2007 7:31 AM

Shri said:

Let me put this little bit differently: if wrong person makes it thru the process and he/she is hired,  than clearly something is wrong with the hiring process. For example, in my current job we have a set of written test and hands-on test (at least for SQL Server related jobs) . If they get more than 80/100, we can be pretty much sure they are good.

Mike, my spellings and grammer are horrible ... please don't thank me for spelling fix, it feels strange. :-)

May 25, 2007 7:49 AM

Adam Machanic said:

Yes, it's easy to weed people out, but how about all of the time wasted doing so?  One of my clients had me help with some interviews earlier this year, and I must have spent 6+ hours on the phone talking to various people, only to narrow the pool down to the two that were actually invited into the office... My hope, however unrealistic it may be, is that a proper certification system would eliminate the need to do this much pre-screening.  Or at least cut the pool significantly so that there aren't as many people that need to be pre-screened, if that makes any sense...

May 25, 2007 7:53 AM

Uri Dimant said:

I have done  lots of interviewing  last two months to seek a qualified SQL Server developer. I have seen people with MCDBA logon on their resumes and solid years of experience as well as programmers who wanted to upgrade to database world.

After some conversation I offer to the candidat to get to computer to solve a problem by using T-SQL or doing simple database design . Anf then you will see who is who....

May 25, 2007 7:58 AM

Alex said:

I think its a fabulous idea, but difficult to put into practice.  Plus, aren't the good guys overworked enough as it is ;-)

May 25, 2007 8:18 AM

Lil Dice said:

Those professions have certification boards because people's lives are on the line. If you get a fake doctor or a fake lawyer. Your whole life can be ruined. Now in the IT field you don't have that problem.

Let's look at the certification bodies we have now. I don't know about you but I know a DBA with a wall full of Oracle Certifications that is as dumb as a box of rocks.

I've been bit in the past with programmers who faked their way through the interview process, I blame the person who hired the fraud as much as the fraud. The interviewer needs to take responsibility, creating some certification board will solve no problems. It's been hard to find good help for a long time and it will continue to be, end of story.

May 25, 2007 8:59 AM

Adam Machanic said:

"Your whole life can be ruined. Now in the IT field you don't have that problem."

I beg to differ.  Software controls EVERYTHING these days.  Who do you think writes the software that runs traffic lights, or the software that your bank uses to figure out what your account balance is, or to help them decide whether you should get that loan?

If that traffic light fails at the wrong time, or the bank loses your balance, or you can't get that all-important mortgage when you need it, can't your life be ruined?  What if these issues were caused because someone unqualified did the work, introducing bugs that a qualified professional would have known how to properly handle?

May 25, 2007 9:12 AM

Denis the SQL Menace said:

Here is my observation

A certificate that you get from attending training should not be listed on your resume since it doesn’t prove anything, maybe you were sleeping during class

Sometimes I think people get certified to compensate for their lack of experience, they buy a braindump-testking test,study a weekend and pass the exam. I had people come in who claimed that they were architects in web development and used web services for 5 years but did not know what a WSDL was. I had a person with 7 certifications who did not know how to create a primary key without using a wizard (her specific answer was I click on the yellow key). Too many programmers these days are Wizard Driven Programmers™. They click and they click and never look at the code.  We were searching for people in November and still didn’t fill the architect position. I have written something about that experience here:

And don’t get me started about phone interviews, person asks to repeat the question (which they heard very well) and while you are asking the question again you hear them flipping pages. However when you do invite them in and ask the same exact question they look perplexed

Now can the real professional body be created? I doubt it because the IT profession is so broad. What might mean developer in one place could mean code monkey in another. How do you test such a person, how do you keep certified with all the new technologies coming out?

May 25, 2007 10:26 AM

Phill Midwinter said:

I'm all for this, with one important idea though:

The certificate should be based on the reputation and standing of your work, the experience you have, rather than any exam in a particular language or system.

So if you produce bad results, you can be reported and reprimanded initially, and with enough complaints disbarred.

May 25, 2007 10:39 AM

Andy Wells said:

I strongly disagree with your view. I am convinced that you will find a standard distribution of skills in every profession. And I don't think this is the main issue. My experience as a software developer often shows me a different scenario. I find quite capable colleges doing a less than mediocre job because of various constraints superimposed by forces outside their influence, like company policy or schedules set up by non-developers. So, i would be careful to jump the gun. I think you won't solve anything by creating a gerneral certification authority for all i people out there. The organisations should be changed in a way so that every developer can find his/her spot according to his/her skills. Then they will generally do much better.

And of course there is on other thing: The hiring people. Who asks for their skills to choose appropriate candidates ?

May 25, 2007 11:35 AM

Adam Machanic said:

Some very good points, Andy.  Regarding your comment that, "the organisations should be changed in a way so that every developer can find his/her spot according to his/her skills": Do you think that a central body might be useful in that regard, by helping to create official job levels and designations?  Otherwise, how will each individual organization be able to change?

May 25, 2007 11:54 AM

Shri said:

One more point: you are all SQL gurus, right? What makes it possible for bad data to get into your production tables? May be weak validations or bad procedures? You know what should be in the table and what should not be in the table, because you know, you can put proper checks in place, apply the same to the issue at hand. I am saying this because, it's been long time since we hired a "wrong" person or allowed "bad data" to get into our system. I love my team and cannot think of a single one of them as a "wrong" person.

Another thing: How many "bad apples" are there in Google? What's your guess?

May 25, 2007 12:27 PM

Bob said:

Survey says: 99,99% of your readers consider themselves real professionals, not bad apples.

May 25, 2007 1:06 PM

Adam Machanic said:

Do incompetent people know they're incompetent?

... On second thought, maybe I shouldn't ask that question <g>

May 25, 2007 1:23 PM

Denis the SQL Menace said:

LOL that reminds me of this

You are unconscious about your own unconsciousness!

May 25, 2007 1:26 PM

Peter W. DeBetta said:

You are such a troublemaker! :-)

May 25, 2007 4:09 PM

Kevin L said:

I think this is a very bad idea for a few reasons:

1.  Software development is such a new field (still!) that a lot of "common sense" skills from other fields have not yet become de facto required, in particular people skills.  Of the roughly 80-100 full-time professional developers I have worked with, only about 10% had interpersonal skills at least as good as a typical bank teller, and only about half of those had the technical proficiency to write production-quality code singlehanded.

2.  Lack of real industry standards.  Which SQL language variant would need to be fully understood in order to be licensed?  Which programming languages?  If the licensing requirements manage to avoid specific platforms, how would that be any different from today's regular computer science degree?

3.  Corollary to #2:  required lack of standards.  If the licensing body standardized on what is commonly used any given day, then we would all still be required to know COBOL inside out.  Truth is that no snapshot of particular standards will be good five years down the road (except perhaps the POSIX C library).  Given the fact that software moves so much faster than hardware is what makes it so darn useful, making a list of standardized skills would be pointless -- the professionals would just brush up for the exam and then return to doing what they are doing now anyway.

4.  Lack of credible professional representative bodies.  Sorry, ACM and IEEE do not represent the kind of work I do nor the kind of people who do it.  We are to be blunt a herd of cats with wildly different personal and professional interests.

5.  Serious lack of professionalism within IT.  Somehow the most popular web hangouts such as Slashdot and Digg still reflect a predominantly white male middle-class adolescent mindset.  (Example: a recent thread on Slashdot regarding women in IT devolved into explicit sex jokes within minutes.)  How in the world can a standards body evolve from such a dysfunctional "community" of so-called professionals?

6.  Lack of a true engineering mindset.  I have encountered only a handful of developers who design their code around the idea that it will fail in the field and as such it must be both debuggable (for the failure) and recoverable (for the rest of it).  "It works for me" is not enough.

In short, there simply are not enough actual professionals in IT to support a professional standards body.

(It is also telling that in order to post this response I had to switch to a more popular browser.)

May 25, 2007 4:45 PM

Gil said:

It's a horrible idea because there is no way that a bureaucracy will do a better job than the people closest to the situation to make the best decisions.

What you'll have is a combination of stupid, rigid, standards that will be irrelevant long before they are changed, and/or people who are accredited or discredited for all the wrong reasons.

If person A wants to hire person B, then there's no way that persons C through Z should forcibly interfere with that.  A has more of an incentive to get it right than C through Z do, and knows more about the specific situation than they do as well.

Mandatory certification is really an excuse for people within an industry to artificially limit their competition and inflate their salaries.  

If you feel you need this, then maybe you are in the wrong industry.

May 26, 2007 1:31 AM

Adam Machanic said:

Kevin L:

Some interesting points, but I'm not sure how all of them apply.

1) Do interpersonal skills somehow relate to certification in other fields?  How many doctors are said to have poor bedside manner?  And how many lawyers have you met who had any interpersonal skills <g>

2)/3) are excellent points.  But might it be possible to test people on general traits?  For instance, no matter what DBMS you work with, the same basic data requirements apply.  You always need to define constraints, set up keys, etc...

5) I think this relates back to 1) -- unfortunately, interpersonal skills probably wouldn't matter or be able to play into it.  FWIW, I assume most of those people you see on Slashdot would lose their licenses quickly were such a scheme put into place!

6) Isn't lack of proper mindset and practices exactly what such an organization would be put into place to fix?  I feel that with this one you're effectively saying, we can't fix the problem because we have the problem.  That's not a very optimistic outlook on the future of our profession!

What browser were you unable to post with?  I'd like to look into fixing that.


What it would provide is a barrier to entry.  Individual companies would still have the right to hire, or not to hire, and I don't see how this would do anything to inflate salaries.  As a matter of fact, I think it would probably stabilize them somewhat, by creating standards into which various people would fall.

May 26, 2007 10:03 AM

James Luetkehoelter said:

I love the article Adam - just the kinda thing I'd be inclined to write about.  Throw a controversial idea out there :)

I agree with the idea whole-heartedly, but the problem is in implementation.  Who creates the board certifications (oh, and I agree with you that IT, if it isn't already, is approaching the accountability level of a lawyer or a doctor)? Is IT really at the point where we can create standardized board certification level exams? Personally, I don't think so. I think we're maybe 10-20 years out.

One other point about board certification for lawyers and doctors - there are bad apples in those professions as well. Certified bad apples. There is no turnkey solution to the bad apple problem.

I do think there are far too many marginally skillful people in the industry, individuals that were swept in during the dot-com boom. I remember doing an interview over the phone and was offered a job within 10 minutes. I didn't take it of course (leaving me to annoy others), but that's the way things happened in the late 90s.

I hope you do more of this sort of thing - we need more people in the industry talking about controversial ideas to spur discussion (this makes 26 on this blog I believe - 'nuff said).


May 26, 2007 11:09 AM

Stephen Moore said:

Good people are really hard to find, and there are way too many faking it out there.  Maybe if Microsoft, Cisco, Oracle, etc. just provided a way for people to leave feedback on certified professionals?  It would be a lot cheaper to implement.

May 26, 2007 10:46 PM

Allen White said:

Back in 1979-80 I studied for a generic IT-type certification called the CDP - Certified Data Processor.  I had to know operating systems (mainframe), programming languages (COBOL), etc.  The variety of technology available at that time was significantly less diverse than it is today, and yet it was still overwhelming.  The goal of the CDP was much along the lines of what you're proposing, but it proved to be impractical, and there was no real incentive for companies to buy into it.

There will always be IT managers who are more interested in getting code written fast than written well.  As long as that's the case, quality will take a back seat, unfortunately.

May 28, 2007 7:19 AM

Jeff Moden said:

That's what Degrees in Computer Science and MS Certifications are supposed to prevent... obviously, they don't and neither would such an organization as you suggest, Adam.  Even the AMS doesn't prevent shoddy doctors... just high profile shoddy doctors.

But, that's just my 2 cents... ;-)

May 28, 2007 8:30 PM

David Markle said:

What a great thread!

I think what Adam is getting at is a bit more like the P.E. (Professional Engineer) certification, which is *wildly* different than something like an MCSE/D/etc...  I believe  (someone correct me if I'm wrong here) that the PE requires that you work (after college graduation) under a certified Professional Engineer for four years while gaining experience.  It's not enough to just be working out in the industry alone, and just taking a test is not enough either.

The big problem with this idea -- and I'm not saying it's a bad one, just that this is a hurdle -- is to steer clear of conflict of interest.  For example, MS offers all of these certifications, but IMO they don't really exist for the benefit of employers, they exist for the purpose of making MS money, either through pushing their platform technology or through the training and certification programs themselves.  This is even more true of other organizations (the PMP exam, anyone?  LOL)

For me, in order to get an accreditation somewhat similar to a PE, you are going to have to do the following (and note that these requirements are quite similar to the PE cert):

1) You MUST have a four year degree in an accredited program of Computer Engineering, Computer Science or a very similar program.  There's no place in this hypothetical program for students who don't know big-Oh notation or what a logarithm is, because you don't know the fundamentals.

2) You must take a test after graduation.  This is analogous to the PE's Fundamentals of Engineering program.

3) You must have a certain amount of experience.  I have no idea how to gauge whether this experience is good or bad.  Perhaps someone has some suggestions.

4) You then take a final test, perhaps in a more narrow field.  You then get your license/trophy/whatever.

These are truly large hurdles to overcome.  But that's a Good Thing.  In my mind, getting a cert such as this should be tough -- we want a certification that tells us that you're really good, not a cert that tells us merely that you aren't too bad.

One last point.  If you're writing critical and/or life saving/ending software (rocket telemetry/guidance/medical devices/key financial calculation software), whole industries must require this certification.  There are many engineers that make it whole careers without PE's, but you don't get far as a bridge or building designer without one.

May 29, 2007 7:16 AM

SSQA said:

Great to see valuable insight to tackle the issue, but on the real sense is it really possible to clear the 'weed' as there are major political favours are involved.

May 30, 2007 5:30 AM

Simon Philp said:

I like the idea of MCP feedback.  This would really only benefit contracters initially as you wouldn't turn to your boss and say, "excuse me but could you rate me as i am looking for a new job"?

May 30, 2007 7:24 AM

Darrell Austin said:

"This would bring our industry in line with other important professions including medical, legal, and other forms of engineering."

So under some of the proposed solutions would I not be able to practice in IT unless I obtained some form of the certifications proposed in these discussions? That seems a little ridiculous to me.  

"I beg to differ.  Software controls EVERYTHING these days.  Who do you think writes the software that runs traffic lights, or the software that your bank uses to figure out what your account balance is, or to help them decide whether you should get that loan?"

An incorrect account balance is not the same as an incompetent surgeon leaving a surgical tool inside of you.  There is a reason for QA, code reviews, etc.  I doubt the process for code for traffic lights is write some code->deploy to street lights.  

May 30, 2007 8:46 AM

Adam Machanic said:

OK, catching up a bit as I've been way too busy the last couple of days:

Stephen and Simon: Feedback is great, but Simon, you hit the nail on the head, "can [you] rate me?"  Replace [you] with [person who I trust will give me a really high score].  I use a web site called LinkedIn fairly extensively, and it's all about networking and reviewed people you've worked with.  I've gone ahead and reviewed some of the better people I've worked with when they've asked me to, and I've asked some people I trusted to write them for me.  I've never, ever seen a negative review on there.  I'm not even sure the system is set up to accept them!  For a system to actually work, people need to be able to air their grievances, and I wonder if people wouldn't be a bit worried about being that honest?

Jeff: I don't agree that either certifications (as they are currently set up in IT) or CS degrees are designed to solve this problem.  Certs are designed, as far as I can tell, to line the certification companys' pockets with money.  Undergraduate CS degrees were initially designed to help people who wanted to get graduate CS degrees -- at least in the program I was in, I learned lots of great math and foundations, but no clue about how to ACTUALLY run a software project.  That's changing over time, but it's going to be a while before we see people graduate who are actually "software engineers" rather than "computer scientists".

David: Yes, that's exactly what I had in mind :)

... but the real question is, what did Jerry Fishenden have in mind?  Can anyone get him to come on this thread and comment?

May 30, 2007 9:20 AM

Adam Machanic said:


"I doubt the process for code for traffic lights is write some code->deploy to street lights."

... that only means that you haven't driven around here :)

May 30, 2007 9:23 AM

Darrell Austin said:


"... that only means that you haven't driven around here :)"  My wife lived in Boston for 10 years and I hate her driving.  We live in Tampa so I have to tried to convince her that her aggressive driving techniques are not needed here.  It has not worked one bit.

Why don't more companies hire employees on temp to hire basis?  You can usually get a good feel for someone's skills in the first 3 months.  If they don't work out you just let them go.  It's not an ideal solution and I know companies are looking to find the correct fit the first time but that is really hard to do.  I've worked with smart programmers who were let go because they could not adjust to the standards used by the company and/or they just did not work well with others in the company.

May 30, 2007 10:23 AM

Adam Machanic said:


Drivers around here are horrible, but so are the traffic signals.  Seriously, I really don't think they do ANY testing.  One near my house intersects a very busy street with an almost empty street, and is backed up 99% of the time because it will go green for the empty street for 2-3 minutes, then green for the busy street for 30 seconds, then back to the empty street... How I'd love to put them in front of the review board ;-)

Agreed on temp to hire!  I think that companies don't want to waste their money bringing people up to speed only to lose them, but in the vast majority of cases if your interview process is sound you won't lose too many of the people you actually bring on.  I used to work for a company that wrote a first 90 day review cycle into every contract -- you were a full employee, with insurance, etc, but the company could legally ditch you without cause (or severance) within that first 90 days.  It worked well.  We only had to use it once to get rid of someone, and even better everyone new got a status check meeting with their manager on that 90th day, which was great for communicating and resolving the little problems that always seem to come up when someone is new...

May 30, 2007 10:56 AM

Denis Gobo said:

>>We only had to use it once to get rid of someone,

You wouldn't want to have to work at my job. We are unionized, It takes up to a year to fire someone. If the person is not good enought then you have to provide training first,if that doesn't help then you have to build a case (which takes a long time) You have to produce a bunch of documents, then the person gets a nice severance package

We do however have the first 90 day review cycle

May 30, 2007 11:07 AM

Adam Machanic said:


What you describe about building a case, etc, is typical of most organizations I've worked for.  I think it's a legal issue more than a union issue; companies spend a bit more money to avoid getting sued!

May 30, 2007 11:26 AM

foobar said:

Most people won't tell you the reason why they disagree with your proposal.

It's fear.  They're afraid that whatever so-called gravy train they're on now will disappear.  I guess they feel that their skills won't be up to snuff for whatever qualifications they need to achieve.

I'm totally for this.  I can find a really good accountant pretty easily.  I can find a really good doctor pretty easily.  I can find a really good lawyer pretty easily.  I can't find a good IT person without going through a dozen idiots.

What many people also seem to miss is that a true professional designation often results in higher pay.  Seeing as how accountants, doctors, lawyers and engineers all make more on average than the average IT salary, I'll be one of the first to get a real designation if it means more money for me.

May 30, 2007 12:08 PM

Darrell Austin said:


"We only had to use it once to get rid of someone, and even better everyone new got a status check meeting with their manager on that 90th day, which was great for communicating and resolving the little problems that always seem to come up when someone is new..."

Communication is a huge key to helping employees and management be more  productive.  Personally, I want constructive criticism and want to be told if I'm doing something wrong or if I need to improve on something.  I have found too many managers who have terrible communication skills.

May 30, 2007 1:06 PM

Jesse said:

what you are talking about is creating a guild for IT professionals.  a guild is nothing but a club that throttles membership to keep the salaries of the members high.  

In the case of the law, there's no reason you shouldn't be able to study law books on your own, take the BAR exam and pass it, and become a lawyer.  but you can't do this, because one of the requirements for taking the BAR is that you have a degree from an "accredited" law school.  This is the barrier to entry, and it keeps legal fees high.  This is bad for everyone but the lawyers themselves.

while creating a guild for IT pros might be good for those that became members (since it would make IT pros more scarce, thus pushing their salaries up), it would push costs up for companies, so they would naturally look elsewhere to get their IT work done: India, China, Russia, etc.

If you want to hire only good people, you have to pay the price and spend the effort to filter out the bad.  It's a pain, but that's reality.

June 1, 2007 11:36 AM

Eric said:

I think that a general industry certification program with advancement levels does not make sense for this industry.  Things change far too often, and so much of people's knowledge and skills are tied to specific products.

There are general aptitudes that people could be certified on "Reporting", "IP Technologies", "HTTP Protocol", these actually don't change too often, however, these certifications are a bit generic.  While knowing the HTTP standard is a useful thing to know, if you don't know how to use the products and development environments that use that protocol, what use is this knowledge to you?

General IT skills, such as Relational Database, Network Engineer, Programming, are hugely product/language/technology specific.  Vendors do a decent job of training and certifying people on their products and technologies.  "Cicso Certified Network Engineer", "Microsoft Certified Systems Engineer", etc.

That being said, I see industry-specific IT certifications as something which could be quite useful "Healthcare IT Engineer" - this would mean you are familiar with data security and the intricasies of HIPAA laws (in the US), and how that relates to patient data.  "Financial Industries IT Engineer" would have similar industry-specific requirements.  Essentially, certifications that show that you know the constraints and common practices of IT in your industry.  Being a network engineer within a bank is very different than being a network engineer in a software development company due to laws and the cost of comprimise.

June 1, 2007 1:57 PM

jenniebee said:

Two years ago, I had a team lead - her title was Senior SQL Engineer - who didn't understand the difference between a Union statement and a Join statement and who had a philosophical objection to using the Identity property to set the values for a sequential integer primary key.  The same company gave me a project manager who announced that we should refactor the e-commerce solution we were building to eliminate all outer joins and all distinct statements from the code, because he thought they were bad practice.  On another occasion, after I had submitted a memo listing possible solutions to a sticky problem we were having, and listed delivering the data in hexadecimal format as a possibility (with a list of disadvantages beside it), he had the entire SQL development team sit through him giving a 45 minute lecture on this counting system that progresses from 9 to A through... he couldn't remember what, or what it was called.

Both those people had <i>far</i> better paper qualifications than I did (I majored in English, and after a dozen years in the workforce still have to confess that I never graduated, and my only cert is an MCP).  If they could get past all those courses and certifications and through all those jobs, what would make the board you're suggesting, Adam, screen people like that out better than any other existing organization is able to do?

June 28, 2007 8:34 AM

Lara Rubbelke said:

I have to agree with Jenniebee, Adam.  You know, if your screening method (as David Markle suggested) were implemented, I wouldn't have been able to contribute to your book:-)  

I graduated with an English major.  I have always been mathmatically inclined, but happened to find the analysis of literature compelling in college.  Don't count people out because they don't have a traditionally technical major.  

Trust me, I have felt your pain.  The first time I encountered a cursor in an insert trigger for a work order processing table opened my eyes.  There is a lot of bad code out there, and standards, best practices and proper training are essential.  I like the idea of a guild - similar to plumbers, carpenters, electricians.  This would be nice, but the market will not sustain an implementation.  We don't have unions or other guiding bodies which can enforce this requirement.  

July 17, 2007 9:45 PM

Denis Gobo said:

A year in review, The 21 + 1 best blog posts on SQLBlog Best posts according to me, it might have been

December 27, 2007 4:11 PM

Shep Jones said:

I believe we are looking at a Guild System here.

You enter with a set of skills but are required to demonstrate competence before advancing to more challenging tasks. What can you do if the tasks themselves are changing?

What can you do if a certain task requires a certain level of expertise, experience, planning and intelligence in a particular environment?

A SQL Guild is about the only way to go.

To get admitted, you must demonstrate solving an original real world challenge.  Who creates the challenges? Who are the gatekeepers? Who funds all of this?

I always begin a SQL interview by asking people how they first learned SQL. What books did they read on SQL to learn it.

I follow these questions with a mix of "What if" and "What is" type of questions. Finally, I ask "What don't you know about SQL or a SQL Server and want to learn more about in the next 6 months? What if that is exactly what we are looking for, what are you going to do to learn about from the level you are at now?".  At the very end of the interview, I throw them several complex SQL queries that are similar to what we are doing in Production and ask them to explain what they see or how they might improve the query.  

Listening to how people think about SQL as they examine it has stopped me from hiring a lot of people who just where not at the level we needed.  If things get hot and time gets short, can they produce clean code quickly? What functions can they use to attack a problem? Can they solve it 3 different ways? In a certain amount of time.  Are you hiring for speed, accuracy, big picture knowledge at a certain level for a project - how fast? how big? How do they handle a crisis? What steps do they take? How do they handle time demands?

Start making a list of questions to weed these people out.  Sadly, typing speed and accuracy is a key component that is rarely if ever tested for.

Problem for many hires that it is difficult to carry one's history into an interview. How do you measure cleverness, problem solving and domain knowledge in 30 minutes to an hour?    

Sadly, trivial crap impressions from MBA type non-tech managers may sink a good candidate ( He answered too slowly...He started sounding like he didn't know...Did you see the way he stared off into space when he started solving your question?

).  Sometimes it is valid.

Question for everybody: Would you hire a person with mild Autism who knew SQL code inside and out but had trouble talking to business users and other developers? You'll need to rank a person by percentage their Domain Knowledge against Business Environment adaptability. Hopefully their work history sheds some light.    

December 30, 2007 1:20 AM

Bart Czernicki said:

Not big on the idea.  I think its kind of like a bunch of other things [insert something that sounded great on paper, but was horrible when executing/implementing it], it would be hard to implement for a bunch of reasons.

IT is a little different animal then a doctor/accounting/lawyer where the foundations of those professions changes very slowly.  Laws govern us that were created 200 years ago or we are using medicine and diagnostic technology (penecillin, x-rays) that are decades old.  So in IT we would need people re-tested every 5/10 years to be part of this "guild"?  You would also be excluding a lot of self-starters.  No doubt if this became actuality, then you would have "the big guys" (MS, Oracle) squeeze out anything like open source as maybe "not certafiable".  This could go wrong real fast :)

December 30, 2007 2:52 PM

Hugo Shebbeare said:

Weeding out the bad apples is something that has to be done proactively, and I know you're very well experienced at that - by means of the interviews and the like. Above you've gone into great depth and thanks for that. Enlightening.

I'm all for an international standards body, but afraid of their bias towards local gold-platedness or favoritism for backgrounds similar to those controlling one of these bodies.  Shouldn't be a box for the apples to fit in, should be a balances view of several things, perhaps most notably (As for the methods of pre-screening) for DBAs:

- what have they done over the X number of years to give back tothe community

- what certifications have they obtained, and kept up with, what other courses have they followed

- what degree did they finish, and add post-grad education was followed.

- how many reocmmendations do they have on LinkedIn or equivalent written references

- even if there are gaps in their knowledge, have they shown significant methods of catching up on a regular basis for new project challenges.

I touch upon LinkedIn here -

And some major workpalce traits that I have noticed, with disgust, on the local market:

Thanks for bring this up.


April 26, 2009 5:58 PM

Leave a Comment


About Adam Machanic

Adam Machanic is a Boston-based SQL Server developer, writer, and speaker. He focuses on large-scale data warehouse performance and development, and is author of the award-winning SQL Server monitoring stored procedure, sp_WhoIsActive. Adam has written for numerous web sites and magazines, including SQLblog, Simple Talk, Search SQL Server, SQL Server Professional, CoDe, and VSJ. He has also contributed to several books on SQL Server, including "SQL Server 2008 Internals" (Microsoft Press, 2009) and "Expert SQL Server 2005 Development" (Apress, 2007). Adam regularly speaks at conferences and training events on a variety of SQL Server topics. He is a Microsoft Most Valuable Professional (MVP) for SQL Server, a Microsoft Certified IT Professional (MCITP), and an alumnus of the INETA North American Speakers Bureau.

This Blog


Privacy Statement