
HTML, CSS and our vanishing industry entry points - antibland
https://rachelandrew.co.uk/archives/2019/01/30/html-css-and-our-vanishing-industry-entry-points/
======
munificent
I remember reading articles like this years ago.

... Except that they were lamenting the rise of GUI operating systems and how
those eliminated the easy on-ramps that command line OSes had where you could
write a simple BASIC program that felt like something real.

It is important to be thoughtful about how people can easily get into
computing. But it's also important to _not_ idolize or idealize the particular
on-ramp you took X years ago. Those ramps are going to die and get replaced by
new ones. It's part of technological progress. As long as new paths come along
— and they always seem to — it's gonna be fine.

Frankly, raw HTML and CSS is already a dying path. If you get someone to build
a simple web page from scratch, it _won 't_ feel like a "real thing" to them.
Because, today, "real" now means it has social sharing, interactivity, and a
certain level of visual polish your web page will lack.

A WordPress install is a better path because it looks nice. And then they can
start tweaking the template and the next thing you know they are learning a
little HTML and CSS, but in the context of something that already feels real.

Forcing them to start with an empty notepad document is like getting someone
interested in cooking by making them grow wheat.

~~~
wwweston
> Frankly, raw HTML and CSS is already a dying path. If you get someone to
> build a simple web page from scratch, it won't feel like a "real thing" to
> them. Because, today, "real" now means it has social sharing, interactivity,
> and a certain level of visual polish your web page will lack.

Social sharing, interactivity, and reasonable-to-high levels of visual polish
were all frequent features presented with raw HTML/CSS a decade ago. If you
have a decent designer available to you, some of them can hand you a quality
original screen design in an day or less in a PSD/Illustrator/whatever file,
and it's possible for most cases to convert it to HTML/CSS from scratch in
about the same time (at least, it was for me by the time I'd done a hundred or
two of them). Responsive may add time depending on the layout conception. All
of this can work pretty much the same today.

If you don't have a good designer and/or design isn't going to distinguish you
(or you want the benefits from fitting into widely-present framework styles),
a template or framework can make a lot of sense. But that's a different
proposition from saying HTML/CSS is a dying path.

Interactivity & Sharing: up to a certain point, interactivity via progressive
enhancement costs no more time/effort than application-centric approaches
unless you're truly building an application over a hypertext document with
some added features. Possibly less. Social sharing is usually a matter of
dropping the right widget into a page.

> Forcing them to start with an empty notepad document is like getting someone
> interested in cooking by making them grow wheat.

It's more like having people start with buying/using their own staples instead
of a meal kits or deli meals. The latter can be delicious and convenient, but
it doesn't mean the staples aren't a viable path.

~~~
gdfasfklshg4
Working with a good designer that knows HTML+CSS is amazing. It is lovely to
get delivered working responsive HTML documents to convert into the web site
or web app compared to getting delivered photoshop/illustrator files. Apart
from anything else a designer that knows HTML+CSS produces designs that
actually work on the web. Designers that only know photoshop/illustrator
invariably produce unworkable designs.

~~~
stefanfisk
hell, I'd be happy if the designers I work with used XD instead of PS or AI so
that they at least had a change of reasoning about their "responsive" layouts.

Being handed a PSD for "desktop" and a PSD for "mobile" one time is one time
too many. Especially when they put fixed height elements for dynamic content
everywhere and get surprised once the dynamic content starts doing its dynamic
things

~~~
collinmanderson
I sometimes just use vw units everywhere if i get a design like that.

~~~
stefanfisk
I do that at times when the designer won’t listen, but my professional pride
hurts each time

------
egypturnash
I am still using the WordPress installation I set up around 2011/12\. Complete
with custom styles that are messy balls of entwined PHP and HTML crudely
hacked on top of existing styles.

It does what I need it to: sits there quietly and builds the HTML for my blog
entries and my slowly-growing art gallery and my ongoing comics projects. It
is not sexy. It does not check any boxes that will get me a job at a startup.
It just sits there and does what I need it to do; I dive into html/php/css
about once every year, at best, to do a quick hack to properly display my
latest art project, or to improve and polish that quick hack to really nicely
present my work.

I doubt I could get a job at a Silicon Valley unicorn with these skills. But
that's fine. I get other work with the skills that my basic web design skills
help me show off.

I look at the never-ending cycle of Hot Frameworks and the thought of trying
to get on that train makes me feel immensely tired. That's two full-time jobs
right there just to be able to check the box on an application asking for six
years experience with a hot new framework that came out two years ago.

All these frameworks, all these technologies, all these lengthy toolchains, I
don't need any of these to do what the Web was invented for: put some text and
images online where people can see it.

~~~
abraae
Its funny, I'm just setting up Docusign right now, and it bears many of the
signs of SPA-done-poorly, even in the most basic, constantly used parts of the
UI.

For example:

1) Sign in and open the page showing templates, and my existing template is
not displayed - just a whirring hourglass while some Ajax struggles behind the
scenes. Clicking to deleted templates, then back again, fixes it.

2) Click to use the template, and I see no indication that anything is
happening - then some seconds later a new page appears.

3) Even when opening a support page, the page doesn't render immediately, like
a normal web page. Instead the outside of the page loads, then I need to wait
while some Ajax chicanery needs to now load the content itself.

There are obviously plenty of people who can build SPAs well, but there are
also plenty of people who have SPA fever, and don't ask themselves the basics
first - like why don't I just make this a plain old web page?

