4 ms·
> It’s a skilled trade, much like finished carpentry, plumbing, or dentistry This shows this person has absolutely no idea what software engineers do, which is
by feoren 5y ago
> It’s a skilled trade, much like finished carpentry, plumbing, or dentistry
This shows this person has absolutely no idea what software engineers do, which is ironic since he criticized Universities for the same thing. If you ever solve the exact same problem three times, you're a bad software engineer (or are being put under harsh constraints to make you equivalent to a bad software engineer). I cannot imagine the state of confusion about software development one would have to be in to make this ridiculous statement.
The skilled trades are almost defined by getting very good at solving a select few problems over and over again, whereas engineering can almost be defined as constantly solving new problems (or problems in new or ever-changing contexts).
Please, we don't need any more React JS code-mill workers who copy/paste JSX from Stack Overflow hundreds of times. We need people who actually understand what the hell they're doing and have an actual chance at advancing the state of the discipline -- because right now it's very immature. Doing that requires understanding the abstractions, the mathematics, the foundations -- all those things he seems to think Universities should not teach.
He's arguing Universities should not teach CI/CD, Agile, MVP, whatever -- okay, great: they don't. They don't teach any of that, at least not when I was in University. They teach math, algorithm analysis, Big-O, recursion, programming language fundamentals, database fundamentals, electrical engineering, embedded systems ... you know, the shit you actually need to know if you want to advance the state of the discipline and not just be a code monkey. So what exactly is he arguing against?
- cinntaile 5y ago> The skilled trades are almost defined by getting very good at solving a select few problems over and over again, whereas engineering can almost be defined as constantly solving new problems (or problems in new or ever-changing contexts). Skilled workers don't solve the same problems over and over again, they solve variations of them based on the same principles. In that sense I'm not sure it's all that different from what most computer scientists actually do. Most don't advance the state of the art.
- ghoshbishakh 5y agoMost scientist in any field don't really push the state of the art. But yes it is their job to push it. If you take a look at computer security, then cryptographers and computer security scientist constantly push the state of the art. Some areas of CS are already very much polished compared to others. For example computer networks is much stable than machine learning.
- cinntaile 5y agoMy interpretation is that the article is just talking about people with a bachelor's or master's degree in computer science. In the same vein I just call them computer scientists, but they are different from people that do science at a university. I expect scientists at universities to push the state of the art.
- feoren 5y agoOne of the exciting things about the immaturity of software engineering is that you don't need a Ph.D. and years of study to push the state of the art. You just need to get pissed at that stupid library why is it doing it this way UGH FINE I'LL WRITE MY OWN! Grats, you're pushing the boundary of the discipline.
- ThrowawayR2 5y ago> "My interpretation is that the article is just talking about people with a bachelor's or master's degree in computer science." Like Linus Torvalds or Theo de Raadt, both BS holders IIRC? A bachelor's degree from a good CS program is enough to prepare anyone who studies well to do what they did.
- cinntaile 5y agoThat wasn't my claim either so I'm unsure why you point this out? You don't even need a degree to push the state of the art.
- bryanrasmussen 5y ago>If you ever solve the exact same problem three times, you're a bad software engineer or you have moved between 3 different companies and weren't allowed to keep any code with you because it belonged to employers.