4 ms·
"not "amateur-hour web designers" Perhaps you're confused. Most people who refer to themselves as "web designers" aren't meant to be or and aren't trying to b
by jnbiche 12y ago
"not "amateur-hour web designers"
Perhaps you're confused. Most people who refer to themselves as "web designers" aren't meant to be or and aren't trying to be computer scientists or engineers. Many of them have a graphics design education, or taken inspiration from that tradition. Some of the more technically-minded of them can do basic coding, but most of them stop at HTML and CSS. But they're better than I am at UI/UX, and visual design, because that's what they do. They're not meant to be computer scientists.
If you mean web-application developers, however, I'd urge you to take a look at some of the stuff that is being done on the front-end these days. (not to mention the fact that this blog post was written by a Javascript expert)
Yes, there are some people who have drifted into their jobs and are little more than cargo cultists, although some of the more talented and curious of them do make the upgrade to serious professionals. But by far, most of the people I've worked with recently on front-end jobs have had a rigorous computer science education, with an excellent knowledge of data structures, algorithms, software engineering, and computer architecture. The fact that they're working on the front-end, in Javascript, is incidental. In their spare time, and if they're lucky, on some in-house stuff, they might prefer working in Haskell, or maybe Clojure. But much like C in past decades, the web is ubiquitous, and any serious developer of this era must know how to work in it. We don't all have the privilege of getting paid to write Scheme.
But I do share your opinion that there are certain foundational concepts and knowledge that all professional programmers should have in common, including some of the papers referenced.
- momo-reina 12y agoPerhaps the comment came out wrong, let me try to be a little clearer. I'm not trying to create separate categories between front-end, back-end, desktop, CLI, and systems engineers. The distinction I am trying to make though is that yes, while Computing has become a vast field, there simply are some basic fundamental skills that are absolutely required if we want to go beyond our current level of achievement. These are things that you have mentioned: deep knowledge of algorithms, data structures, software engineering, computer architecture, etc. This is absolutely the MINIMUM requirement Without understanding these things, we will stay at this present level of software engineering forever. Sure we will have mastered the tools, and the current programming-paradigms that these tools teach us, but we will not be able to advance. Whether one programs in JavaScript, Forth, Common Lisp, or even BASIC isn't the issue. The point that Fogus's post is trying to get across, or at least what I have taken away from it, is that most "serious" programmers are incredibly lacking in what is considered basic foundational knowledge. What field one specializes in is irrelevant, there is just some stuff that everyone has to understand, not necessarily in the way that a specialist in the field does, but at least have more than passing, cursory knowledge of it.
- jnbiche 12y agoFair enough. We're are on the same page, after all.
- vegedor 12y agoThe title doesn't represen the problem properly. It would better be 10 Things every Programmer should _learn_. Now, if you are in the beginning of developing, obviously there is more, but from a universal point of view, you should really want to advance to these points, but not everyone has to agree with that, since before learning that, the question is what you wanted to build using information technology. So are you arguing about a True Scotsman? The term Computer Science is very specific, as you might be thinking of, in contrast to Engineering or Design. Programmer isn't. Many technical schools do teach a combination of design/engineering and computer science however to bridge the gaps from either side, where the focus is less on science than it's application. Therefore the Master Classes are more focused as well and it might just so happen you never get in touch with distributed computing more than once. Although, that might become an outdated assumption.