~~~
maslam
Hey there, I am a product manager at DocuSign. Sorry about your experience. I
would love to dig into this - can you drop me a note at bilal dot aslam at
docusign.com? Thank you!

~~~
abraae
Sure thing, will do.

~~~
ollerac
Remember to turn off your Adblock ;)

------
rchaud
While I agree that teaching HTML and CSS well before jumping into frameworks
is the right way to go, I can't blame students who're looking for what will
most likely get them hired tomorrow.

If you are of working age, learning this shit is not fun, because you won't
have time to build cool hobbyist mini-sites "just for me and my friends". It
is a seemingly never-ending race just to keep up with the state of the art,
let alone needing to know "just enough" about version control, hosting,
redirects, SSL and resisting the temptation of "shiny new tech" that looks
great but won't put food on the table today.

With all that said, it's ridiculous to even have to know HTML or CSS, or even
a WYSIWIG CMS at all to put up text, audio and pictures on a 2D plane. How is
it that web browsers are able to grab my location, turn on my webcam, etc and
yet not offer a way for me to create a web page right there in the console?

~~~
pmlnr
> it is a seemingly never-ending race just to keep up with the state of the
> art

It is, there is noting seemingly about it. And it's the whole industry, from
sysadmin level, through ML to front end dev. You sit down for 2 years, boom,
you're so outdated, it hurts.

A regularly I wish I was a carpenter, where you learn something and it may
stay valid for a long while. (EDIT: I admire carpenters, before someone thinks
otherwise.)

~~~
fsloth
“And it's the whole industry, from sysadmin level, through ML to front end
dev. You sit down for 2 years, boom, you're so outdated, it hurts.” Whole
industry is bit of an exaggeration. I’m implementing features to a decades old
product and a new tech stack that grows on it’s side. QR decomposition and a
bit of linear algebra never go out of style.

The hype cycle is just a gimmick. You don’t need the latest hotness for it’s
own sake. Business users pay for solid products that deliver added value even
though they are not utilizing the latest buzzword.

~~~
BigJono
Yeah, that's true, but as a peon you're not at the mercy of the business
users. Your career tech choices are mostly determined by the horde of
technical managers who spend 8 hours a day brushing up on the latest tech and
fuck all of it actually coding anything other than a project boilerplate.
Whatever they decide they want to use is what 80% of the industry is going to
be hiring for. If you're good you can just avoid all that and stick to the
other 20%, but that's probably not a great strategy for someone with less
experience.

That's why I always scoff when some shit new feature gets added to a language
or library and the response is always "well you can still use the old stuff".
Yeah, maybe if you have your own solo venture, but everyone else has to suffer
through it. Even being the lead on a project doesn't spare you from it. If all
your devs want to use something new it's probably never a good idea to veto
it, unless it's batshit insane.

~~~
learc83
> 80% of the industry is going to be hiring for

80% of the industry is hiring programmers to work on some boring line of
business app using Java or whatever language they've been using for the last
10 years.

~~~
CM30
Agreed. It's hard to believe given how much press all the trendy companies and
startups get, but an awful lot of the web development world is nowhere near as
flashy and modern as people online like to think it is.

Makes me want to write an article which basically compares and contrasts:

A: What the technical press, Reddit, Hacker News, etc thinks software
development and web development is like

versus

B: What it's like for developers outside of the internet trend bubble

~~~
pjmlp
To given an example of B, porting a VB.NET application that converts CSV files
for their data measurments, done by someone with some VB knowledge thanks to
their VBA macros, into C# due to single language policy for internal
applications.

Migrating an aging custom Web site into a CMS platform like Liferay.

------
saagarjha
The author seems to be resigned to the fact that HTML/CSS are skills that you
should use as an introductory tool, and that just this is not enough to be
"employable". I maintain that this is not true: many websites would do just
fine with just those two (as in, they don't need JavaScript at all!), and I'm
sure a very large fraction could get by with some small amount of hand-written
frontend code hooked up to a database.

~~~
dugluak
The developer must understand when it's time to use a framework. A small
website with few pages doesn't need a frontend framework. But if you have to
deal with a large/complex application using a web framework is not a bad idea
as they offer a lot of reusable components, you don't need to "reinvent
wheels" using HTML & CSS.

~~~
pmlnr
> developer must understand when it's time to use a framework.

The developer does. Do the project owner/manager/mid level personnel? That's a
better question.

~~~
yarrel
There's no moral panic about project managers though. Their decisions do not
affect the excesses of software development in any way, only those of software
developers do. ;-)

------
Existenceblinks
A couples factors lead to this point:

1) Bootcamps teachers. From what I've seen, they are mostly React/js
developers making living by things around that, books, courses. And most
frontend technologies that are popular because big corps.

2) Big corp and developer mindset. Big corps have money and it's a big factor
when developers pick up technology.

3) Javascript, the most low-barrier-to-entry and terrible at long term (They
like the term "modern" so much)

Therefore, javascript ecosystem spreads like virus to the point it's eating
HTML and CSS too. Imagine the virus was for improving HTML (things like
<details> <summary> <datalist> free autocomplete, are powerful, interactive
with zero cost) .. unfortunately no one cares anymore so they stay half-ass

Even myself now building a new app, I cannot bear "the platform" and pick
compile-to-js lang for highly interactive widgets.

~~~
ratling
Javascript gets begrudging respect from me because of node. I can see the
appeal, you can take existing JS developers from 'wherever' that have good
fundamentals and crosstrain to be able to do backend and frontend stuff. It's
also got a lot of good builtin bits that older languages don't have natively.
On top of this you could theoretically go full serverless with S3, API-
Gateway, Lambda.

