tags:

views:

249

answers:

12

I am wondering if the ability to hand-code HTML a rare skill and if the HTML test I give prospective assistants is too difficult? I ask because I work for a university and my department employs graduate assistants to help with the Web site. It's an extremely easy and well-compensated job that involves only rudimentary HTML, SQL, and ColdFusion which is our server-side scripting language. I wouldn't describe any of those languages as particularly challenging to use, yet every semester, I have such trouble finding candidates who can code basic HTML. I give them a very simple HTML exam and hope that at least one will do well enough on it for me to have confidence in their ability, but I'm always dissappointed. I am wondering if my HTML test is too difficult?

So below is my test, which I designed specifically to check their HTML skills, not necessarily because it's the best way to render this output. I give the applicants a printout of the HTML test as rendered by a browser. I explain that the image resides in the same folder as the file they are creating, so just use a relative image path. I tell them not to worry about meta tags, not to use font face tags, just let the default system fonts render, and not to worry about matching the colors exactly with hex codes. I also tell them that there's more than one way to render the HTML and to use the simplest, plain HTML 4.0 way, not CSS, XHTML, etc.

I'm looking for something along these lines, but variations are acceptable. I am also expecting that it will take anywhere from 10-30 minutes on the outside: EDIT: here is the image that I give them as a printout, with identifying aspects blocked out as I don't want to embarrass any of the applicants who might stumble across this. I also took out the HTML that was here earlier since everyone was so distracted by how terrible it was that the comments on the horror of the HTML were more numerous that those about the difficult of the test:

alt text

