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?
> 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.)
“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.
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.
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.
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
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.
Is the tech industry at large truly that immature? You are describing a slice of the industry as hype and blog driven ADHD thrill seekers - and probably quite accurately - but is that slice really 80%?
My own professional experience is from computer graphics and CAD (mobile and desktop) so I've never been directly influenced by the hype machine affecting web development.
80% might be a bit ambitious, but it's probably not that far off. How much money do you think is in the web industry relative to the more grounded industries you've worked in?
Can't remember exactly what it was about now but it was all over the news here in Sweden. A few years ago there was some new cover tiles for houses. They were widely used because they were new and cheap but now they realized it was a ticking bomb. Turns out the house under the tiles was damaged from moisture or a reaction to the material or some such.
Most jobs have a lot of new things all the time, the web industry just have it a lot more. There is always some fresh meat out of school that think the old ways are stupid and we should do it this way instead. The old ones that warns that we tried that already and it blew up in our faces are "Backwards" and gets pushed asside.
My grandpa was commenting on some tiling that was being done in our house and mentioned that back when he did tiling they had none of these tools they use for tiling now and the result would have been close to impossible to do back then.
Plenty of companies whose main business isn't anything related to software, which are quite happy to have devs automate their infrastructure, they could even be done in BASIC or Pascal for what their sales people and management would care.
I'm happy being a programmer, I just wish that any of the management folks understood that we're NOT carpenters, and their expectations that we learned everything we need to know ten years ago and should never need to learn anything ever again are unreasonable.
"I was sitting here, [reading HN] and drinking my coffee and replaying the [bug reports] in my head, when I had what alcoholics refer to as a moment of clarity."
Probably necessity. It pays the bills relatively easily, and if you live anywhere in an urban area (that doesn't have hackerspaces/shared workspaces readily available) it's going to be hard to find a place to practice a craft like woodworking when software development barely pays the rent on a small apartment.
Now if you happen to have a garage or access to a place with tools/equipment, working with your hands is immensely satisfying. But electrons and magnetic domains take up very little space and really only require the purchase of one modestly priced power tool to work with.
>> > 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.
But if you build a foundation on HTML and CSS then you have something that stays relatively constant in the face of change. All that other stuff is often just fluff and programmers thinking they know a better way.
The foundation of HTML and CSS was separation of concerns, yet the most popular web app framework mixes HTML, CSS and JS together and says that it's fine. That's the first moment of confusion for students who are learning React after doing the basic HTML/CSS courses.
Someone who can build a static site (not Hugo/Jekyll/whatever) in HTML and CSS and upload it via sFTP will struggle to understand loop functions in a database-driven CMS, which require some knowledge of a server-side language.
Same goes with learning Git; there's a big jump in perceived complexity when you go from coding inside Sublime Text and typing commands into a Terminal.
Yet here we are. The internet wasn't "meant" to be the global apex of commerce and communication, yet here we are. People started making more than just static documents because running programs on the web was fun and cool and it still is.
> 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?
Think more in terms of, say, Netscape Composer in the Netscape Communicator suite (or Microsoft FrontPage/Adobe Dreamweaver/HoTMetal as a browser mode or tab environment). Typing JavaScript in the console to create a DOM document that's easier to type up raw in a text editor sans JS ain't exactly the same thing. It's not even the same category of thing.
>If you are of working age, learning this shit is not fun
Well there is your problem. I have been working for quite a while now and I find this stuff very fun. I tried out VueJS last year as my first framework and I found it delightfully simple. Then I got a job working on react and found it a little worse but still nice. Took me very little time at all to go from vue to react.
I think it's fine to jump into frameworks and slowly delve into the fundamentals. I find it's better to build something first, even if you don't understand 100% what's going on; otherwise, I don't end up sticking with it.
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?