I wouldn't choose to do that greenfield (python backend all the way,
webassemblywhen?) but that's usually not my call.

Really, whatever you use, I just care that you can hire for it (sorry Erlang)
and that it's not Java (because, as someone who works in Operations and
Security land, fuck Java and fuck Oracle).

~~~
Existenceblinks
What pisses me off is when people defend javascript with politics-heavy
statements like inclusion, gender or whatever and then most of rational people
just shut up. Backend tech or non-javascript tech is not gatekeepers. New
comers just enter the wrong gate led by wrong people (you know I don't really
mean people..)

About hiring, sure, I had to withdraw Elm implementation before I left a
project. It's responsibility for what's good for them in hiring new folks.
That's sad.

My probably-never-came-true dream was that just improve HTML honestly. 1) Make
controls style-able 2) Make more controls

I hate to look like a jerk, but I say it again, big corps are significantly
part of this problem. People just pick React and abandon everything.

------
yoz-y
I blame this on the “appification” of the web. Before we had documents and web
applications. The split was pretty clear at that time, one would approach
making a website as you would a PowerPoint presentation. Layout stuff, put
copy in... maybe make an animation using JS.

But nowadays it seems that even the simplest page needs to be some isomorphic
react application. I got into an argument with the company we hired to make
our website because they made a loading animation for switching between static
pages and of course broke the website without JS completely for no reason.
Apparently it was “working as designed”. It was not my responsibility so I let
it go but it still left me bitter.

I think that web developers are lucky that their “assembler” is understandable
and can be used as is. It would be sad to produce a generation of developers
that didn’t learn it.

------
justinph
One of the side effects of this problem I see is poor accessibility. So many
devs learn the latest hottest javascript framework as the way to make a
webpage. They end up making pages that are full of div + span soup, with
complicated javascript interactions. Careful use of proper HTML elements and
stylesheets go a long way that are often overlooked by bootcamp/CS degree
hotshots.

~~~
Theodores
Rachel Andrews is a great inspiration to me but the post here is kind of mid
conversation, normally she emphasises document structure and accessibility.

She also is an evangelist for CSS Grid and why that should be the layout
engine of choice instead of a framework.

I think a catering analogy is in order for those people that say that this
basic stuff is not important and you have to take the frameworks if you work
in a large team on these mythical mega projects. The analogy goes along the
lines of 'can you cook for yourself' yet it doesn't really apply if you want
to work in McDonalds. In a hotel kitchen that does 200 head wedding dinners
clearly you need to be able to use the catering supplies and not necessarily
know how to do actual cooking. I will work on the analogy, but there has to be
a better response to the comments provided by people engrossed in complex
build tools, frameworks and esoteric TLAs.

You are right though, and there is no reason why some vast modular behemoth of
a system cannot write the proper HTML tags, e.g. aside, section, nav, figure
not to mention main, header and footer with people knowing what they are doing
rather than using these elements because they might be better for SEO. There
is also a problem with the design process that does not put content first and
takes a visual mockup as the starting point with nothing on the mockup having
semantic value.

I regularly look at 'view source' to see how bad the sea of divs and class
tags gets. It all goes against Google's performance recommendations yet it
gets churned out by people that should know better. So long as you are with
the delusion of grandeur that your website is so much more enterprisey and
complex than these little things Rachel Andrews works on then you are going to
stick thinking that way - pay cheque depends on it.

I think that there needs to be more of a movement like what happened with
responsive design or flat design, a new thing that people understand even if
they have no practical skills. The tools are all there but it requires as much
unlearning as learning. Few in the industry have the circumstance to forget
everything and go to proper HTML with vanilla javascript and CSS that uses
grids and CSS variables. But it is a good entry point what we have now, coding
for evergreen browsers, with time saving arguments that are compelling.

When I do view source and I see a couple of HTML5 tags and a sea of divs I
think that the web page is by a team of people that actually do not know HTML.
They have their excuses but when you look at it there is no logic to it. I got
told off once for using an address tag around the copyright notice in a
footer, as if I was insane. I was told to replace it with a div.

------
chiefalchemist
> "These arguments about tools, frameworks and technologies happen throughout
> the stack. I have watched them go round and round during the 20 years I’ve
> been working on the front and backend of the web. The de facto standard
> technology has limitations, we hit up against problems, we want to solve the
> problems. So often, we decide to solve the problems by throwing everything
> away. The old stuff is terrible, invented when we knew no better! We can do
> a far better job now, with all of our knowledge. Let’s reinvent that wheel!"

Sure, that might be a problem but it's not The Problem. The Problem is
results. That is, despite all these reinventings products are still __: coming
in over budget, past deadlines, with too many bugs and most importantly end
users are as frustrated and dumbfounded as ever.

