The latest poll around here kicked off asking how you prefer spell this job we all do around here: frontend? front end? Front-End?
I asked because 1) I didn’t know if there was a “right” answer 2) Even if there is a right answer, it doesn’t seem adhered to.
Right now on the job board: FrontEnd (1), Frontend (2), Front End (6), Front-end (1). I see variations of it all over the place all the time.
So the poll let’s us figure out what people like. Maybe a little language cowpathing. In the conversation that happened around the poll though, it seems like there really is a right answer and that’s probably good to cover first.
The right answer seems to be…
Summarized well by Philip Walton:
The term “front-end” is correct when used as a compound adjective, and the term “front end” is correct when used as a noun.
Here’s some example sentences then:
Tom Harley also wrote in with a helpful explanation:
When nouns are grouped together to behave like an adjective, they use no hyphens if they are at the terminus of a sentence. They only use hyphens when they are prepositional to the noun they’re affecting. For example:
“That movie is three hours long.”
“That is a three-hour-long movie.”“That guy designs for the front end.”
“That guy is a front-end designer.”
That seems correct. I’m sure it is. I don’t know how to verify it exactly. Seems like the bible for that kind of thing is the AP Stylebook, but you have pay to even see that, which kinda makes me not even care what it says. And it might not say anything at all, since this seems more like a rule than a specific case.
The poll results
The results of the poll, with over 56K votes, are widely split:

I had extra options in there for capitalization differences too, as I was thinking that since it’s kind of the name of a thing and sometimes used as a title, maybe it’s supposed to be always capitalized? That doesn’t seem to be the case though. So normalizing by that…
“frontend” = 22%
“front end” = 22%
“front-end” = 56%
That’s good, because I bet the most common use is the compound adjective format (“I am a front-end developer.”)
Still a good amount of votes for “frontend”, but I think we might have to throw in the towel on that one and admit it’s not a word.
Less is more. “frontend” because we all know what it says, and nobody else cares.
I care
I also do care.
Using ‘front-end’ is incorrect here. It should be “I am a front end developer”, using the noun ‘front end’.
Consider “I am an application developer”, where ‘application’ is a noun aswell.
Niels, you have it backwards. In the example you gave, application is being used as an adjective to describe what kind of developer you are.
To use at as a noun, you could say “I develop applications”.
Don’t care
Garner’s Modern American Usage and I believe (but don’t have it in front of me) the Chicago Manual of Style discuss these compound/phrasal adjectives in detail and the explanation given by Tom Harley is correct.
Web Design/Development is our industry. A lot of industries make up works all the time. Why can’t we just make “frontend” the definition of the viewable side of a website? There;s no law that says you can’t make up new words.
The battle over semantics rages on and those who don’t work in the tech field have no idea who does what anyone. I think we need to work on a better name for what we do. Something that’s more descriptive and/or user-friendly. Look at that hyphen.
Personal preference is sort of irrelevant in this case, so I’m glad you covered the correct answer.
I’d just be happy if people would learn “They’re” “Their” “There,” “me” & “I,” and “paid” and “payed.”
What are your thoughts on using “Client side” instead to avoid the innuendo an old non-technical roommate had regarding “front-end” vs “back-end”?
I’m missing the camel case option: frontEnd.
If nothing else, it does pass ESlint :)
As for me, “frontend” is like “email”. Nobody writes “e-mail” anymore
Our team tends to be all over the map on this one. I tend to use two “Front End” when referring specifically to our front end application, and alternately use “front-end” or “frontend” when I need the adjectival form. More often than not, though, we use “F/E” or even “FE” in our inter-team communications.
UIE (“User Interface Engineer”) is another term.
I love the English language. In a recent “radio” phone-in talk show survey, men were asked how frequently they have sex: (a) tri-weekly, (b) try weekly, (c) try weakly. Of course the results, via phone-in, were unanimous :)
English isn’t a static language, so don’t throw in the towel; stay in the ring! Compound words such as “front-end” often follow a progression: two words, then one word hyphenated, and finally one word concatenated. “Website”, “online”, and “email” are examples that weren’t always accepted as concatenated.
So hyphenated and two words seem to be accepted now, but if this poll were to be repeated in 5 years, I wouldn’t be surprised if the results favored one word concatenated. You have to keep up with current standards in any case!
Compound words typically go through a process of evolution. Before the Web, there were “sites”. When the Web cam along, there was a kind of site called a “web site”. (Often this would compete, at some point, with the hyphenated version “web-site”—though I’m not sure if that ever happened for this word.) Eventually, something becomes a uniquely recognized entity, and thus ends up as “website”.
Most things have a front end and a back end. The Web’s “front end” is becoming a recognizably unique entity, and no doubt will eventually become “frontend”. In the meantime, the answer suggested at the start of the post is the best way to deal with the issue.
Why not do the usual?
Have one spelling for American English and have another for (Queens/British/United Kingdom/English) English?
That should solve the problem (it still bugs me having to use color in CSS and not colour).
You don’t like the original spelling, then? :p
I still wish there was an option for Front End
Oh, I coulda swore there wasn’t an option for that original. Disregard.
I didn’t know that “front end” is used as noun and “front-end” as compound adjective. This fact is latest in front end development and front-end got the maximum votes. So from now we should use “front-end” instead of “front end”?
Doesn’t the capitalization normalization make the poll kinda unusable when you have three alternatives of two names and only one alternative for the concatinated version? Not even the alternative with capital first letter for that one… just a thought.