
80 front-end job applications – nearly no one had basic HTML/CSS/A11y skills - charlesroper
https://wdrl.info/archive/121
======
daleharvey
At 80 people it might start being the time to question whether its really
everyone else thats unskilled or your approach to evaluation is wrong.

Asking a pop quiz of arbitrary tools / techniques that you happen to have
remember really isn't a good way to evaluate if someone is a good developer. I
am a good developer and I only just remember what clearfix is, I most
certainly couldnt explain how it works.

~~~
morgante
It doesn't even sound like he interviewed the candidates at all.

> Although I only had the chance to review their personal websites or github
> profiles and this might of course not be a full show-off of their knowledge,
> it assured my lately developed opinion on web developers.

Apparently because people's personal projects weren't developed with
accessibility in mind he concluded that developers don't know HTML/CSS.

~~~
Fuxy
Personal projects are a bit questionable as a skill test.

I've been planning to do a personal site for a long time and wishing i could
contribute on github more but most of the time the only contribution on github
ends up to be bug fixes to libraries I use at work and I still haven't gotten
anywhere with my personal website.

Most of my best code will never be seen by any interviewer since it's done at
work.

Now if any of my personal code was making me money that would be different but
I have nothing like that at the moment.

~~~
kldavis4
Agreed. And on top of that, any personal projects I do actually find time to
work on are typically pretty rushed (due to the lack of time) and are not
going to be the best examples of my work product.

Typically I am just trying to write something quick and dirty to accomplish
some task and want to share it in case somebody else might benefit. I'd love
to make time to go back and polish things, but rarely do I have the time.

------
throwaway420
Every developer has a specific set of tools/technologies/techniques/focuses
that they really like and appreciate and that gives them a technical boner.
For this guy it's HTML markup and accessibility stuff. For me it might be
something like frontend performance and minimal design. For another dude it
might be writing abstract and clever code that's as short as conceivably
possible. For another guy it might be writing the most readable and documented
code possible that eschews all cleverness. Another guy might be focused on
writing 100% tests. Etc.

While every developer has things that they really like and appreciate,
projecting this focus onto others and focusing on this one fetish point to the
exclusion of everything else is detrimental to a project. Your job should be
to build a team of smart developers who bring complementary skills to a
project and who can learn things that are important to the project, not to
build a clone army of yourself.

If the author was a comic book store owner interviewing prospective workers,
the equivalent to this would be him rejecting hundreds of job applicants
because they didn't know the thematic development and character interaction in
issue #431 of Gunsmith Cats or some other random obscure anime or whatever.

------
giaour
If the skills you're looking for are that basic, why wouldn't you just hire
one of those 80 applicants and spend an hour teaching them what aria
attributes are?

~~~
sharms
One has to wonder how much time was spent dismissing applicants, and if that
time would be better spent showing the new hire his personal preferences
(which are only preferences, there wouldn't be 100+ comments on this thread if
it was standard)

------
rgbrenner

      Although I only had the chance to review their personal websites or github profiles
    

and then

    
    
      Many are not able to choose the right HTML elements, to explain why and how a clearfix works, or what ARIA roles are for, but they can use React and Angular.
    

No kidding. They couldn't explain clearfix because you never asked them any
questions.

You want to talk about incompetence, and your "application review" consists of
browsing the web.

~~~
estefan
This guy's gold! Someone can learn react and angular but he thinks they're
incapable of learning some accessibility attributes? I wonder how competent he
is with angular/react...

------
anm89
Very seriously doubt this.

It seems that his gripe is more with people being unfamiliar with certain
accessibility tools that he likes.

That doesn't grab headlines like claiming nobody knows basic html and css so
though, so he threw that in front.

------
gotchange
Funny that he's criticizing applicants for the perceived lack of knowledge of
web accessibility and the neglect of aria usage and yet in the same post, not
a single reference to either « aria-labelledby » or « aria-describedby » could
be found in the markup.