We keep chasing shiny new objects and ego-driven bragging rights (i.e., "...I
use Technology X...") and frankly no one on the outside has noticed., nor
cares. They're too busy scratching their heads wondering, "Why doesn't this
shit work the way it should?"

 __Agreed. The organization owning the product also contributes to these
things.

------
save_ferris
> many websites would do just fine with just those two (as in, they don't need
> JavaScript at all!), and I'm sure a very large fraction could get by with
> some small amount of hand-written frontend code hooked up to a database.

And that's where companies like Squarespace come in for their value prop:
we'll handle all of the back-end, asset hosting, etc. for you, give you a set
of pre-built templates to choose from and allow you to tweak some of the CSS.

Businesses are less interested in pure HTML and CSS skills because they can
get "good enough" for a few bucks a month and not hassle with a developer
that's charging market rate or get into the weeds themselves.

------
wccrawford
We didn't _need_ bootcamps when companies just wanted html and css. Now that
there are companies that want a lot more, we need bootcamps that teach that.

The bootcamps don't teach the things that you think you can teach someone in a
single day? Perhaps it's because those things are so easy they don't waste
their time on them. They expect the students to study that stuff on their own.

But in the end, none of that matters. "industry entry points" aren't
"vanishing". There are still tons of companies that need entry-level html,
css, and javascript. We love to talk about all the companies that want more,
and those companies _pay_ more, but the other companies haven't dried up.

~~~
acdha
> But in the end, none of that matters. "industry entry points" aren't
> "vanishing". There are still tons of companies that need entry-level html,
> css, and javascript.

Is this really true? It seems like those entry-level people are caught between
two trends: the low-level stuff is going SaaS and a growing percentage of the
rest is buying into the idea that you need to install 10k dependencies for a
brochure site.

~~~
macspoofing
>Is this really true

My answer is 'no'. I think it's hard to make a living as a html/css website
builder. You're competing with students, foreign freelancers, Web CMSes (like
Wordpress+themes), and Website builder services (like Squarespace) ... all of
which can, in one way or the other, undercut you.

>you need to install 10k dependencies for a brochure site.

You don't need 10k dependencies for a brochure site. Things like Wordpress or
Squarespace should be more than enough.

~~~
acdha
> You don't need 10k dependencies for a brochure site. Things like Wordpress
> or Squarespace should be more than enough.

I agree but say you want to create a simple site for something like a
restaurant. You read all of the advice saying to use create-react-app and now
you have 37,646 dependencies. That gives you a lot of tools but many of them
are there to reduce the downsides to having that much complexity in the first
place. It's certainly not a simple good-bad call but I do think it's right to
ask about barriers to entry and whether we're entirely comfortable with the
trade-offs.

~~~
macspoofing
I think I agree. You don't need to setup an entire modern javascript build-
chain in order to build a simple site, and if that's the advice that they
received, it was bad advice.

Having said that, 1) HTML/CSS even outside of any JS is complicated, and
website builders are probably a better approach, and 2) all those JS-based
frameworks are there for building web-applications, not web-sites and
therefore geared towards solving programming problems (like how to organize
and maintain thousands of lines of code).

------
jules
Modern HTML+CSS is way wayyy easier than in Internet Explorer 6 times. Back
then you had to understand the box model and float intricacies and CSS hacks
to make your page look acceptable in all browsers. A three column layout with
a header and footer required a PhD in CSS.

That, and tools like Webflow, make learning HTML and CSS easier than ever.

~~~
Brakenshire
That was reaction as well. CSS 20 years ago was an absolute horror, not just
the browser incompatibilities but the sheer difficulty to achieve apparently
trivial designs. You could only teach someone how to build a site in a day by
strictly leading them along a golden path, as soon as they wanted to take one
step off it on their own initiative they’d be met with an impenetrable mass of
contorsions and hacks. That difficulty is a big reason why the utopia of a
producer-led web never happened, looking back on it as a golden age, or an
exemplar of when the web was intuitive, is in my opinion bizarre. Building a
well designed simple, content-dominated website has never been easier.

------
jancsika
> We have already lost many of the entry points that we had. We don’t have the
> forums of parents teaching each other HTML and CSS, in order to make a
> family album. Those people now use Facebook, or perhaps run a blog on
> wordpress.com or SquareSpace with a standard template.

There's the fundamental assumption here that the entry point outhgt to sit
atop cruft that _publishes_ the user's content to the world. That may have
been meaningful during the utopian days of HTML/CSS on a pre-weaponized
internet. Today, it is a bizarre and counterproductive assumption.

Why isn't the entry point <Ctrl-shift-c> into devTools, for example? There you
can view, measure, test, and get feedback on anything in the window. Learn a
single command or even single url to make the content editable so that you can
type, "Hello world" to yourself. Paste an image from somewhere else on the
web. Style it, move it around.

Then when you're done, close the window and it goes away, like it should.
Because you don't actually know how to publish anything to the world yet. And
it's quite possible you don't _want or need_ to do that yet.

This provides a nice self-test because when you next open an about:blank
window you have to do everything again from memory to get your content to
display.

Who knows, maybe the entire forum will eventually get fed up that Firefox
doesn't yet allow you to set svg shape width/height/x/y/etc. through CSS. What
a pain, they'll say. And then they'll all threaten to switch to Chrome en
masse to force Firefox to implement the most sensible part of SVG2.

The forum may have other priorities in addition to that. :)

~~~
thisisweirdok
>Why isn't the entry point <Ctrl-shift-c> into devTools, for example?

Open dev tools in any major web platform like Facebook and you'll have your
answer. The DOM of many major sites is increasingly less readable to humans.

Contrast to the MySpace days, where many people did cut their teeth with
HTML/CSS via view source.

~~~
ndnxhs
That's because the actual DOM isn't what devs look at. Its the vue/react dev
tools. The real Dom is full of layout divs.

~~~
thisisweirdok
We're talking about entry-level folks here, not devs

------
voidhorse
Whenever I reflect on the "state" of the web the whole thing seems like such a
mess.

