Contrary to what others say, don't make stuff up unless you're a particularly skilled liar. If you have to ask the questions you are asking, you aren't.
1,220 karma · joined April 21, 2016
Contrary to what others say, don't make stuff up unless you're a particularly skilled liar. If you have to ask the questions you are asking, you aren't.
It was truer in the 1980s-1990s, when programming was not a prestigious or high paying job and computers were much cruder and required much more skill to get adequate performance from them. Generally, aspiring hackers were very well read people.
There were, of course, corporate programmers doing business programming back then too but they weren't considered hackers and wouldn't even have wanted themselves to be considered hackers.
At least you don't hate your job, I hope? The recent maturation of AI revealed how many people in software seemingly loathe their own profession.
Everybody remembers that soundbite but nobody remembers that he changed his mind about it later and switched to advocating iterative refinement.
The IEEE conference on Field-Programmable Custom Computing Machines (https://www.fccm.org/) is in its 34th year, to give you an idea of how old that idea is. The answer to your question is both 1 and 2 and also 3. that FPGAs have rather poor efficiency, both in terms of cost and performance, so it's not worthwhile outside of a few niches.
Obscure and a bit dated but Bruce Betkhe's Head Crash is hilarious if you've been deeply immersed in the software industry.
It's the rising tide of low-level everyday harm from software that is going to motivate the public to start coming after the software industry.
But the software industry is not starting from centuries ago. We have the benefit of modern education and literacy rates, instantaneous global communication, centuries of experience and data in other life and safety critical fields to draw on to understand how to establish a reasonable level of safety in the face of uncertainty, vast libraries of knowledge and data that can be called upon online, and nearly a century of increasing regulation and professionalization in those fields. Sorry but that doesn't hold up to scrutiny.
For developers who work on products, getting a sense of whether the product of the team you'd be joining is a core part of the business versus speculative (i.e. stable vs likely to have layoffs) and how successful the product is in the marketplace (teams for products that are failing also are likely to be victims of layoffs) are also very important to understand.
By all means, learn to use a debugger well but don't become overly dependent on them.