"People living in glass houses, ...."

------
grabcocque
And almost no backend developers can write assembler either!

It's almost like we've spent decades layering abstractions on this stuff so we
don't have to wrangle it ourselves, isn't it.

~~~
mkozlows
There are no useful abstractions that will let you fail to understand how HTML
and CSS work.

~~~
grabcocque
Nobody _wants_ to understand how CSS works. Sometimes we _have_ to, but it's
rarely by choice.

~~~
Silhouette
I respectfully disagree. I'd much prefer to understand the real technologies
that run the web -- HTML, CSS, HTTP, and so on -- and then use tools and build
abstractions on top when it's useful.

Starting with some specific framework or tool set inevitably limits what you
can achieve. Surely the recent emphasis on frameworks over fundamentals has
been a major contributor to the Web full of bland, practically identical sites
that we see today.

~~~
FLUX-YOU
>Surely the recent emphasis on frameworks over fundamentals has been a major
contributor to the Web full of bland, practically identical sites that we see
today.

It used to be mostly plaintext and basic colors with no responsiveness, under
construction gifs, basic images, and flashing text. Before that, just text.
We're still learning as an industry. Web technology has not (and may never)
settled like the hardware in your toolbox.

Those frameworks are geared for productivity, not possibility. Productivity is
where the money is.

~~~
Silhouette
I think you overlooked about a decade where we'd moved well beyond slightly
annotated text but hadn't yet entered the era of framework dominance. The Web
was a smaller place then, but IMHO a much more interesting one in terms of
trying out different designs and interaction styles.

As for productivity vs. possibility, I certainly don't dispute that
productivity is one place where the money is[1]. However, that doesn't mean
there isn't also room for innovation, and it certainly doesn't mean there's no
money in doing things better than what you can achieve with Bootstrap,
Angular, and a couple of junior developers who don't know much else. In an
increasingly monotone and commoditised technology field, more interesting
and/or effective presentation can certainly be a USP.

[1] I might question how sustainable that productivity proves to be over the
longer term with many framework-heavy projects, but that's a separate issue
and probably not worth getting distracted here.

------
FLUX-YOU
>Nearly no one could show off solid markup skills

Because there's not a well known standard of what solid markup skills are.
It's not really a surprise that people come to you without knowledge you claim
as necessary when they had no idea it was necessary.

The same is basically true for any position in any area of software.

~~~
jimminy
There used to be a decent standard with (x)HTML 4.1, and the commonly followed
process of designing with progressive-enhancement.

HTML 5 added the semantic tags, which are great, but there is less clear
decisions for deciding section/article/div that the prior selection of just
using div. There are other cases where it has introduced more confusion into
the process where the semantics aren't straightforward to determine.

And progressive-enhancement is pretty much forgotten anymore. All the
Javascript frameworks and pushing to work on the cutting edge of what's
available, have forced a huge portion of effort to be spent on graceful-
degradation instead. And working at the edge means that everyone is already
working off any adopted standard, and just shimming everything to do what they
want.

The front-end development out there is just kind of dumb at the moment in
those regards.

------
diego_moita
And so what? Did you write "HTML/CSS is mandatory" in the job description?

As a developer I have grown a tough skin to managers that keep complaining
that "these JS/Python kids today don't know anything about register allocation
and data segments in assembly!"

Workers unable to fully understand your technology stack is an universal
problem, goes far beyond computers and web. There are only 2 options for you
to deal with it:

1\. The Silicon Valley approach: pay top dollars to whoever knows the
technology you want.

2\. The German Mittelstand approach: nurture, train and develop your own
experts. Make deals with technical schools, offer a viable career path to
young students and help them learn.

------
rifung
If you get 80 applications and none of them have what you are looking for,
this seems like the issue is being able to get the right candidates to apply.
Or, perhaps it's just not possible to find enough people who have the skills
in which case, I suppose you should train them?

Alternatively it seems like a good case for putting some sort of earlier
filtering mechanism, like giving a short quiz or coding exercise to see if
they know what you want them to know. I remember reading an article by
TripleByte on how their quiz actually was a better filtering mechanism than a
coding exercise though.

> After reviewing a lot of applications in the past days, I can only agree
> with Kristian Glass here and say: “If you get the chance, always send a
> cover letter”. It’s your opportunity to say something about yourself and
> make clear why you apply for the job.

I can understand why employers feel this way, but from an applicant's
perspective, the reason someone applies to your company most likely is that
they need to make a living. Frankly I don't think there's anything wrong with
that and it's not something I would think stops people from being good
employees. After all, it's difficult to know how much you'd like to work
somewhere unless you've actually been there.

------
radicalbyte
If these are skills that you can gain in 2 days reading as the post claims,
then I suggest that the interviewer needs to reconsider his perspective..

------
lkrubner
The contrarian argument is that this signifies an important truth, that HTML
never worked the way it was suppose to. In the same way that we might argue
that a misunderstood product is the fault of the designer, not the user, we
could argue that developers moving away from HTML is the fault of HTML, not
the developers.

This has been discussed many times, both here on Hacker News as well as
elsewhere. To recap that argument, HTML started life with 2 competing and
conflicting goals. One goal was to become a GUI for TCP/IP packets. The other
was to provide structured information, as SGML had done for publishing.

The conflict was obvious by the late 90s, and then for awhile the good folks
at W3 thought that XML would provide the answer. And XML did work at providing
structured data, much as SGML had for printing (though the criticism arose
that attributes should have been left out of XML, as they were only useful for
printing). But when XML was stretched to again try to be a GUI for TCP/IP, the
system broke.

Somewhere around 2006, Sam Ruby (W3C working group co-chair) shared a
wonderful anecdote on his blog that revealed how broken XHTML was. He said
that he had sent his daughter an SVG image, and she wanted to share it with
her friends on MySpace. But she couldn't. Because MySpace was not XHTML
compliant, and SVG could only render on XHTML compliant pages. And yet if he
had sent her a gif or a jpeg, she would have been able to share it. Draconian
error checking might be great for an information exchange system such as XML,
but it did not work for a GUI that had to be somewhat informal.

In 2004 Mark Pilgrim wrote the great piece "XML on the Web Has Failed":

[http://www.xml.com/pub/a/2004/07/21/dive.html](http://www.xml.com/pub/a/2004/07/21/dive.html)

Now it is 2016. We are looking back at 25 years of failed experience. We can
clearly see that HTML and XML both failed, completely, as GUIs for TCP/IP
packets.

So developers are being rational. They are "voting with their feet" (actually
their minds). They don't learn HTML because they know HTML has failed.

What is the best way to create a GUI for TCP/IP packets? I don't know, but
nearly all developers agree that Javascript is a better way to get there than
HTML.

There might be something even better than Javascript, and we should all keep
experimenting and learning and trying new things.

But HTML has failed, and it is good that developers recognize that.

~~~
mediocrejoker
I'm not sure I understand what you mean by a "GUI for TCP/IP" yet it seems
central to your argument. I didn't realize HTML was ever intended to be
anything other than structured information.

~~~
lkrubner
You have never seen HTML used to build something that a human might look at?
What are you looking at right now? Aren't you looking at a web page? Aren't
you human? Aren't you using your eyes to see what I've written? Unless you
"View Source" on every page you visit, you are looking at the GUI, not the
structured information.

If you think HTML can be used to send structured information, I would urge to
read the essay that Mark Pilgrim wrote in 2004. I posted the link before.

Also, please consider all the many arguments that Sam Ruby has made against
HTML-as-structured-data. From 2005 forward, there were many people who wanted
HTML5 to be an extension of XHTML, but as Sam Ruby kept asking "Why should we
call something XML if it is clearly not XML?" Over the years, in his role as
co-Chair of the W3C working group, he kept making the point that "draconian
error checking" is part of the XML spec, and it can not be reconciled to
people's actual use of the Web. That is why HTML5 relaxed all the rules
regarding validation and structure.

This is Sam Ruby in 2009:

"So, while I doubt that I will ever understand why there are people who insist
on calling their pages they produce with the intention of being processed as
HTML by the name “XHTML”, I can’t deny that there clearly is something that
such people want. (By way of comparison, I am quite happy to say that this
page is served as XHTML to browsers that support such, and as HTML to browsers
that don’t). From my experience, this is tricky stuff, and not something that
should be recommended lightly.)"