I can't help but feel that the web's progression to what it is today
(framework/spa/webapp overload) was more or less a cobbled together solution
using technologies that were never really designed or equipped for the task.
The browser has become, quite literally, the kitchen sink--it's how we access
nearly _all_ of our applications, and today it's less common for an
application to provide a native OS implementation than it is for it to provide
a counterpart in the browser which has worked out fine, but is pretty insane
when you think about it.

HTML/CSS/JS were never intended for making complex application UIs. The world
has done a great job at coercing them into doing so anyway, but I can't help
but indulge in alternative histories at times and wonder what things might've
been like if javascript never hit the scene.

JS is such a double edged sword--it's great because it has a very low barrier
of entry. On the other hand, the same accessibility tends to plague it with
misuses, abuses, and overreliance.

------
z3t4
With a static site generator (SSG) you start with a document, and you end up
with a document, using simple HTML, markdown or WYSIWYG editor. What the
generator does is basically replacing server side include files, and SSG does
a much better job as you do not have to litter your documents with the server
side stuff. The SSG can also generate your index pages, sort documents and
list them by keyword or topic, etc. SSG is basically the good parts of server
side generating and static web sites mixed together. A SSG usually don't hide
away your documents in a database, and you can keep your documents independent
from your publishing and content management solution. Documents are the core
feature of the web.

~~~
ndnxhs
They have become increasingly popular since you can host them for free on many
services.

------
icameron
I'm STILL learning HTML and CSS after 20 years. Constantly surprised by new
uses or semantics, or rediscovering a little known attribute or selector. One
that comes to mind is background-image is an animated GIF with background-
size: cover making it look like the page text is on the inside of a car window
as its driving around.

It took a while for everything to 'click' and understand how
DOM/JavaScript/CSS can really jive together. Using a framework is easier than
understanding how something like Bootstrap works by examining the elements,
CSS and scripts that all work together. I know there's always going to be more
to learn, like any art form.

~~~
nicoburns
It's worth considering using an mp4 (with video tag) for this use case. You
get the same effect, but it's much more battery efficient.

