is this HTML test for prospective grad assistants too difficult?

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 http://i259.photobucket.com/albums/hh319/_MissViolet_/ebay/HTMLTest2.jpg

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"> 
    hyperlink to company`s Home page.</a></SPAN>
    </th>
    </tr>


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

    <a href="http://www.ourcompany.com">
    <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>

Answers


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.


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!


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


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.


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.


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.


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).


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.


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.


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.


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.


Need Your Help

How can I create a file with a non-printing character in the name?

utf-8 character-encoding non-printing-characters

I am running into a situation where files are being uploaded to a server that have non-printing UTF-8 characters in the filename. I know how to fix the names, but I'd like to be able to create file...

What is the memory overhead of storing data in a .NET DataTable?

.net datatable memory-management

I'm trying to get a handle on the amount of memory overhead associated with a .NET DataTable, and with individual DataRows within a table.