Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Software Behind Silicon (acquired.fm)
72 points by hasheddan on May 12, 2024 | hide | past | favorite | 9 comments


I worked at Synopsys for 11 years until I retired. Very diverse types of software engineers. I was in the hardware IP group (versus say the EDA or security businesses). My team had embedded software engineers, Linux kernel hackers, compiler developers, machine learning/AI tool developers and Java GUI programmer, all with some knowledge of underlying processor hardware. T

The profile of those engineers was different from the EDA software developers. And the Coverity/security teams were rather different from all of the above.

I particularly enjoyed my senior architect helping our hardware IP developers improve their RTL develpment via teaching good sofware engineering techniques and by building a Javascript-based tool for helping to automate writing of Verilog before it was fed into the Synopsys Design Compiler.


The last specific silicon design tool I used was Electric, nearly 2 decades ago. It was a usability Superfund site, but I've also had to deal with things like Cadence since and my general impression of these "super-pro" tools in specific spaces (ok, well Electric isnt that) is that usability and stability is completely dreadful. Like, I'd probably Maybe they're powerful when you know exactly how to use them, and their quirks are burned into seasoned engineers' muscle memory, but if you're not living and breathing them with a greybeard to explain their vicissitudes, you're going to have a frustrating experience.

Once wonders what the software that drives the floor in places like TSMC (and if anything is worse than design tools, it's internal industrial control software) is like and how well it can be transplanted to a new workforce.


These are one of those things that make you wonder 'why does anyone (real) Engineer when you can be a Programmer?'

Its more economical to automate the engineering work with software/programming.

(Or if its not more economical, you wouldn't automate it)

Its not like there is a lack of engineering work to automate. Until we reach some sort of assembly-line-steady-state like we have today, I don't really know why someone would be a (real) engineer when you can make more money as a programmer. Real engineering is significantly harder physically, mentally, timing-wise, etc... I don't see any advantage. I will never be going back. I just automate now.


Even Morris Chang has pointed that out [0]

The whole reason by the semiconductor fabrication industry consolidated in East Asia was due to low operating costs (thanks to massive government subsidies) and relatively low wages for line engineers - you're at best earning $50-70k at TSMC as an IC, despite most likely having some graduate education.

This is why so many Taiwanese engineers immigrate to the US or Mainland China, the former for higher wages and better quality of life and the latter for extremely high wages (no taxation on expats)

> automate the engineering work with software/programming

Depends on the problem space. Some domains in Engineering do not lend themselves well to automation (eg. You will always need a hands on civil or power engineer when building a grid, and Petroleum/Chemical Engineers in the refining space will have to be handy if they're working at the plant)

[0] - https://www.politico.com/news/2023/02/14/taiwan-tech-king-pe...


This brings up a classic distinction between a "Software Engineer" and a "Programmer". Without getting into a diatribe about semantics: my industry selects for people with software engineering skills. The ability to simply write code is not as valuable as the ability to problem solve, make thoughtful trade offs with known constraints, and design effective high quality solutions.

Now readers may understand "Programmers" to also have these qualities. Fine. I'm not going to argue.

But the same arbitrary distinction need not be applied between "real" engineers and programmers. Many real engineering are programmers.


Real engineers refer to people doing engineering.

Programmers/software 'engineers' refer to people doing some sort of coding.

There is basically 0 engineering in programming, its just a word to supplement pay.


BTW that was a very interesting interview... I kind of agree. However, in order to automate something, you need to know the subject. For example, in digital circuit design, we use these EDA tools, but on top of that we create a lot of custom tools to automate all kinds of phases of the process. You definitely have to know the field you're working on.


The advice goes, Fall in love with the problem. Well, sometimes you fall for a problem that isn’t programming.


Those who have been at Synopsys for a while know that it kinda lost its soul when the old guard retired (Chi-foon, Trac, Jan, Aart). Those were much down-to-earth than current C-suite who spews corporate bullshit, does weird layoffs and in general is more cozy with wall street than its own workforce, drinking the kool-aid of unsustainably growing valuation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: