As for algorithms: for most of the stuff what people really need is to have a basic grasp of complexity of the common containers and time accesses to various parts of the system but beyond that–just learn on the go.
Ask HN: Do you feel the quality of SWE has gone down?
31–40 of 97 posts
Re: Ask HN: Do you feel the quality of SWE has gone down?
#32What do you get when you have millions of businesses who need ten million dollars worth of software but can only spend 100k? You get lots of shitty developers coming out of the wood work to meet this demand, and you get what you pay for.
In the 12 years I've been doing this, I've just noticed that all the good software developers are working at the places with big bucks, and all the shitty developers are picking up the scraps.
Re: Ask HN: Do you feel the quality of SWE has gone down?
#33Algorithms is the only thing you mentioned that has anything to do with Computer Science. The other stuff is Computer Engineering.
Re: Ask HN: Do you feel the quality of SWE has gone down?
#34I don't mean to be disrespectful (but will risk doing so as I thought the original question was negative), but ironically as an employer I would place preference over the ability communicate effectively and respectfully, unlike the way the question above was asked.
N.b I'm a "vanilla" CS grad (although wouldn't claim to have an in-depth knowledge of the areas you've listed twice).
Re: Ask HN: Do you feel the quality of SWE has gone down?
#35I think this is partially because of how democratized the field has become. Any asshole with a computer and some time can write code. I don’t think this is fundamentally a bad thing. But after a certain point, it stops being a hobby for some, and turns into a job. The line is blurry, but at some point you have hobbyists writing software-as-a-service with no knowledge of things like security. I don’t want to gatekeep, but I also don’t want dilettantes getting my identity pwned because they took a JavaScript course and thought that qualifies them to write a SaaS product.
Admittedly, it never hurts to understand the computer at a fundamental level. I think anyone who does automatically has a leg up on anyone who doesn’t. I expect my mechanic to know how engines work, even if they just change my oil. You certainly can change oil without being a mechanic, but you lose out on some depth of knowledge.
So yes, I think there’s rampant dilettantism in the field right now. Short of licensure and/or some laws with teeth, I don’t know how to prevent it. You can nail a lot of legs to a dog and make it an octopus, and there’s still apparently money to be had there, so the octopus keeps moving.
Re: Ask HN: Do you feel the quality of SWE has gone down?
#36I 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…
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.
Re: Ask HN: Do you feel the quality of SWE has gone down?
#37If you're building extremely complex or expensive systems, then sure, but most businesses aren't.
Re: Ask HN: Do you feel the quality of SWE has gone down?
#38I 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 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 order idx = y * width + x.
It seems like many people have no idea how even basic abstractions (such as the aforementioned pixel indexing example) work, and have no performance expectations because they don't code in any systems languages.
People who are aware of such issues and still can structure large codebases well seem to be getting more rare to me, at least. In the 90s there were so many incredible demoscene programmers, and now... hmm...
(A related thing I wonder about is, where is the von Neumann or Newton of our times? There are more people around than ever, nutrition and medicine and poverty is globally better than ever, ...)
Re: Ask HN: Do you feel the quality of SWE has gone down?
#39You have a pretty negative take. There are fewer software engineers with the skills you mention. But it's kind of the wrong question. Without these skills, individuals are still capable of offering tremendous value to tech companies. I work at a solid company with a great team. Those with solid CS fundamentals have certainly been profoundly helpful when designing systems that need to be performant and reliable. But o…
What has also happened is that tools have improved at roughly the same rate, and the tasks to which we apply software development have also grown exponentially. So there are jobs that exist today that did not exist 15 years ago, and they just don't need these skills.
Re: Ask HN: Do you feel the quality of SWE has gone down?
#40So I reminded him that Socrates was supposed to have said "The children now love luxury; they have bad manners, contempt for authority; they show disrespect for elders and love chatter in place of exercise."
He got over it.