4 ms·
I've been doing web development since 1996. It catches my attention that those topics are considered "surprising" by the newer developers. Some people see this
by myth2018 4y ago
I've been doing web development since 1996. It catches my attention that those topics are considered "surprising" by the newer developers.
Some people see this as a sign that younger developers are weaker. Not at all.
There seems to be certain limits to the amount of knowledge we manage to get access to. Past a certain point, you start to get into an area full of "unknown unknowns" and, even after turning them into "known unknowns", it's very hard to find further information to clarify them. When I started my career, some topics were extremely hard for me to grasp. I couldn't even articulate my questions about those subjects. And when I started to be able to, it was hard to find information, either in the form of articles or in the form of knowledgeable people
On the other hand, older developers, who had had access to earlier computers and programming languages, had no problems at all to master those topics.
Nowadays I feel the same about other fields I entered in more recently. Some older ham radio operators I know seem to have an intuition about topics I started to understand only after months of research -- I finally found the answers on books from the 70s and 80s. I have friends in different branches of engineering who feel the same about their fields.
It seems that we have an inclination to abstract away the fundamentals. And this is terrible in all sorts of ways.
- alexpetralia 4y agoIs it? If you don't abstract away the fundamentals, doesn't that mean you have to understand the internals of everything? That would be quite a lot! (physics, chemistry, mathematics, etc.) I would contend that 99.99% of everything we deal with (if you visually look around your surroundings) is "abstracted away". Perhaps, for software engineers, this is only 99% when it comes to software.
- jeroenhd 4y agoIf your day job involves a particular field of maths or physics then I'd argue you're definitely supposed to have an understanding of the fundamentals. You can't build a bridge if you don't know how torque works or how environmental factors interact with the forces at play. You don't need to know all of the frontend stuff if you're doing backend work, you don't need to know all the backend stuff if you're doing frontend work, and you don't need to know either if you're doing kernel development In turn, you can leave details like memory management, execution modes, endianness and concurrent locking out if you're writing code for the browser. Browsers can do a lot, but the most challenging parts of programming have already been taken care of the moment your HTML gets loaded. There are fields within programming (often overlapping) and if you work in your field, you should probably understand the fundamentals of that field. It's fine for a web dev to know "between 1ms and 2s the response of a DNS query appears" without having to know how DNS works. You don't have to know _everything_. But, unless you're developing HTML files on people's desktops, as a web dev you do need to know how HTTP works. It's not magic, the base protocol is actually quite simple as it was once text based for human readability. If you can fight your way through Javascript or Typescript with its absurd quirks and problems, you can understand HTTP if you try. Most of web dev is memorising the billion different options that browsers allow you to tweak these days, from CSS to HTML components, to get the design you want. Learning 50 or so other options and a few very basic protocols is hardly difficult in comparison.
- myth2018 4y agoYes, it is. You're not supposed to understand the internals of everything. But of the things underlying your field of work/study? You should. We shouldn't think about the fundamentals the whole time. The cognitive load would be unbearable. But we should be aware of them and be able to think about them more deeply if/when needed. And like I said, this phenomenon is not restricted to software development. An example that comes to mind now: in the crash of Air France Flight 447, the lack of skills on fundamentals of flight of the pilot flying -- young and used to the Airbuses' extremely high level of automation -- has been pointed out as a contributing factor.
- MatthiasPortzel 4y agoI think the article is just poorly titled. Almost all of these are unequivocally basic elements of HTTP. Maybe new web developers aren’t learning how HTTP works, but that’s no excuse to be surprised when they do learn about it.
- rufus_foreman 4y agoMost of these are pretty basic but I've been doing web development since around that same time and I had never heard of a Trailer response header.