Live data from Hacker News

Ask HN: Do you feel the quality of SWE has gone down?

news.ycombinator.com

81–90 of 97 posts

Re: Ask HN: Do you feel the quality of SWE has gone down?

#81

> It feels like a lot engineers now days don't seem to have a good cs background. They don't see to understand things like cache, paging, virtual memory,cpu pipelines, algorithms or other things pretty fundamental to CS. Yes but nearly every software developer job is web stuff these days and in the web world, they don't need it. (Cue all the HN posters saying "college is a waste of money" and "it's just a piece of pa…

There are so many things to do with computers that have nothing to do with the web, where native code is incredibly important. There's probably even more of those jobs than there are web dev jobs, it's just that hacker news is a bit of an echo chamber.

Go on then, go look for them.

Go search on job boards and fine all those mystical jobs.

They are the tiny minority.

Re: Ask HN: Do you feel the quality of SWE has gone down?

#82
post #36

Earlier quoted context omitted.

I don't know of any project that was ever cancelled because of poor class design or lack of unit tests either. Sure they were hack jobs but if they met the needs of the customer then they were successful. Likely successful enough to be worth hiring you to fix those shortcuts. And allow you the free time to complain about craftsmanship on a public forum.

I absolutely have. A bonkers class hierarchy and no unit tests means that velocity will bog down to a crawl or even start running in reverse.

Absolutely. But to management it can look like another reason.

For example it could look like “Not enough revenue to pay all the devs”. But you only need a big team because it’s basically spaghetti code and there’s a lot of fires to put out.

I’ve seen this.

It’s also really hard to convince managers even technical ones who are not in the code that there is complexity to deal with. “But it’s just a [something that prima facie sounds easy] should be easy!”

Re: Ask HN: Do you feel the quality of SWE has gone down?

#83

Because, and your acronyms hint at this: software engineering is not the same as computer science anymore, and really hasn't been for decades now. Software engineering _relies on_ computer science, but the fundamentals that computer science is concerned with are about as far removed from software engineering as pure maths is removed from physics: no modern software engineer needs to have a deep understanding of the h…

I strongly disagree on not needing to know the fundamentals. Can you get a job without them? Sure. Can you even create a successful product without them? No doubt. Will your product take up 50GB of RAM, have un-debuggable hitches, erratic performance, and weird bugs when the 5000 dependencies you have change subtly on an update? YUP. Will you have a bunch of new developers that replace your old developers because of…

[deleted]

Re: Ask HN: Do you feel the quality of SWE has gone down?

#84
Things like cache, paging, virtual memory, and cpu pipelines are not important to "CS" or most software development. Based on your list of priorities, I'd guess you have much to learn about what goes into good software engineering. It's not a bunch of facts about CPU's.

Re: Ask HN: Do you feel the quality of SWE has gone down?

#85

Depends on the axis. In terms of working software that is somewhat dependable, we're probably better than ever before. In terms of using the system resources efficiently? Unmitigated disaster. So. Much. Bloat. Chat clients should never use gigabytes of RAM In terms of average talent level? It seems like its getting worse every decade. I was talking to some recent CS grads about Turing completeness and they had no ide…

> I was talking to some recent CS grads about Turing completeness and they had no idea what I was talking about. How can you have a CS degree and not know Turing completeness?

Having studied CS, I agree that you should know about the concept, but does it really give the normal Software Engineer an advantage in their day to day? Most likely not. It always depends on what you are working on, but the body of CS knowledge is huge and it requires a lot of work to keep all the concepts fresh in your mind if you are not applying them. I'd rather have people with a strong grasp of software architecture, algorithmic complexity, system design and networking protocols. On the other hand a game developer should be strong in other theory areas that they need for the job. Machine Learning engineers have again different focus areas etc.

Re: Ask HN: Do you feel the quality of SWE has gone down?

#86
post #10

I am not a developer, so take this with a huge grain of salt, but this comment sounds a bit like old school photographers saying iPhone and Instagram are not for “real photographers.”

I am a developer with a CS degree and think you hit the nail on the head with that observation. There are also plenty of other things developers have to know about now that you didn't have to 20 years ago - security, privacy concerns over data, devops etc.

It's very lazy thinking to resort to a "kids these days" mentality of modern software development.

Re: Ask HN: Do you feel the quality of SWE has gone down?

#88

Because, and your acronyms hint at this: software engineering is not the same as computer science anymore, and really hasn't been for decades now. Software engineering _relies on_ computer science, but the fundamentals that computer science is concerned with are about as far removed from software engineering as pure maths is removed from physics: no modern software engineer needs to have a deep understanding of the h…

I strongly disagree on not needing to know the fundamentals. Can you get a job without them? Sure. Can you even create a successful product without them? No doubt. Will your product take up 50GB of RAM, have un-debuggable hitches, erratic performance, and weird bugs when the 5000 dependencies you have change subtly on an update? YUP. Will you have a bunch of new developers that replace your old developers because of…

As a software engineer, I call elitist hyperbole bullshit on this.

It's what I might expect from a retired computer scientist or software engineer that has hopelessly lost touch with the actual professional field, or someone who is far enough removed from the title to not know the difference between "programming" and "software engineering".

Re: Ask HN: Do you feel the quality of SWE has gone down?

#89

Earlier quoted context omitted.

I strongly disagree on not needing to know the fundamentals. Can you get a job without them? Sure. Can you even create a successful product without them? No doubt. Will your product take up 50GB of RAM, have un-debuggable hitches, erratic performance, and weird bugs when the 5000 dependencies you have change subtly on an update? YUP. Will you have a bunch of new developers that replace your old developers because of…

As a software engineer, I call elitist hyperbole bullshit on this. It's what I might expect from a retired computer scientist or software engineer that has hopelessly lost touch with the actual professional field, or someone who is far enough removed from the title to not know the difference between "programming" and "software engineering".

As a software engineer going on fifteen years, I roll my eyes at the claim of elitism. Over my career, I’ve witnessed tons of similar disasters caused by not grasping CS fundamentals.

It isn’t elitist to expect a building architect to understand physics, a doctor to under biology, or a developer to grasp CS. It doesn’t need to be a barrier to entry, but it will likely be a career blocker down the line.

Re: Ask HN: Do you feel the quality of SWE has gone down?

#90

I honestly can't remember a time in my career when I've looked at a codebase and thought to myself "what this dev really needs is a more thorough understanding of CPU pipelines and virtual memory". Ed Yourdon once wrote something like "No project was ever cancelled because the developer couldn't address the serial bus". I'm much more concerned with bootcamp graduates not understanding good class design or appropriate…

A bootcamp person can learn most of these things. It just seems with some of our recent hires they don't seem to want to learn this stuff or maybe it doesn't really matter for react devs.

And these things do make a difference. L1 cache is faster than L2 cache which is faster than L3 which is faster than memory which is faster than hard disk etc. You want your code to keep things within those limits to make things faster.

Or for example if you start using virtual memory and paging to disk you might want to switch algorithms. For example you might want to use merge sort instead of quick sort if you don't have a lot of ram and you have to go to disk. However if you have 128GB of memory and mostly randomized data you want to use quicksort.

This is kind of trivial example, but I think this stuff is somewhat important.

Post reply on HN