But I always get back something like this, which is maybe not outrageously wrong, but demonstrates that the applicant does not follow directions, is not neat nor meticulous, and does not produce HTML that I'd consider correct, especially considering it took more than an hour. That seems rather slow for a file that isn't much more than 30 lines of code. This test has never been completed without the candidate asking me if they can use Dreamweaver (no) or look up information on the Internet (yes, after they've failed to do it on their own). These are people who have HTML listed on their resume as a skill, who claim to have created Web sites in the past. So I am wondering if my test is too difficult or if it's just that our CS grad majors aren't very capable? Should I make the test easier, if possible, or just accept that our applicants are not particularly skilled?

BTW I am not asking about the correctness of the HTML test itself or whether CSS is a better way to render the same output, just about whether it's too hard for someone who has listed HTML on their resume.

     <html>
    <body>


    <table border="10" cellpadding="3" cellspacing="3" width="50%" 
    bordercolor = gray>

    <tr>
    <th COLSPAN="1" ALIGN=CENTER bgcolor="blue">

    <span style="FONT: bold 13px Arial,Verdana,Geneva,sans-serif; COLOR: #00337f; ">
     This is our companys HTML test</SPAN></th>

    <th COLSPAN="1" ALIGN=CENTER bgcolor="red" >

    <span style="FONT: bold 13px Arial,Verdana,Geneva,sans-serif; COLOR: #00337f; 
    TEXT-DECORATION: none;">This is a<a href="http://www.notourcompany.com"&gt; 
    hyperlink to company`s Home page.</a></SPAN>
    </th>
    </tr>


    <tr>
    <td COLSPAN="3" ALIGN=center bgcolor="black">

    <a href="http://www.ourcompany.com"&gt;
    <img src="c:\Documents and Settings\user\Desktop\HTMLTest\OurImage.jpg" 
    border="0" alt="logo" /></a>
    </td>
    </tr>

    </tr>

    <tr>
    <td colspan = "3" ALIGN=CENTER bgcolor="black">
    <a style="FONT: 13px Arial,Verdana,Geneva,sans-serif; COLOR: white; 
    TEXT-DECORATION: none;" >This is the end of our company`s HTML Test</a>


    </tr>
    </table> 

    </table>

</html>
</body>
A: 

I'd say that it's not too difficult a test for someone who claims to know HTML.

However, you ought to be aware that table-based layouts and avoiding CSS for colouring/fonts (also the use of CAPS tags) should be becoming alien to those learning HTML now so maybe you need to re-adjust your scoring criteria.

Mind you, the mix of inline styles and old HTML attributes coupled with not following the instructions in the example you've posted should be a red flag that this is a blagger.

I've done a lot of code tests recently and a surprisingly large percentage of people didn't follow basic written instructions.

Paolo
Unfortunately I can't allow them to get creative with layouts - we use global templates and a content management system, they only need to code the body of the page - mainly paragraphs breaks, images here and there, and a few tables to display data that we keep locally in spreadsheets.
Rachel
+9  A: 

While I, honestly, get goose bumps when I see both the template and the test result (CSS is really here to stay, and it's good!) I don't think this is particularly difficult a test for someone who claims to speak HTML on their frigging resumé.

I would not pay an hour's wages to get that kind of HTML. If it's a core requirement, and people give you stuff like this, don't hire them. Wait for the person who does it right. I dare say anybody who knows their stuff can do a clean, beautiful rewrite of the layout shown in 15-30 minutes.

Access to the Internet to look up things is a must IMO - I couldn't for the life of me write down a doctype declaration off the top of my head, I have to look it up every darn time, and I'm not the least bit ashamed of it. Also, being able to validate the test results before turning them in is a must as well.

Pekka
I cringed at the first one more from being all upper case and the improperly quoted attributes and the lack of proper CSS and.....
ChaosPandion
I tend to be more liberal because it's not that long ago that I wrote such code myself (3-4 years). :) But still.
Pekka
I can't allow them to write CSS if they cannot write HTML 4.0, sorry. It is a requirement of the job that they know HTML 4.0, regardless of how outdated it may appear to all of you, it is necessary for them to know it.
Rachel
Rachel if they cannot write CSS they cannot write HTML. I've yet to encounter a CSS expert who doesn't know HTML.
Mike Robinson
Exactly. No-one has passed the HTML test, what is the point of asking them to write CSS when I have never had someone demonstrate they can write HTML?
Rachel
@Rachel: I'm sure you have your reasons for requiring candidates to work that way. Also, the way you describe the interviews, there seem to have been no candidates who were capable but didn't take the job because of this requirement. But if a candidate cringes at the task, and starts talking about the goodness of stylesheets, be sure to take ´em because that's a good one.
Pekka
@Rachel: I think you're missing the point. Simple HTML and poorly-written HTML are not the same thing.
Andy West
@Rachel: Show them the picture and make the only requirement be that they hand code it. There's a difference between the -right- answer and -your- answer. You should really try to hire the best developer, not the one capable of passing a strange requirement.
Mike Robinson
I agree, Pekka, that person would probably be a keeper. I do indeed give them a printout, a screens shot of which I just embedded above, Mike. Andy, okay, sure, you're saying my HTML is incorrect, but simply because I am not a skilled HTMLer doesn't mean I should hire someone who is worse than me. The ideal candidate would be more skilled than myself, not less so.
Rachel
@Rachel, Yes axcactly, and requiring them to come up with some very outdated way of styling a webpage, while they propably know the correct way is not a good test. No grad student will come up with this kind of HTML as the last time they coded HTML like this, they were still in pre-scool.
Pim Jager
I only require that they look at the printout and give me an HTML version of it. If someone said to me, Oh, but it'd be much better to do it in CSS, I'd tell them to do it in plain HTML and in CSS. I cannot give this position to someone who does not know HTML, howeversomuch people dislike it. Coding HTML is entirely typical of what they'll have to do on the job. If they cannot look at a printout of a Web page and reproduce it in HTML, they will not be able to perform the tasks necessary for this position.
Rachel
@Rachel, don't worry. You know now that 1. old attributes and inline CSS are not socially acceptable among web developers today, and you may want to update the practices used some time in the future, maybe with the next person you hire. For the moment, I think we can all agree that `bgcolor`, `bordercolor` and consorts are outdated, but still work. 2. The answer to your orignal question is, I think quite unequivocally, that the test is fine if not too easy. It is definitely not too difficult. I'm off now, night everyone :)
Pekka
The only CSS they can use is inline CSS. We have global style sheets and they will not have access to modify these global styles, nor will they have access to the HEAD section of the page. So, either no CSS at all, or inline styles. That's the only option, thus I need to ensure that they know HTML 4.0.
Rachel
I think what everyone is trying to say is the current correct answer does not qualify them as an HTML programmer. Knowing how to use something (like a car), and how to use it properly (don't drive it into a tree) is an important and necessary distinction.
Mike Robinson
It's not a programming job. I don't consider HTML programming. Any reasonably correct HTML code would have been acceptable but neatness counts. Duplicate tags, images paths pointing to local files, inconsistent capitalization don't bode well.
Rachel
Oh, and about remembering doctypes: HTML5's <!doctype html> is quite an improvement.
Ms2ger
@ms2ger: I'm looking forward to that!!
Pekka
+4  A: 

Html doesn't really get any easier than that, i can't image how you could possibly make a html test any easier.

Having said that, I don't think HTML is a good way of assessing skill. It's perfectly possible to produce excellant sites without an intimate knowledge of all the syntax, which is fairly verbose and not always intuitive. You would be much better off asking questions about the box model or some pseudo code logic in my opinion.

I know you said this isn't about the correctness of your "answer, but table based layouts and no css is bad, if you do ever get a good candidate and you show them that as a model answer they will likely walk out!

Paul Creasey
If I had more votes today I would totally upvote this answer for the last paragraph. Someone help me out.
iandisme
Unfortunately they must know HTML 4.0 before I can ask them to write CSS. We have global CSS styles but the job only entails the very simplest HTML imaginable - adding paragraph breaks between text, an image here or there, and tables to render data that we we keep locally in spreadsheets. I realize it looks terrible to all of you, but if they cannot do simple HTML 4.0, then I don't have much confidence in their ability to do anything more sophisticated. It's not a programming job.
Rachel
A: 

Seems easy enough -- but why tell the applicant not to use CSS -- clearly Dreamweaver is not html, but CSS is. I say let them use CSS. Other than that it seems good. Hey, if they can get it to look right without the table -- that should be fine too.

Hogan
I was hoping to find someone who knows HTML. I can't allow them to override our global style sheets with their own CSS, and there is no need for them to control layout. They are only coding paragraph text, an image here or there, and an occassional table to display data that we keep in spreadsheets.
Rachel
A: 

I would presume your test is correctly tuned for sophmores, not graduate students.

Grad students in computer science/information systems should be able to CSS it to some degree. I would expect to be asked questions regarding CSS, SQL and Coldfusion, as well as Javascript, if I was applying for a university website design.

Your test sets the bar quite low actually.


edit: I could have written the required text as a sophmore or as someone in high school. Most skilled students in CS I know could have done that as well.

Paul Nathan
It's just a way to see if they know the absolute bare minimum - HMTL 4.0 - and if they are capable of following directions and presenting neat code. If anyone completed this in under 30 minutes, I might ask them to show me the CSS equivalent, write a simple script, demonstrate knowledge of SQL, or other skills, but since I'm having trouble with finding someone who can write HTML, no point upping the bar. In fact I would lower the bar if there was any way. I have to hire someone and the job pays 10K for 160 hours of work so I'd rather the person be competent or at least smart enough to learn.
Rachel
Nice pay....don't suppose you accept telecommute work... :)
Paul Nathan
If only! The applicant must be a graduate student at our university otherwise I would easily find someone qualified.
Rachel
+2  A: 

The test is simple: if they cringe when you show them the answer, hire them!

Mike Robinson
I'd like to see someone write a more correct HTML file. I am not a master of HTML and would love to hire someone more skilled than myself, but I can't hire someone less skilled than myself.
Rachel
+1 for your Pekka comment "Show them the picture and make the only requirement be that they hand code it. There's a difference between the -right- answer and -your- answer. You should really try to hire the best developer, not the one capable of passing a strange requirement".
fupsduck
I gave them a printout and asked them to generate approximately the same output with HTML.
Rachel
A: 

You "tell them that there's more than one way to render the HTML and to use the simplest, plain HTML 4.0 way, not CSS, XHTML, etc.". Who's simplest way - yours or theirs? Why give them junk and ask them to read your mind? Why not give them a rendered WEB page and ask them to discuss their design approach, see if they understand and respond to your concerns and suggestions and then ask them to code it (yes with access to the Internet).

fupsduck
That's exactly what I give them - I just included the HTML code because I stupidly didn't know how to embed an image, sorry. I probably should edit out the HTML code. If they insisted on using CSS or at least arguged in favor of it, that'd be fine, too.
Rachel
A: 

I think the problem here is that you are asking the wrong kind of HTML skills. You think you're making it easier by letting them do HTML 1998-style. But in reality, you are making it a lot harder.

I myself would have to spend a lot of time remembering how to do layouts in tables, or how to set font colors, background colers, borders etc. etc. without the use of CSS.
However if I was told to create this page in HTML now-style, using divs, spans, CSS etc. I would defenitly be able to pass the tests.

I think the same is true for a lot of the grad students that make this test.

EDIT

We have global CSS styles but the job only entails the very simplest HTML imaginable - adding paragraph breaks between text, an image here or there, and tables to render data that we we keep locally in spreadsheets.

I read in some of your comments that they are not supposed to do CSS because that overrides your default stylesheet and that they do not have to layout, but just do a table here and an image there in the page body in the CMS. If this is the case, then you are testing the wrong thing, since what you are testing is clearly creating a layout.

Pim Jager
They can do the HTML any way they want to - I never specify exactly how they ought to do it, and make it clear there is more than one way to achieve the layout - but preferably not sloppy and incorrect. I would prefer if they show me without CSS at first, and if anyone succeeded, I'd ask them to a CSS version although they won't be using much CSS on the job.
Rachel
It is a table on a page. Yes, I could have put some text above and below it to make it clear that it's not controlling layout, but just a table on a page, however, that's not relevant to their ability to code HTML.
Rachel
+2  A: 

Okay, thanks for your input but the negativity is a bit overwhelming so I am hoping that me answering my own question will close it. I will remember that this is not the best venue for this sort of question. I apologize for making you all cringe.

Rachel
Please don't get too upset about the negativity. I find it ironic (and slightly humorous) that your question was regarding applicants who don't follow simple instructions, but many of the responses here also didn't follow your simple instructions in your last paragraph (about your question only regarding the exam difficulty and not the HTML correct-ness) =P. The SO community is generally a friendly and helpful place, please don't let anybody scare you off!
bta
Your question has generated a lot of interest and people on SO are, if anything, opinionated. I thought you did a great job of providing feedback and would hate to see you scared off.
fupsduck
I would hate to see you scared off by this, too. But no matter what, Kudos for standing your ground like you did.
Pekka
A: 

If the job requires working with HTML and the applicant lists HTML on their resume, then being able to write a simple HTML document is definitely an appropriate question to ask. Even if they will ultimately be working with higher-level tools and scripting languages to generate the HTML, they need to be able to understand and speak HTML in order to do their job well. Your provided solution uses nothing except the <table>, <img>, <font>, and <em> tags. If I was hiring someone, I would sincerely hope that they would be able to use those without having to consult any reference materials. I would equate that (roughly) to someone listing "C/C++" on their resume and being expected to write a short program that uses basic language features like sizeof, memset, or malloc. I would understand if they couldn't pull the exact DOCTYPE line out of thin air or they didn't try to list the pixel dimensions of the image, but the rest of it is the type of material you would learn in high school and is (IMO) perfectly reasonable to expect someone to be able to do if they are claiming to know HTML well.

... but demonstrates that the applicant does not follow directions, ... and does not produce HTML that I'd consider correct

If you are hiring an assistant, these are two qualities that the applicant should not have. Expecting perfection would be asking a bit much (they're probably nervous), but not following simple directions (as given by your second code block) to me shows a lack of attention to detail and hints that the applicant is not the type of person who takes pride in their work. The lack of consistency with indenting and capitalization makes the writer appear unorganized.

bta
A: 

I'll say I think its too hard.

These graduate assistants probably don't have a lot of industry experience. Universities tend not to spend much time on the nuances of HTML/CSS. Learning the basics of HTML/CSS does not take much, but being proficient does take a good amount of time and experience. You are hiring people who won't have the background to develop those skills.

You should hire smart people who show they can learn these technologies, rather than people who already have the skills. If they already have the skills they can probably get a higher paying job working in private industry.

Realistically if you find someone with a strong grasp of the difference between <div> and a <span> they are probably above-average for university students.

Frank Schwieterman
A: 

Everyone has a unique coding style, and this is especially true for HTML. A good idea would be to separate the judgement of their style from their actual knowledge of HTML usage.

The likeliness of anyone having to code HTML from scratch without a template to follow is very low these days, especially with the advent of new design methods. Instead of asking them to code from scratch, ask them specific questions relating to HTML tag usage and style, such as indentation, intrinsic documentation, and white space usage.

Specific questions will also allow you to focus on the most contentious points as well. Some areas are less worrisome than others, and will allow you to not filter out potentially talented graduates due to some trivial points.

Alex