[http://intertwingly.net/blog/2009/07/19/Humpty-
Dumpty](http://intertwingly.net/blog/2009/07/19/Humpty-Dumpty)

------
smrtinsert
What a ridiculous set of requirements and self aggrandizement. I've read about
aria attributes more than a few times, but do I care to remember them? No,
because you set them up once and move on.

Hiring people, don't confuse route memorization with job performance. It's an
absolute ridiculous requirement.

Thankfully not one of those applicaments would have wanted to work there.

~~~
davidpatrick
This is the most important point. This guy did these applicants a favor.
Nobody wants to work for somebody like this.

It sounds like these applicants wasted their time to help the Author write
some bait click article to attract traffic.

------
jnbiche
If you use proper semantic HTML, ARIA attributes are rarely needed. It's a
good idea to validate nonetheless, but there's no point in writing:

    
    
        <button role="button">Sign in</button>
    

or

    
    
        <h1 role="heading">Heading</h1>
    

I can think of only a handful of aria attributes that would be helpful if you
use proper HTML, such as `search`, maybe `toolbar` and a few others.

But it's good to validate the markup regardless, to be sure.

~~~
cobaltblue
Besides, all the ARIA stuff isn't free. It only benefits screen readers and
bots that aren't Google's. The rejection from lack of accessibility is as
strange as rejection from lack of functionality in IE 8 or less (which has
perhaps 2-4x as much market share as that of all screen readers). For any
website or webapp you should know your market and make the call whether you
need to spend time upfront, burn the time now, or delay indefinitely or
forever, on supporting these low market share alternatives.

~~~
steveax
Posts like this give me the sads. Equating disabled users with a browser that
has been EOLed? Wow, just wow. Also aside from being the right thing to do,
depending on who you are and where you are, it may be the law...

[https://en.m.wikipedia.org/wiki/National_Federation_of_the_B...](https://en.m.wikipedia.org/wiki/National_Federation_of_the_Blind_v._Target_Corp).

------
jakozaur
Just use some automated coding test like Codility:
[https://codility.com/](https://codility.com/)

Even an easy JavaScript programming tasks can filter a lot of applications so
you can concentrate on best candidates.

~~~
desireco42
I could not figure out what exactly they are doing and how much it costs.
Would you mind clarifying that.

~~~
jakozaur
You can send link to candidates asking them to do some coding tests. From as
simple as reverse a string, FizzBuzz to more difficult ones.

That way you can pick the best ones by technical merit, not be their ability
to write nice resume.

I don't remember the exact price, but when my company used them it was
something in range of $100-500 / month.

~~~
desireco42
Thank you.

------
elliotec
I don't believe this for one second. 80 applications, seriously? You didn't
even interview any of them? They don't know semantic HTML5 tags but they can
wrap their head around the React ecosystem? I'm calling BS. Also what the hell
is the rest of the article even about? Is he trying to teach these apparently
clueless developers what they should know? Unclear. What does inequality have
to do with his point? Geez.

------
raverbashing
"Candidates don't know the details I like most as much as I do so I reject
them"

That's like you alienate people

------
jplur
Took me a minute to get that this is a mailing list newsletter with a random
selection of interesting links from the past week, not a blog post listing
things front end developers should know.

------
lutusp
A quote: "We have an ongoing problem with growing inequality around the world
and a few super rich people (latest numbers say it’s down to 65) have as much
money as the rest of the world now. If we don’t change anything and do not
oblige people to pay their taxes in their own countries or reject trickle-down
economics as the World Bank officially declared just recently, this system
will break and our own lives are likely to be affected by this."

This is so ironic. This working developer, not born with a silver spoon in his
mouth, rightly suggests that there's too much economic inequality, too great a
gap between the wealthiest and poorest people. Many influential people have
expressed the same sentiment -- as just one example, in a NY Times op-ed
piece, billionaire Warren Buffett said, "My friends and I have been coddled
long enough by a billionaire-friendly Congress. It’s time for our government
to get serious about shared sacrifice."

[http://www.nytimes.com/2011/08/15/opinion/stop-coddling-
the-...](http://www.nytimes.com/2011/08/15/opinion/stop-coddling-the-super-
rich.html?_r=0)

Some inequality is inevitable, indeed it can be argued that some economic
inequality inspires people to try harder to raise themselves up. But when the
middle class disappears, when those below the glass ceiling realize they're
permanently trapped, this can be dangerous for all of us.

The irony is that the very poor and the very rich both see the problem, the
danger, caused by extreme inequality, but congress refuses to see it.

------
edimaudo
Provide an example you saw.

~~~
FilterSweep
I agree with this. I don't believe 80 would fail if he reconsidered his
metrics.

To pinpoint one of his major gripes - I've moved further "back" down the stack
since, but when I was doing strictly front-end I had to make a fully
accessible page for _some_ clients, but not others. If anything this post gets
me aware that portfolio content is also judged for accessibility, so it
provided me that benefit should I take on front-end projects in the future.
Some may call it lazy, but I tend to focus on "bigger picture" accessibility
issues such as contrast and font scaling.

Also with clearfix - many times its actually _abused_ and painted on every
element including ones that don't need to clear its children. It's also not
the only way to solve the problem - soon display: flow-root will be adopted
across browsers.

------
acbabis
While I agree that the writer's interviewing (or lack thereof) focused too
much specifics, I still have to agree with the conclusion in the title (Good
HTML/CSS/A11y skills are hard to find). The majority of candidates I interview
struggle to explain the difference between `.a.b` and `.a .b`. Kind of hard to
write maintainable CSS without that knowledge.

~~~
collyw
Where can a back end dev learn that stuff? Any good tutorials, as that is the
sort of thing that always confuses me when I need to do some front end.

~~~
acbabis
I highly recommend this article:
[http://code.tutsplus.com/tutorials/the-30-css-selectors-
you-...](http://code.tutsplus.com/tutorials/the-30-css-selectors-you-must-
memorize--net-16048)

~~~
collyw
Perfect, I haven't seen any good tutorials on this stuff until now. Thanks.

------
sosuke
How did the article make the jump from the author being unable to find their
perfect candidate to the rejection of trickle down economic and asking for
donations?

I'd say you're looking for a very specific skill set and you'd have better
luck teaching a capable candidate how you want your toast buttered than
expecting one to walk in with your ideal breakfast.

------
bluejekyll
Not a direct response to this, but I don't work with CSS enough (backend stuff
mostly) to always get things right.

I love this site as a crutch for most of these kind of specific things:
[http://learnlayout.com/](http://learnlayout.com/)

It finally got me to understand where I was screwing up my understanding of
things.

------
ForHackernews
What the heck is "A11y"? I've never heard of that.

~~~
bmj
"Accessibility"

Kinda like i18n for "internationalization."

~~~
_asdf_asdf
...or globalization = g11n

~~~
MAGZine
Knowing i11n and i18n, I'm fairly sure I could've figured out g11n, since they
all share a similiar context.

------
iends
You're probably not paying enough.

------
pekk
Is there a reason it is not possible to train new employees in these very
specific things you want?

------
daiwei
I've used `nav` or `section` for a long time, never found of the difference
from `div`. Screen readers? Maybe for `nav`, what about `section` and other
1000 tags with subtle different semantics?

~~~
bluejekyll
this is all about default CSS values associated with the tag, you can override
them as you like which is probably what your relying on.

~~~
estefan
But obviously when you use your reset.css that all goes out the window
anyway... I thought it was some semantic thing for screen readers.

~~~
FilterSweep
Correct me if I'm wrong but I believe there are aria attributes (e.g.:
role="navigation") that can also be used as well for this same purpose. Nav is
probably safer, but agreed on the CSS reset.

------
no_wave
Do you think any of those things are difficult to learn? You certainly don't
seem to think so. It's like you're looking for reasons to throw up your hands
and not hire anyone.

~~~
smrtinsert
I'm not sure why you are downvoted for being so clear about why the test is
insufficient.

------
ultim8k
Front-end development is broken. Just consider how shitty html and css (and
their browser support) is. Also just think about all these favicons, aria,
microformats, sitemaps, sass, frameworks, cdn, you-name-it and the 10k
different screen sizes.

Most of the times you get a bloody design and you have to fit it in all
screens, even in a bloody watch (2 years ago I was asked to support the
symbian browser!). You get asked to make the features and functionality to
work everywhere. And also you have to deliver that yesterday.

------
z3t4
HTML takes like five minutes to learn. CSS is a lot harder, but give someone a
few hours and they will also master CSS, or at least be able to Google what
they are looking for.

JavaScript is a beast though. But if you use only the good parts and stay away
from the quirks, someone should be able to code JavaScript within a few days.

What you should look for instead: Do they like learning new stuff? Are they
humble and prestige-less? Are they intelligent and can think in abstract?

------
danso
Reminds me of a fullstack bootcamp graduate I once worked with. I asked him to
make a javascript interactive map (literally, copying an example from bl.ocks,
but change the data file) just as a test...and after a whole day, he couldn't
get it to work. But when he instantiated an entire Rails project and copy-
paste the HTML inside of it as its own page, he was able to get it to work.

~~~
elliotec
Sounds like there was no problem with him at all.

------
y-c-o-m-b
I would bet good money you're part of the problem. Most devs I know maintain
other people's applications and don't get the opportunity to create new HTML
or CSS often. It doesn't take long to get up to speed, especially with all the
great online resources available. As long as the person understands the
concept, give them a chance!

------
darylfritz
> I only had the chance to review their personal websites or github profiles

> Many are not able [..] to explain why and how a clearfix works, or what ARIA
> roles are for

I don't understand what the author expected to learn by browsing someone's
hobby projects/personal homepages, without seemingly engaging in a discussion
with the person who wrote the code.

------
ivanhoe
Solution is very simple, hire one HTML/CSS/Accessibility expert and one
js/angular/react dev...

------
fouadf
With so many frameworks that do almost everything out of the box, and
stackoverflow, why would you even care?

~~~
jevgeni
What's the value of a developer then, if his/hers only job is to cobble
together frameworks and snippets?

~~~
dsp1234
The value of a developer is managing complexity and solving business needs. If
that can be done with a framework and stackoverflow, then what's the problem?
The one off occasion where something doesn't go right? That's why you have the
one "goes deep" person on the team that you throw that issue to.

------
Hambonetasty
Demanding candidates understand the specifics of HTML/CSS use in your
particular business context does not afford you the podium you've given
yourself to castigate all the new developers starting/learning the vast world
of web architecture. Have some sympathy, buddy.

------
erod86
HR and recruitment techniques are outdated.

You reap what you sow...

------
asfarley
d-d-d-d-d-douuuuuchebag

------
LukeB_UK
You've extrapolated from incomplete and inaccurate data.

------
jqm
Sounds like 80 people dodged a bullet....

