|Outsourcing and Teams: questions that uncover HTML knowledge|
I often need either to work with a web team, or to hire/recommend an outsource contractor. So I've evolved some quick questions that let me know immediate whether I'm talking to someone who has the right stuff, or just some street coder who has learned a few buzz words.
I ask them what a DTD is. If they can't explain, don't know about quirks mode, etc, then they are not for my teams. It they're already on the team, I introduce them to some extra-curricular reading and ask them to stop coding until they've got a better grasp.
I ask them what the box model is - and, viola! instant illumination! I am so tired of crappy CSS work that I've become a complete hawk about this.
Why do so many people claim they "know HTML" when they barely have a clue - have we entered the great age of maximum BS? Anyone with me on this? What questions do you feel can easily separate the wheat from the chaff?
This will be really effective to determine who is an expert in HTML. However, "knowing" HTML is like "knowing" English. There are degrees within degrees. Most people who have consider themselves English speakers can't tell you what an adverb is. I don't think that means they don't "know" English. But it certainly disqualifies them as professor of the subject.
So, can someone who doesn't know what a DTD is (me) get the job done? Yes. Will it be as pretty as what you do, nope.
Regardless, you method might be effective for weeding out hacks if you are willing to define someone who doesn't know that particular term as a hack. From what I have seen, ingenuity and the ability to grasp the big picture is far more important (to me) than programming vocabulary.
>have we entered the great age of maximum BS?
In an earlier life many years ago, I built houses. Everyday someone would show up on site with a tool belt asking for a job as a framer and for journeyman wages. We had one quick test -drive a 16p nail into a 2x4. If they could do it in 2 swings, we asked just one question. "Can you frame a roof - no trusses?" If they could, we would hire them.
Most just bent the nail.
The web is no different. Anyone with a computer and frontpage can get a page online, and therefore is an expert. IMO it isnt always BS they are conveying, but a false sense of competency and arrogance that seems to prevade the workforce.
<added>Arachnid, I think you just made tedster's point</added>
[edited by: Kirby at 10:56 pm (utc) on May 2, 2005]
>>>>> What questions do you feel can easily separate the wheat from the chaff?
- Do they know about validation; how to do it.
-Do they understand browser differences and about users screen resolutions (browser widths). How users can modify text size etc.
|So, can someone who doesn't know what a DTD is (me) get the job done? |
DTD = DOCTYPE declaration
|...ingenuity and the ability to grasp the big picture is far more important |
I'd bet you would agree that XHTML is part of the "big picture", since pages written in XHTML can be read by XML enabled devices. An XHTML document has to have a DTD. If you dont know what a DTD is, then your XHTML pages wont validate and XML devices wont get the "big picture" your page wants to convey.
Yeah,I get all this.. But what's HTML? :P
I don't claim to know little, nor a lot about any given thing. No matter how much you know, there's always something that you don't. That's what makes learning so much fun: the discovery of things unexperienced.
However, with web design, the relevancy of a user's skill is clearly defined in the result. Asking for source code is more than enough to discover someone's true level of skill.
It's not just xhtml that concerns me when I ask about the DTD, it's the ability to create dependable cross-browser mark-up of even HTML 4.01. If someone doesn't know what a DTD is, then they haven't learned about quirks mode and standards mode -- that's pretty basic knowledge for mark-up that is going to render well on a variety of browsers and operating systems.
Yes, validation would be another avenue - and you can't understand validation withoput undertanding DTD - so it's a very similar direction.
There is definitely a difference between being able to put a web page online (grade school kids do this all the time with template driven interfaces) and having enough knowledge to be paid as part of a professional team.
No offense is intended to anyone -- if you don't know these terms, please just accept my comments as a wake-up call and spend a day or two learning -- but understanding things like DTD, quirks mode and the box model does not require an expert level of html knowledge.
IMO these are the basic tools, and asking for a job without these particulars in your toolkit is something like hoping to frame a house with a tack hammer and a Swiss Army Knife. And I have dealt with people who have college credits in website technology but didn't understand these basics. Shame on those colleges for taking the tuition.
I would add to a list of qualifiying characteristics the ability to find answers quickly and efficiently , although I don't know how you would test for this short of finding a hole in a person's knowledge and seeing how quickly they can fill it.
If you locked me in a room with an unwired laptop, I would not consider myself an expert with CSS, but give me access to the W3 specs and perhaps a few choice other sites (although in all honesty, just the specs are usually enough), and I feel pretty confident that I could work out any coding issues with any given page. The ability to self-educate in this regard seems invaluable to me. Especially given what others have already mentioned: that one person cannot possibly know everything.
I'm with you, though, that there are some things that simply should be stored permanently in the brain of anyone who considers themselves an HTML/CSS coder. My list would include: DTDs and all they entail, the box model(s), list-based navigation, block vs inline formatting contexts, the cascade.
|I ask them what a DTD is. |
|I ask them what the box model is |
You could dismiss people if they didn't answer straight away, but you could also give them access to google for 2 mins then ask them to explain and produce their own example code.
If they were successful this would show the ability to self teach and learn.
There are lots of people who can churn out definitions parrot fashion and give reasonable explanations, but don't really understand what is going on (salesmen are usually good at this in my experience!)
|Why do so many people claim they "know HTML" when they barely have a clue - have we entered the great age of maximum BS? Anyone with me on this? |
Absolutely, yes, without any question. There are thousands of so called 'web designers' out there who claim to be competent but who aren't.
And networking engineers, and programmers, although the programmers don't tend to last as long since their stuff breaks and costs money to fix, but there's always new marks out there ready and willing to be fleeced.
Here's a sample from a recent repair job, this tiny amount of code doesn't really do the question justice, since every page was randomly generated, no consistency in coding at all, which makes the whole thing a huge headache to fix, since you have to literally go through every line of every page and redo it.
<font class="header"><b>Header text</b></font><p></p>
<font class="plaintext">text content<p></p>
<img src="..." border color="gray" align="left"><img src="spacer.gif" height="300" width="25" alt="spacer">
<li><b>sub header text</b><br>
<li><b>sub header text</b><br>
text text               text text</li></B>
That's just the HTML and 'css'. What's that you say? No <ul> to open the list? Trying to create linebreaks with <p></p>, then adding <br><br> to create the double space linebreaks that of course didn't appear then? Making up img attributes? Nesting block level elements in inline elements? Random use of font tags, many unclosed?
This individual took 'pride' in handcoding his HTML, by the way, the problem of course comes because he has and continues to have absolutely no idea what HTML or CSS is, or how to use it, but somehow manages to get his pages to sort of display in IE, sometimes.
The site programming was even worse.
People get away with this because the customer doesn't have a clue, they see something that looks like a website, don't understand what maintainability means, are probably going local, although I've seen plenty of outsourced garbage too. On the bright side, it costs a lot of money to fix this junk.
Re how to test them, your questions are good, I'd sit them down with a text editor and have them make a CSS controlled layout, simple, in XHTML 1.0 strict. Not because you should use it, but because they should know how to do it. If they don't know how to use css and js libary files, out the door. If the page doesn't validate, out the door, if they don't know what a doctype or the box model is, out the door.
Then of course they should be able to show a few websites they've built that do validate, or if they don't validate, they should know why they chose not to make it validate, and what the 'errors' are.
Yes, I'm convinced we've entered the age of maximum BS.
It's perfectly OK to lie about anything, now.
DTD is a type of insecticide, isn't it?
I do like the idea of asking a very difficult question then giving them a few minutes of Internet time and asking again. The ability to quickly and accurately learn is priceless.
Also what about putting short listed people through a Brainbench test - the cost would probably be worth it, they are quite searching and as it happens the CSS2 one is free.
As an aside, lack of complete understanding of what they are doing by people already in jobs is not confined to HTML/CSS, and some employers seem not to care much.
A friend of mine was recently doing some contract work in the IT dept of a major bank and was working close to the team that managed the online banking system/site, all four of them. They had no clue, anytime an issue came up with the programming or the servers they googled for answers or asked questions in forums/newsgroups using hotmail addresses to hide behind. Not their fault really - the bank in its never ending quest forever higher profits cut back the IT dept, hires barely qualified staff and provides them with no support. But deeply scary.