Live data from Hacker News

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

news.ycombinator.com

71–80 of 97 posts

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

#71

Earlier quoted context omitted.

People that care about their craft?

Yeah buddy I get home tired from work and the commute, crack open a cold one, and surf late 2000s forum posts on installing gentoo on a PS3. There are many healthy activities to take up rather than play with deprecated/obscure tech. Not to be judgemental of course, I draw my line at home repairs.

When it comes to computer graphics, "deprecated/obscure" tech is the tech that is comprehensively documented from the ground up. There is some documentation about internals of the Raspberry Pi SoC and GPU, but sadly not enough to make it a compelling demoscene target.

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

#72

Earlier quoted context omitted.

I'm in computer graphics, and find myself thinking "this dev really needs to better understand memory layout and computer architecture" all the time when I look at even basic code. A perfect example of this is looping over some range of pixels, and many will just go ahead and do for (x) for (y) setPixel(x, y, f(x, y)). There's no logic error here but it's still terrible when dealing with images in the usual memory or…

I'm currently studying EE and would like to get into embedded programming/semiconductor design, could you explain the optimal way to loop over the pixels if not with two nested for loops? Would it be something related to how in memory it's effectively a 1-D array?

It is precisely the linear ordering in memory. Whether X-then-Y or Y-then-X is best depends upon if the data is stored row- or column-major.

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

#73

Earlier quoted context omitted.

I'm in computer graphics, and find myself thinking "this dev really needs to better understand memory layout and computer architecture" all the time when I look at even basic code. A perfect example of this is looping over some range of pixels, and many will just go ahead and do for (x) for (y) setPixel(x, y, f(x, y)). There's no logic error here but it's still terrible when dealing with images in the usual memory or…

I'm currently studying EE and would like to get into embedded programming/semiconductor design, could you explain the optimal way to loop over the pixels if not with two nested for loops? Would it be something related to how in memory it's effectively a 1-D array?

The loops should be inverted. It should be for y, then for x, which accesses the memory in a linear fashion instead of in stride.

This presentation (PDF) explains why: https://www.aristeia.com/TalkNotes/ACCU2011_CPUCaches.pdf

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

#74
post #17

No, I don't think the quality has gone down. I think this outlook is a way of gatekeeping engineers who don't have a formal CS background. I happen to be one of them. Most people who go to a bootcamp (I did not, but have hired a developer who did) do not end up working in a role that requires understanding of the 5 topics above you mentioned, with the exception of cache and maybe algorithms. It's just not what most b…

> I think this outlook is a way of gatekeeping engineers who don't have a formal CS background. If a driving school doesn't teach parallel parking, pointing out that deficiency is not gatekeeping. > It's just not what most bootcamps are targeted for. If you're making $35,000 a year in the service industry, making $70,000 translating Photoshop files into HTML is life changing. If making that transition is your only go…

Gatekeeping may not be the best word, and I think you misunderstood what I was trying to say. OP is not merely pointing out a deficiency: they are suggesting that there is a decline in software quality because of these non-CS people entering the market. Pointing out a deficiency and blaming said deficiencies for a trend of bad software quality are two very different claims. It suggests that one cannot produce good software without a CS background, with which I disagree as an absolute statement. That may be a slight leap, but I think OP made a pretty broad suggestion.

I haven't and wouldn't suggest that people be moved to a position with responsibilities over their head If you want to move up and you need to learn more, of course you need to find a way to learn the required concepts. I did this and continue to do it.

My point about bootcamps is most people who finish them aren't out there getting jobs that require knowledge of CPU pipelines. If that IS happening, someone is really bad at hiring.

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

#75

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…

> There are so many developers terrified of C.

I don't think even an above-average developer can make C work reliably. You absolutely should be terrified of C. And C++. Now, if you had said Rust, or Haskell, I might see a point to what you're talking about.

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

#76
Yes. In my last job, most people were self taught with no formal education, it was a real hustle to explain basic concepts. And every discussion didn’t really progress because everything had to be explained in detail because they simply didn’t understand the concept. This was exhausting and draining. Also there were an naive belief that everything on the internet is true.

At my current job, people people have a way better understanding of how things work and a better understanding on how to apply them. Discussions are much more simple and shorter. There’s a huge difference in how the work is done and how you do code reviews because they are much more spot on and not haphazard or random.

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

#77

Earlier quoted context omitted.

I'm in computer graphics, and find myself thinking "this dev really needs to better understand memory layout and computer architecture" all the time when I look at even basic code. A perfect example of this is looping over some range of pixels, and many will just go ahead and do for (x) for (y) setPixel(x, y, f(x, y)). There's no logic error here but it's still terrible when dealing with images in the usual memory or…

I'm currently studying EE and would like to get into embedded programming/semiconductor design, could you explain the optimal way to loop over the pixels if not with two nested for loops? Would it be something related to how in memory it's effectively a 1-D array?

It's a really deep problem actually! Doing y then x is better but it's far from "optimal".

These parallel programming course notes have an example of using z-order curves which is slightly better yet: http://ppc.cs.aalto.fi/ch2/v7/

And the best solution requires something like Halide https://halide-lang.org/ to find the best traversal order.

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

#78
There are at least two factors in motion in this question: the exponential growth of abstraction layers and the career trajectory of the observer. Up to a point somewhere in midlife, the observer will have increasing knowledge of more and more of the layers, whereas the average SWE will have knowledge of only the top few. Hence the observation of a quality decline. Wait a few more years until the ever accelerating layers are coming tetris-like too fast for you to handle with your declining brain power and the observation will reverse.
Post reply on HN