Scan chains by design, give you the ability to load each flop with whatever value you want. Then you can toggle the clock and see the result. If you were very resilient about this you may be able to gather information about the structure. Without a GDS or netlist this is all very far fetched and unlikely. I've said before, but it is far more likely to bribe a rogue designer than to introduce back doors at this level.
This happens to be my area of expertise and is exactly true. Basic DFT would prevent this from happening without a customer knowing. Also, anything below 65nm and the chip is almost certain to have stuck@ scan testing at the minimum. The chip would be marked bad during production and tossed out. The only way in todays market this could get through is if the design was intentionally done this way, otherwise the test vectors would not match the silicon. EDIT: After reading more about their decision to use LBIST for this logic I could see a possible back door, but it does up the complexity of this hack. In my opinion this is a very low probability attack vector. It would be much easier to just pay off a disgruntled designer.
Every time I read the word passion in one of these articles I cringe. This has to be the most overused word in silicon valley. It's really just a convenient way to abuse people. Can't work 90 hours? Not passionate enough. Have a family commitment? Where's your passion? Passion. We get it already.
The thing people forget about passion is that it doesn't last. Passion is for kids. By all means, work on what you love, but remember you're an adult and set the right pace.
Absolutely this. I used to be passionate, in the first months of my (poorly paid) first job. I won't commit the same mistake again, I learned quickly that life is more important than work.
It doesn't happen nearly as often, but I also cringe when I hear the word "stability" used as a euphemism to indicate a desire for someone with a mortgage and family. Discrimination comes in many forms.
Every time I read "engineer," I cringe. I don't give a crap how fantastic you are at programming, if you don't have a college degree then you aren't an engineer.
I think I would agree when the profession is well defined to require such a qualification. For example, Doctors, Attorneys, CPA Accountants, all require certifications to hold a legitimate title. Engineers, Chefs, CEOs, etc do not require a degree or certification to be legitimately titled and qualified for those positions. I would never reject an engineering candidate on the sole basis of their degree.
Can you call yourself a lawyer because you enjoy reading your state constitution? Can you call yourself an MD because you read r/poppit? No.
Engineer is a professional designation. It requires a BS, a series of exams, and years of work experience. Engineers are regulated by professional organizations. Unless you've gone through the training and the tests, you aren't an engineer. You're a developer.
I disagree. In the vernacular, the term engineer is more casually used, like scientist. Lawyer means member of the bar, Physician means licensed to practice medicine. Engineer has multiple meanings depending on the context. A patient in a hospital would be confused by a literature PhD claiming to be a Doctor. I don't think a "sound engineer" or "special effects engineer" should apply for a job in a construction firm with the title "engineer", but I don't think the public is endangered by the ambiguity here.
That said, I strongly discourage software developers from using the term "engineering", mainly because I don't want the PE folks to start thinking they have any sort of business licensing software practitioners or getting involved in evaluating their competence.
As a math major (abet one with an MS in Industrial Engineering), I put no claim on engineering, and I dispute any claim engineering has over software. I think CS is more a branch of math than of engineering - so if the PE folks want to interfere in this, they can start by going back to college and taking a couple years of real analysis, abstract algebra, complex analysis, advanced linear algebra (with proofs, not some watered down "applications" course), and number theory. When they're ready to pass an in-depth exam on those subjects in order to get licensed to write code (after failing the first time), they'll have a taste of what regulatory capture really means.
I agree completely. I think that requiring an exam in these subjects to obtain a software engineering license would be absurd - my point is that I don't think its any more absurd than licensing software "engineers" under the PE license.
I'm not really in favor of a professional license for software "engineering" - but if there were, I'd say it should stand completely apart from the PE.
The PE exam writers should feel free to include whatever software questions they like as they license, say, civil engineers, but they should stay in the business of civil engineering.
Yes, a title that refers to schooling is dependent on schooling.
If you want a title to mirror your ability, choose one that refers to abilities. (And again, yes, due to hystorical reasons, those are rare. Want to start a trend?)
Thanks for this. I've burned out before. I enjoy my work, respect what my company's goals are, and am working to get better at my job and programming in general. I also like having a social life - try to think about how many people from past jobs you are really in contact with?