~~~
CM30
Not sure if I'm a bit behind the times with this one, but I remember that iOS
Safari had issues playing inline videos and you'd need to use JavaScript +
Canvas to get it working well there (compared to desktop browsers where a
simple video tag doesn't go full screen).

So depending on your intended browser support, a GIF may sometimes work
better.

~~~
jamil7
As long as the video's muted attribute is set I'm pretty sure iOS Safari will
autoplay a video these days.

~~~
kostadin
You also need the playsinline attribute.

------
macspoofing
>However, when it comes to frameworks and approaches which build complexity
around writing HTML and CSS, there is something deeper and more worrying than
a company having to throw away a couple of years of work and rebuild because
they can’t support a poorly chosen framework.

I take the author's point on this because infatuation with latest micro-
frameworks and the lack of long-term support and backward compatibility is
well-known aspect of modern JavaScript-based development. I attribute this to
the fact that the industry is dominated by young professionals, the web as a
platform is still exciting, and the fact that JavaScript is a terrible
language that requires custom frameworks to work around its intrinsic
limitations.

Having said that, you cannot write web-applications in just HTML/CSS. You can
create very nice looking websites, but not web-applications with any sort of
complexity.

>If we make it so that you have to understand programming to even start

Sorry. That's the reality. Many websites, and certainly those that are the
core competency of the parent company, are really full-fledged applications
that use HTML and CSS as the UI layer, and are backed up by thousands of lines
of client-side code and thousands of lines of server-side code. You need to be
a programmer to meaningfully contribute[1] because however way you slice is,
writing and maintaining thousands (or millions) of lines of code is
complicated and hard.

There are areas where programming skills are overkill, such as when you're not
building a (web) application, but rather a website for your church bake sale,
or putting together Wordpress-backed web-page for a local business. But that
isn't where the money or need is.

[1] There is obviously a need for non-programmers, such as designers, testers,
and UX professionals in software product development. But to actually realize
the product, you need programmers.

~~~
jamil7
> Having said that, you cannot write web-applications in just HTML/CSS. You
> can create very nice looking websites, but not web-applications with any
> sort of complexity.

Your comment basically sums up my feelings exactly even though I agreed with
the intent and principle of the article. At the end of the day my HTML/CSS
skills alone won't put food on my table. The brochure site market is basically
eroded away by squarespace / wix / facebook and whatever else.

------
azangru
> However, 22 year old me would have looked at those things and run away. If
> we make it so that you have to understand programming to even start, then we
> take something open and enabling, and place it back in the hands of those
> who are already privileged.

I am not sure I understand what exactly the argument is (as is often the case
for me when feminist concepts of power, enablement, and so on are involved).

Is she talking about hobbyists (someone who just want to play with technology
and make a website for themselves) or people who want to enter web development
as a career?

I would expect hobbyists to have enough time and curiosity to be able to start
with the basics. There is also nothing preventing hobbyists from building
their sites with pure HTML and CSS. These web technologies still work today
just as great as they did 20 years ago. And there is no pressure from the
lists of required skills on job boards.

If she is talking about people who already know that they want to get into
professional web development just starting from scratch, then they have all
the motivation in the world, numerous tutorials, online courses, and
bootcamps. They have different goals than hobbyists, they need quick results
geared towards job requirements. (Although I am having hard time imagining a
person who would want to get into professional web development without going
through the hobbyist stage first).

The "something open and enabling" argument makes total sense to me only in the
context of hobbyist web development. It’s a wonderful thing that everyone who
so wishes can learn how to build and publish a website and participate in the
global sharing of ideas. But why is this criterion even mentioned in the
context of professional web development? Is it incumbent on a profession to be
"open and enabling" for everybody?

And what is she arguing as a solution, exactly? Stop using CSS-in-JS or
JavaScript frameworks for professional development, because newcomers may find
them hard to understand? Even though these technologies may be perfectly
suitable for many situations? Why?

------
sureste
I'm so glad this people are finally having this conversation.

I will start by saying I'm not a developer of any kind. I'm learning Ruby and
I've been doing that for a few months now. However, back in 2015 I got the
itch to learn HTML/CSS/JS with the idea of changing careers. Long story short,
I tapped out somewhere between 2016 and 2017. I still haven't changed careers.
I was stressed and discouraged about how much I had to learn. I'm not saying
this is everyone's experience but it was mine and I'm sure I'm not alone. It
felt like trying to catch a train that is gaining more speed while crawling.

Hopefully there's a mindset shift after this, although it is my feeling that
it will take another 5 years until there's a complete shift in tool set.

~~~
root_axis
You're simply inexperienced and the time you've invested is pretty small.
Every successful programmer spends years reading, learning and coding. You
just have to keep going.

------
dmitriid
I would really love to have lived in this imagined world where everything was
simple, and you could easily learn to do everything and do everything in HTML
and CSS.

It’s like browser wars never happened. Or float hacks. Or the search for the
holy grail. Or DirectX filters. Or box models. Or... Or... Or...

The web never was a place of unicorns chasing butterflies and shitting
rainbows. If anything, it’s a much better entry point now just due to the
sheer power of tools we have at our disposal.

I’d have killed for dev tools in early 2000 when I was struggling why a
particular copy-pasted peace of HTML + CSS wasn’t rendering the same way it
was rendering on some website I got it from.

------
drawkbox
The web with HTML, CSS and the amazing Javascript was a simplification of
previous systems.

Simplifying is the right way to go. Great engineering is taking complexity and
making it as simple as possible.

Somewhere we forgot that simplicity beats complexity.

Lots of this move to complexity is that standards and more are being squashed
for lock-in and proprietary control as well as increasing complexity so
companies can stay in charge and dictate the internet and standards associated
with it.

Unfortunately the simplification phase from the 90s through Web 2.0 has ended.
Apps may have helped demolish that but ultimately open standards and
simplicity is taking a back seat due to mass specialization choosing
complexity over simplicity to squash standards, sell conferences/books,
companies taking control of development, job security and unfortunately it is
closing entry points and the beginner's mind outlook.

HTML, CSS, Javascript were mostly data-first then presentation layer, now it
is framework first dictating all as a monolithic controller.

------
munchbunny
Just a musing, but perhaps now is a good time for the resurgence of Flash or
something like it. A lot of designers I know learned ActionScript because they
needed to gradually up their Flash game.

There _is_ a gradual path into programming, but right now we've built up our
frameworks to be tools for devs, not for normal people. I see a lot of apps
that dumb it down too much (templates), and not enough that successfully
expose you to as much complexity as you want/need. That's not to say they're
bad apps, just that there really isn't something on the spectrum halfway.

~~~
Novashi
This is a tooling problem imo, and whatever tool that is should just output
javascript that works on a canvas. There's no reason to cram another
programming language like ActionScript into browsers by default.

Anything that installs and runs like Flash/AS is going to raise security
concerns though. Please let's not repeat all that bullshit.

~~~
mywittyname
Agreed.

I bet a "modern Flash" could probably compile down to JS and work natively.

~~~
reboog711
Like Adobe Animate which is a rebranded Flash Pro that does exactly that?

------
root_axis
> _If we make it so that you have to understand programming to even start_

I really hate how often this sentiment is repeated. Nothing is stoping you
from writing HTML and CSS exactly as you could in the 90s. If that is what you
like _do that_. If you can't get a job doing that... so what? There are lots
of things I'd prefer to do that nobody will hire me to do. If you want a job
learn the skills that are in demand. If you want to _build stuff_ then just do
it and stop worrying about which open source project someone decided to offer
up for free on the internet.

------
deltron3030
It makes much more sense to approach web dev/design from a conceptually high
level, outside in (if you consider CSS as the inside).

This means that it's better to create your own project in a niche that
interests you, using low code tools (e.g. site builders, visual databases
etc.) to get the general overview about how it all relates.

You get to know a bit of everything this way (invaluable experience for
teamwork), and the knowledge trickles down much better to lower levels.

Starting to code is then a natural progression in order to customize your
system as competition increases, you learn what you need, with motivation,
because it makes a real difference to your project.

If you start on the "inside", your knowledge may not flow upwards, a lot of
stuff you learn at lower levels can become redundant and abstracted away as
you approach environments that are actually used in your niche.

Writing raw CSS is like chopping wood and working with the grain, but people
who get into furniture design already have the Ikea experience, like everybody
else. Don't start with CSS from ground zero.

~~~
type0
> Writing raw CSS is like chopping wood and working with the grain, but people
> who get into furniture design already have the Ikea experience, like
> everybody else. Don't start with CSS from ground zero.

I don't think it's true, those people never get the incentive to do their
webpages in html and css. Site builders produce some crazy terrible spagetti
code btw.

~~~
deltron3030
>Site builders produce some crazy terrible spagetti code btw.

Not all of them, there are more serious ones like Webflow which aren't too bad
in that regard.

------
tannhaeuser
> _If we make it so that you have to understand programming to even start [web
> authoring], then we take something open and enabling, and place it back in
> the hands of those who are already privileged._

Very much agree with this conclusion, though entry level web devs trained on
eg. React might be too invested to acknowledge this.

------
duderific
I guess I'm not sure exactly what her point is, or who she's mad at exactly.
If there are vanishing entry points, it's what the market is demanding: more
complex applications that look and feel like the big players. Single page
checkout flows. Client side form validation. Who wants to have to post a form,
wait for the page to reload to see that you've missed a required field?

> If we make it so that you have to understand programming to even start

Not sure who is the "we" that she's referring to here. Nobody is actively
"making it" anything, it is just the changes in people's and companies'
expectations as technology develops.

~~~
AdeptusAquinas
Not sure what apps you are talking about. The modern web loads immediately,
then slowly snaps in user controls and buttons. Instead of pressing something
and having an immediate response, now you press a button and if you are lucky,
the lazy javascript developer who wrote it remembered to add a loading symbol.
And you are usually not lucky.

~~~
function_seven
+1. My browser already has a progress indicator baked into it. Thank God those
lazy JS developers move all the heavy lifting to a secret place where I can't
see what's going on.

My progress indicator indicates fast progress these days!

------
NeoBasilisk
I'm starting to think that the web is just fundamentally not sanely
salvageable at this point from a dev perspective. It really does seem to just
slowly drive a lot of people insane after spending at least a decade in it.

------
altotrees
Not sure about the overall ideas in this one. I am currently writing apps in
Angular using Python on the backend. Just got a new contract. My career
started years ago with only HTML and CSS.

Being experienced, I would agree with the thesis here, except for the fact
that we hire several junior devs here at my new office with only HTML and CSS
knowledge and then gradually teach them frameworks and tools they will need.

Other places I have worked have taken this approach too. Don't know Angular or
ember? That's okay...if you are teachable and really want to learn. Those are
the real skills you need.

------
ericmcer
I work on a pretty huge and old application. Parts of it are written using
php/vanillaJs, a large part of it uses jquery, a huge section is
backbone/marionette, and we started a new section using React last year.

React is a huge improvement, I agree it’s overkill for a lot of projects, but
it is objectively easier, less prone to breaking, and more human readable than
other front end frameworks. It is a bit overwhelming at first but for mid-
large projects it is totally incomparable doing a modern react/redux/TS
project vs jquery or something

------
jstewartmobile
I'd love to go in the other direction. Force it all to be written in Haskell,
or some other awkward thing, and have it so that the binary has to run
_comfortably_ in under a megabyte. Or heck, it's 2019, let's be generous and
make that 10MB! Limit things to people who take their craft seriously, and
filter out all of the half-assed woo-look-at-me money-chasing BS.

It's like, has this person even bothered to look at all of the noise in the
app stores recently? The weeds are choking-out the fruit-bearing vines.

------
Sharlin
What _were_ app dev entry-point positions like in the (good? better?) old days
of desktop applications, before the many-headed Hydra that is the Web came and
ate everything?

~~~
fiddlerwoaroof
Tools like Delphi still haven’t been matched for GUI development: I was able
to use it as a 6/7 year old to create little programs with buttons that popped
up message boxes when clicked. And, if I needed help, I just clicked something
on screen, hit F1 and got great documentation.

~~~
kirstenbirgit
I had the same experience with Delphi and similar tools.

It's amazing to me that 20 years after, the Web is still not quite up to par
with regards to speed and ease of development as well as performance. I'm not
sure we'll ever get there, either.

------
toddsiegel
I agree wholeheartedly. Often these arguments look like the curmudgeons vs the
crazy kids, but it's a deeper philosophical point.

The web should be accessible. Accessible to use. Accessible to build.

Related to this, I was heartened to see DHH revert a decision in webpacker to
show full source maps the other day.

> I've learned so much from View Source over the years. From structure, to
> CSS, to JS. That has gotten harder with minification and transpiling. That's
> a real shame. The web has given us so much. The default should be to give
> back, in all the ways we can. View Source is a heritage feature that a
> framework like Rails should go out of its way to pay tribute to.

[https://github.com/rails/webpacker/issues/769#issuecomment-4...](https://github.com/rails/webpacker/issues/769#issuecomment-458216151)

------
toastking
This is why Glitch is cool because all the code on there is open and editable.
I think HTML and CSS are still entry points, but not being able to see the
code for stuff is tough. It's sort of ironic that we have all this open source
code now but it's much harder for a beginner to read most of that than just
hitting "View Source".

------
ratling
[https://css-tricks.com/the-great-divide/](https://css-tricks.com/the-great-
divide/)

The OPs article was pointless but the article the author is commenting on is
very interesting (coming from someone who lives about as far as you can
possibly get away from Front End land).

------
anderber
This is part of the reason I enjoy Beaker Browser so much. It makes the web
fun like it used to be. You can easily make a site and publish it instantly.
And you can just use a markdown file to render the page!
[https://beakerbrowser.com/](https://beakerbrowser.com/)

------
dep_b
I made a complete editor for a trivia game just using vanilla HTML+CSS+JS in
half a day. All of the people that should maintain it asked me why I didn’t at
least use JQuery or JS framework du jour.

Mind you, this was a completely functioning back-end interface already.

------
zoeey123
Can anyone comment on the quality of the CSS workshop at the bottom of the
article? I am a bootcamp grad and I do feel like CSS was covered only very
briefly...

------
quxbar
> There is something remarkable about the fact that, with everything we have
> created in the past 20 years or so, I can still take a complete beginner and
> teach them to build a simple webpage with HTML and CSS, in a day.

Speaking as someone who has spent many hours lovingly hand-crafting CSS, I
don't see how this beats using ms word or google docs or any other way to
produce a static document. You can even have those editors output to HTML. I
can teach somebody to do this in minutes, rather than in a day. What actual
deliverable can people produce using html+css that isn't easier to make with
other tools?

~~~
yarrel
A web page.

A word processor or a web publishing framework are more complex and less
tractable than HTML and CSS written in a text editor. Even if you manage to
export something it will be mangled and you haven't learnt the tools or
produced the result that you set out to.

Learning HTML and publishing something on the web is a uniquely technically
empowering feeling.

~~~
macspoofing
HTML and CSS are probably the absolute worst thing for document creation and
management. HTML/CSS are in fact complex, and suffer major issues with export,
long-term backup, sharing/collaboration, revision control, review-workflows,
printing, security (encryption and password access) and consistent
presentation. This is why you want government documents stored in PDF, ODF, or
DOCX and not in HTML/CSS.

~~~
52-6F-62
AFAIU, (there's probably better insight out there)— but governments seem to
love XML.

~~~
macspoofing
Sure. There's a reason why ODF and DOCX are both xml-based formats in a zip
container.

~~~
52-6F-62
Right right! I don't have to work with them often, if ever, so I always forget
that's the case.

Then again, it's the same in the inDesign/inCopy world as well.

~~~
pjmlp
I loved when I worked on a project where the product documention was based on
Docbook.

We could use Oxygen and generate all necessary documentation in multiple
formats, without needing any Tex typesetting macro magic.

------
typeformer
Webflow makes HTML and CSS visual, and super approachable while also being a
great bridge into frontend JS dev. There are many on-ramps to a coders future.

------
vga805
there are two issues at play. the force of the market, and the pedagogical
concerns re: teaching/learning web development.

neither of these has anything to do with privilege.

i left academia because the stench of Foucault and Derrida grew too strong for
my tastes. and here it is again creeping in.

------
ggregoire
Are HTML and CSS really vanishing though? 99% of the websites are still built
on them. People starts replacing them when they build applications, which is
fine imo since HTML and CSS were not conceived to build applications.

~~~
BigChiefSmokem
I would say 100% of web "sites" are built on CSS and HTML, web services on the
other hand is what really pays to learn.

------
graphememes
These new frameworks are the new Visual Basic.

The new Packaging systems are the new Maven.

Enjoy, you're now up to date.

------
jillesvangurp
The modern web feels a bit like ground hog day. We're running around in
circles. I think of it as a collective delusion that CSS/HTML is actually
remotely good at what it is supposed to do. It's not. Most of the modern web
is a UX disaster shit show. Brutalist design is actually making a comeback
because people are just disillusioned with the perpetual inability of web
developers to produce things that are both functional, usable, and beautiful.
Mostly usability goes out of the window first, soon followed by functional. HN
is a fine example of not bothering with any of that stuff. That's why we all
love it. But is this honestly the best we can do with the web?

It's actually super tedious to develop for the modern web. Mostly it's made
somewhat tolerable these days by treating it as a compilation target rather
than something you manipulate "natively". Handcrafting CSS without pre
processors is just not a thing in modern web development. No variables ...
because reasons. Twenty years ago the need for them was pretty damn obvious
already. Never happened. Eventually the status quo somehow became handcrafting
something that manipulates a super convoluted dom tree with nodes that have
manually assigned class and id names that need to line up with
LESS/SASS/SCSS/whatever rules that manipulate the browsers ability to
transform that mess into something that somewhat matches what the designers
had in their heads. You get silly things like using negative margins, various
"layout models", and other crazy hacks of the variety "hmm maybe this will
work?" that went in and out of fashion over time combined with all sorts of
hacks to make IE whatever do loosely the same things that e.g. Firefox does

I have good hopes for WASM steamrolling over this dysfunctional ecosystem in
the next few years. It will change two things:

1) javascript stops being the only, or even a reasonable choice. Already,
typescript is emerging as the most sane way to transpile to javascript and
it's a definite step up. But honestly, it's got nothing on Kotlin/Swift, and
many other languages. 2019 looks like a year where several non javascript
centric frameworks will emerge that will bypass most of the javascript
ecosystem and compile straight to WASM. I know the Rust people are pretty
ambitious on this front. Early Kotlin and C# stuff already exists as well.
IMHO it will probably take another couple of years of this stuff gradually
getting better until we hit the hockey stick curve where suddenly this stuff
is everywhere.

2) Having wasm + webgl means that all the stuff that people did with plugins
20 years ago that to this day is super hard/tedious/virtually impossible to
reproduce with JS/CSS, is now super easy to do again. And this time we can do
it in a safe and cross platform way. This opens the door to doing UI that is
not based on DOM + CSS and without all the limitations that imposes on
designers. I expect a lot of game, VR, AR, and media content will soon run on
top of this stuff and that the amount of 'traditional' web UI around that will
gradually disappear or become less important. Right now you see a lot of nice
demos and proofs of concept but not much serious content yet. I'm expecting
this stuff to become more serious gradually until we hit the before mentioned
hockey stick curve where this is obviously the way to stand out from the
mediocrity that is the "modern" web.

