An interesting read. Of course just an personal opinion as the author said, but I think he is correct in lots of his points.
I noticed that I think / feel like this myself sometimes, even while I’m a frontend dev myself.
Fortunately I’m in a nice team that values my frontend skills that all the other full stack/ Backend devs are missing.
Did you notice this bias / devaluing of the frontend work yourself?
I think most of the arguments here are kinda ridiculous and poorly thought out. A lot of them also sound pretty imaginary and made-up. For example:
To assert that frontend languages are not programming languages is to assert that what one is doing when writing them is not programming, but something else. Something different.
Something—perhaps not explicitly spoken, but undeniably implied—lesser.
Basically, he’s arguing that everyone who thinks HTML/CSS isn’t a programming language is wrong, and then the only reason they feel this way is because of a prejudice against front-end developers. I think this is really just a wild leap in logical reasoning, personally.
(No mention of Javascript/Typescript here by the way.)
If you wanted to find the dev specialization with the most people who aren’t cishet white males, you’d pick frontend.
Do we honestly believe the language around frontend is different purely by mere coincidence?
… yes? His argument that HTML/CSS should be considered programming languages is honestly quite weak. Couldn’t that be the reason instead?
Certain pursuits are validated with importance, dignity, and honor.
Doctors; lawyers; architects; CEOs; software engineers.
… we relegate others to the role of the sidekick - even though their labor is no less important, and they do at least as much to push the work toward success.
Nurses; paralegals; interior designers; executive assistants; frontend developers.
Who the hell is making these groupings?? Front-end developers compared to nurses? Software engineers to doctors? And software engineers being held in the same light as CEOs… wtf???
(Surely it’s a coincidence the first group tends to be more male than the second.)
Once again, he’s attributing his feelings with prejudice when really, I think his arguments are just very poorly thought out.
Other forms of development are generally considered serious work. They’re important. They’re real computer science. (Computer science itself being a higher level of things we’ve decided are real, serious, and important—maybe not quite as much as medicine or law, but then again, maybe so in some circles.)
Again, I don’t see anyone arguing or claiming this. I’m sure the author would argue that just because we don’t say it aloud, but it’s just implied, but I honestly just think no one says it because it’s just silly.
Writing CSS seems to be regarded much like taking notes in a meeting, complete with the implicit sexism and devaluation of the note taker’s importance in the room.
Though critical to the project, frontend work will quite often be disregarded by those who consider it beneath them (usually men, and usually only tacitly, never explicitly). It’s not serious enough; not important enough; not real enough. Too squishy. Like soft skills.
Once again, just unfounded accusations of bias. “You didn’t say it, but I’m telling you that you said it anyway.”
Their [software engineers’] output is easily measurable. A new API feature; a more efficient database; crises averted and crashes prevented. They go on charts and get presented to board members.
Board members couldn’t give less of a shit regarding what software engineers do. We’re considered a cost that they’d love to get rid of as much as any other position. Look at all the AI hysteria going on right now, like Nvidia’s CEO telling people not to go into software because it won’t exist anymore. Again, I have no clue where this guy is getting his ideas from.
If our job title does include the word “engineer,” it will almost certainly specify what we’re engineering. It’ll be UI engineer, or frontend engineer, or maybe the newer (and arguably more fitting) design engineer.
But it’s probably not “software developer” or “software engineer” without any other qualification. Because that, tacitly, is not what we do.
Completely disagree. Front-end development is a subset of software engineering. He even admits this as much:
Sure, this is nuance of language and these titles serve to disambiguate. I get that.
but then he goes on to dismiss that by saying “that’s not really it though, it’s really because we’re not considered real engineers”:
by definition, somehow what we do isn’t seen as software engineering. It’s different than that. It’s softer than that.
By what definition exactly? He just explained the reason for the difference in terms above, but then goes on to say that’s not really it - the real reason for everything bad is (what he perceives as) negative bias.
There’s a couple interesting ideas in here. He makes a good point that layoffs on the front-end are more likely to hit underrepresented classes, though there’s not much that can be done about that. Layoffs are happening everywhere, and DEI is probably not what’s on CEOs’ minds when they make those decisions. And sure, there are unrealistic expectations at times, but that happens everywhere, not just in the software industry, but in pretty much any labor scenario.
But overall, I think this guy has major issues with his self-perception. Pretty much all of his arguments are predicated on very poorly thought-out or straight up imaginary ideas. And blaming everything that’s wrong with his perception of front-end development on the white male hierarchy is just… I can barely even find words for it… nonplussing? I think he figured it out by the end of the article:
Maybe I’m feeling sorry for myself. Maybe I’m just a little depressed right now. Maybe I have an inferiority complex and I’m projecting it on everyone else.
I’m pretty sure it’s all of those.
I wish this guy the best. Shit is hard right now. But I’d be a fool to say that I agreed with more than 10% of what he’s trying to argue.
I wholeheartedly agree: the article is just plain stupid.
What I find more amusing is that front-end work ends up being the most critical work in any user-facing application. Apps can still lumber around if big chunks of backing services are down, but if a page is rendered poorly or a button is showing up weird, or if text is missing in a place everyone looks at, that’s automatically a SEV1 right there.
Unbelievable.
I’m self teaching myself to become a true Fullstack Dev, mainly using JS/TS, but also semantic HTML and Vanilla CSS, but have more than a passing knowledge of Bash, and have scripted web scrapers in Python. I also want to become proficient in C, Golang and Rust over the long haul. Lastly, I am studying, and plan to upkeep my skills in Data Structures and Algorithms, as well as Optimizing SQL queries.
That said, I have a degree in Illustration and can definitely identify with many of the sentiments this article expresses and agree with pretty much all the points he makes. You can make the most well designed back end API or optimized Database in the world, but what it returns won’t mean shit to the user if its frontend isn’t accessible, easily understandable as to how to interact with, readable, and also beautiful.
People toss that last one out as a want, not a need, but how often have you chosen a client app over another because you just preferred the way that one looked?
Ultimately aesthetic artistic beauty is one of those things we not only live for, but survive because of. Without it we become depressed, bored, and aggravated. It’s as important as food, as water, as air. We may not die as quickly when deprived of beauty, but we do die all the same without it.
In short, creating beauty is serious work.
I expected this to be about consequences of enshittification, where interfaces and design have been run the fuck over by a constant mindless demand to feed Engagemagog. Hard to justify elegant design or retain worthwhile front-end developers when you’re just telling them to shovel popups and flyovers into victims’ eyeballs.
Instead it’s a CSS guy blithely complaining about CSS’s reputation.
I notice CSS is widely considered some or all of the following: unmaintainable; subjective; messy; unruly; unpredictable; a footgun; overly complicated; unscalable; and a nightmare.
Well yes, but have you seen how people describe Javascript?
But despite all these claims, CSS is also somehow “not a real programming language.”
It literally isn’t. “Same with HTML.” Markup is not programming, even if it is code. If it’s Turing-complete then that’s probably a bug. If you want to get clever with a twee definition based on how a programme is just an agenda for the machine, we have a word for that kind of not-an-excutable table-of-contents coding: it’s called markup.
It’s like CSS exists in some bizarre quantum state; somehow both too complex to use, yet too simple to take seriously, all at once.
Being a pain in the ass is not a contradiction.
(Really; you’d probably be astounded how many ways there are to utterly destroy anything on the web with hardly any CSS.)
… why would people be surprised by that, given CSS’s reputation? Everyone’s dorked with F12 and gone ‘now why’s it done that?’ thanks to instant visual feedback. Hence the reputation.
We might not ever say it, or even think it, but when we cast some people as heroes, we relegate others to the role of the sidekick—even though their labor is no less important, and they do at least as much to push the work toward success.
Your job is literally optional. Sites without CSS are not pretty, but pretty is a want, not a need. The people who make the content of the website are usually capable of half-assing a modicum of presentation… writers moreso than programmers, because engineer art is very not good. We’ll figure out that spinner while the video loads, but it’ll be purple and orange. If we didn’t, though - the video still loads. The blog is still in English. The shopping cart still appears, even if the table is 4000px wide with ridge borders straight out of Netscape.
The idea that other engineers are smart—even smarter than we are—is the kind of stereotype that feels so common and true it’s rarely even questioned.
Now - essentialism is even worse than the author makes out here. Judging a person based on the relative importance of their work is close to bigotry. You don’t have to be smart to do Javascript instead of CSS. (Arguably that choice says the opposite.) But we are still comparing the part of the site that does all the stuff, and making that part look nice.
“Here; other people already made this.” (i.e., they already did the real work.) “Now we just need you to fix it up.”
I wish technical debt only happened to markup people.
I’m a scientist, and “Not a real programming language” gives me big vibes of arguing that a thing is a science (usually economics) because they’re using “is a science” as a proxy when they actually mean to say that their field is important and valuable.
I’ve dabbled enough with CSS that I know how much I don’t know, and I don’t think respect for a skillset is (or should be) measured by whether a thing is a “real programming language”
I’m a scientist, and “Not a real programming language” gives me big vibes of arguing that a thing is a science
CSS is not a programming language. Neither is HTML.
This, however does not take away from its importance or the skillsets and expertise required to use it effectively.
What a weird belief: thinking the value they bring to a project is tied to whether they use programming languages or not. The majority of people working with programming languages are already bad at it. Why is it being used as a badge of honor?
Is this a “living in glass houses” scenario?
You cannot write a program in CSS. It is not a programming language.
Look:
Computer science precisely classifies things that are almost computers.
There’s a hierarchy that has nothing to do with clout. It’s a genuine field of study. It’s even one of the freaky ones where the landmark name isn’t a computer scientist, but Noam yes-that-one Chomsky. The linguist.
We say a type of machine recognizes a language. Famously, “you can’t parse HTML with regexes,” because regular expressions are a specific grammar that does not allow self-reference. Added regex features like lookahead only extend it into context-sensitive grammar.
I’m pretty sure HTML is even less than that. This comment sent me sixteen Wikipedia tabs deep to double-check, and I started drinking around number eight. But I feel confident saying you also could not parse a regex, with HTML. Even the delightful wackaloons who get Powerpower to act Turing-complete could only half-ass it out of HTML by including CSS and a human hitting tab-space-tab-space.
It’s not a value judgement, when we say CSS and HTML are not programming languages. And we’re not just being pedantic toward you. Again: have you seen what we say about Javascript? This is how we are.
To be clear, I’m in agreement with you that CSS and HTML are not programming languages and also that saying that isn’t a value judgement.
I had to stop reading at
CSS is a programming language because that’s what you’re doing when you write it; you’re programming the application’s presentation logic.
It’s as if he wants to get into a philosophical debate about what programming languages are.
Frontend is hard and it’s made unnecessarily hard by HTML,CSS, and Javascript. I swore off of frontend due to the evergrowing, unnecessary complications.
What I’m looking forward to is web apps written in a single programming language with no javascript knowledge necessary at all. There are rust frameworks that generate the JS boilerplat to load WASM. Some use the DOM to make their UIs, some insert a canvas and use WebGL, some generate HTML in the backend and replace parts of the live frontend with that, but my favorite is when there’s no HTML, CSS or JS in sight.
As for the devaluation of frontend, I always found it weird that frontend devs were paid less than backend devs. I respect frontend devs for being able to do what I can’t. We’re in this together. Pay us all a good wage. We’re workers and have to stick together.
The thumbnail for this looks like my sleep paralysis demon
I thought it was https://upload.wikimedia.org/wikipedia/en/c/c3/Nothingremastered.jpg at first
I feel for this guy. It’s not just frontend though, I’ve seen it with backend, DBAs, etc. It really is just a reflection of what the business considers valuable.
It’s true it happens for other areas too. But I think it might be true that frontend is often viewed as “the easy” part by other devs. Especially older backend devs seem to think it’s all super easy. At least in my experience.
And that businesses try to push for all devs be full stack doesn’t help.
I’m a “full stack” backend dev - I mainly do backend work, but make minor changes to the frontend, like adding a button to a page that already has 3 other buttons.
I’ve got a couple of friends who didn’t want to do even the occasional front end work and moved to devops. They’d rather deal with k8s and monthly on-call rotations than deal with frontend.
I don’t know who gave you the impression that all backend devs think of front end as “easy”, but it’s definitely not the case, at least in my friend group of n=4. We treat frontend as insane arcane magic and we don’t want anything to do with frontend because we find literally everything else easier.
It’s definitely not all. My current team definitely has respect for all that special tooling / ux stuff I’m doing. Especially since nobody was able to do it before I was hired.
But I also had the experience that older Backend devs don’t take it seriously. My guess would that those stoped learning about frontend tech in the late 90s and it’s a case of not knowing what you don’t know.
Backend: There is a problem.
@ChatGPT: Can you turn the above sentence into 2 full paragraphs?
Frontend:
There’s a trend I’ve noticed—or at least, I think I’ve noticed. It’s the kind of thing that’s hard to be sure of; the kind that might genuinely be true, or might simply appear to be true if you look at it a certain way. I can’t tell if I’m right, or if the shapes I’m envisioning in arbitrary ink blots say more about me than they do about what I’m observing. Maybe it’s both. Maybe it’s all subjective gray area and I’m just picking a spot to draw a line. I guess you can decide for yourself.
I feel like I’m seeing a widespread diminishment of the practice of frontend. Nearly everywhere I look, I notice its importance minimized, and its challenges trivialized. This effect might be invisible to you right now. And thus, you might be reflexively inclined to say it doesn’t exist. Maybe you’re right. Maybe it doesn’t. Maybe I just need to step away from my little screens in my little basement office a little more often. Or, maybe it’s just like any other implicit bias; maybe it seems like it doesn’t exist because it feels so ordinary until you know what to look for. So: let’s talk about what I see. Maybe you’ll see it, too.
What convoluted nonsense am I even reading here
I’m going to be honest. I like this thread. Not only is the article long and “thorough” (whether you agree with this form of thoroughness or not) but the responses are too.
I can appreciate what the author is trying to express. I also related to how he’s trying to express it because it’s very similar to how I try to explain my opinions, shower thoughts, meanderings…which typically earns me eyes glazing over from my conversation partners haha.
I have many many thoughts on everything being discussed here, but rather than contribute, I’m going to sip on my coffee and keep reading.
P.s. I’m liking PD better than Reddit. Actual conversation happening.
deleted by creator
I only see a dude sulking because no-one will accept his attempt to redefine CSS and HTML as programming languages.