Hacker News new | ask | show | jobs
by lsiunsuex 1687 days ago
I've always been curious how someone gets into this line of work. Is it all via college / post education and your directly recruited by these companies? Obviously, this is a very hard (impossible?) thing to teach yourself. I can't imagine more than a few universities offer this type of education? Where would you start / what path would you go down to be a chip designer / work for an Intel / AMD ???
10 comments

My brother and several of his friends do this for a living at Intel. Most of them have Electrical Engineering PhDs, though I believe one is a Chemical Engineer. My brother's thesis specifically was in 2d transistor design and worked under a Material Science professor. I believe most universities have professors who teach Semiconductors classes, whether it is under the name Computer Engineering, Electrical Engineering, Electronics Engineering, Chemical Engineering, or Material Science.

It would be difficult to learn on your own as explained in the article: you need a lot of specialized equipment, a high class of clean room, and a lot of very dangerous chemicals. (My brother once described what the hydrofluoric acid he used semi-regularly does to person and completely horrified our parents).

Downside of this field is that there are very few job opportunities without relocating. If you're in the US, you can work at Intel... or Intel. Unless you're willing to move to Taiwan and work at TSMC.

Hydrofluoric acid and other "fluorinating" chemicals like chlorine trifluoride really are horrific. Most of my experience in chemistry is from a brief stint working as a student helper in an undergrad chemistry lab, and (thankfully) never encountered HF, but we were told many times just how dangerous it is.

It's been a while, but I remember the biggest danger isn't the acidity itself, not even being a strong acid, but fluorine's tendency to "deep dive". It just sort of slowly eats into things and creates layers that are comparatively hard to remove. So if you spill hydrochloric acid or whatever on yourself, you wash it off, maybe get some severe tissue damage, but it's localized and washes off.

On the other hand, the HF tends to stick around, and as a fun side-effect, the fluoride salts it creates are poisonous to the body. And HF is tame compared to some fluorine chemicals used in chip etching/production...

> Downside of this field is that there are very few job opportunities without relocating. If you're in the US, you can work at Intel... or Intel. Unless you're willing to move to Taiwan and work at TSMC.

Only if we're talking specifically about cutting edge logic. There's Texas Instruments and GlobalFoundries in the US on the trailing edge for logic. In memory, where the fabrication techniques are similar, there's Micron, IMFT in Utah, and Samsung in Texas. Not to mention that TSMC is building a leading edge logic fab in Arizona.

And then of course there are all of the capital equipment suppliers, where the US punches way above its weight. Applied Materials, Lam Research, and KLA are all headquartered in California and employ a lot of the same talent that Intel does.

I was a bit hyperbolic in my statement, mainly because I was parroting some dinner table conversations. However your list is still fairly short and few are in the same location. If you say, get a PhD in the Midwest in EE specializing in novel transistor fabrication techniques, you likely will have to move states to get a job in the area of your expertise. And if you are unhappy in your job for any reason, you will have to move again to work for a different "big name" company.

I guess the point I was trying to make in my trite (and I admit, inaccurate) statement was that it's not as accessible of a career path as, say, coding. It's more like becoming a rocket scientist: there are very few companies to pick from in that field. And they're not typically in the same place geographically.

There are other fabs in the US - Samsung, Global Foundries, NXP, and other smaller places.
Also, if you want to be a "chip designer" then you can work for a fabless company too. They're basically everywhere.
I got my electrical and computer engineering (ECE) degree in 1999 from UIUC and learned everything but the very lowest-level chemistry, because I specialized in the VLSI (circuit design) side instead of fab. At that point, stuff like MIPS and the DEC Alpha were popular, and computers were just breaking the 1 GHz barrier.

Unfortunately the dot bomb happened right after I graduated, and the anti-intellectual backlash of the early 2000s killed independent research during the outsourcing era, which never recovered.

Sadly from my perspective, very little has changed in 20 years. Computers only reached about 3-4 GHz, and kept doubling down on single-threaded performance for so long that companies like Intel missed out on multicore. Only Apple with their M1 seems to have any will to venture outside of the status quo. The future is going to be 256+ symmetric cores with local memories that are virtualized to appear as a single coherent address space. But that could take another 20 years to get here.

Meanwhile we're stuck with SIMD now instead of MIMD, so can't explore the interesting functional paradigms. Basically I see the world from a formal/academic standpoint, so I think in terms of stuff like functional programming, synchronous blocking communication, ray tracing, genetic algorithms, stuff like that. But the world went with imperative programming, nondetermistic async, rasterization, neural nets.. just really complicated and informal systems that are difficult to scale and personally I don't think much of. Like with software, honestly so much is wrong with the hardware world right now that it's ripe for disruption.

Also hardware was a dying industry 20 years ago. We wanted fully programmable FPGAs to make our own processors, but they got mired in proprietary nonsense. There really isn't a solution right now. Maybe renting time at AWS blah.

I feel a bit personally responsible for the lackluster innovation, because I wasn't there to help. I wasted it working a bunch of dead end jobs, trying to make rent like the rest of you. And writing text wall rants on forums that nobody will ever read anyway. So ya, don't be like me. Get involved, go work for a startup or a struggling company that has the resources to fix chips, and most importantly, have fun.

> Meanwhile we're stuck with SIMD now instead of MIMD…

What about multi-core/multi-threading combined with massively out of order CPUs? Intel and AMD’s chips have a dozen or so execution ports. So you can have your PADD running on one port, and a PMUL on another. It just happens all being the scenes.

Intel tried a VLIW architecture with Itanium, but it was a flop for a variety of reasons. One of which was the lack of “sufficiently smart compilers”. There’s also the benefit to all the nuances of execution being in hardware: programs benefit from new CPUs without having to be recompiled. It has a much more intimate knowledge of how things are going than the software does (or even the compiler).

>Only Apple with their M1 seems to have any will to venture outside of the status quo

I find this an interesting opinion considering that the M1 is really just "The same, but a bit larger" - IE slightly higher performance at a higher cost.

What exactly do you see with the M1 that makes it so different?

Well you're right, the M1's unified memory is not technically that much different, but it's a start. And I don't like the mix of components either. They seem to be copying previous trends, like when FPUs were integrated on-chip. Eventually we'll have some kind of standardized SIMD unit like with Intel's integrated GPUs.

But I don't want all that. I just want a flat 2D array of the same core, each with its own local memory. Then just run OpenGL or Vulkan or Metal or TensorFlow or whatever the new hotness is in software. All Turing-complete computation is inherently the same, so I feel that working in DSLs is generally a waste of time.

Arm is a relatively simple core so scaling an M1 to over say 64 cores is probably straightforward, at least on the hardware side. People complain that chips like that are hard to program, but it's only because we're stuck in C-style languages. GNU Octave or MATLAB or any vector language is trivial to parallelize. Functional languages like Julia would also have no trouble with them.

Once we aren't compute-bound, a whole host of computer science problems become tractable. But we can't get there with current technology. At least not without a lot of pain and suffering. What we're going through now isn't normal, and reminds me a lot of the crisis that desktop software reached in the mid 90s with languages like Java just before web development went mainstream.

This doesn't really answer the GP and reads like sour grapes from a "formal/academic" type who missed the boat on the last 2 decades of advances in computing and AI.

> But the world went with imperative programming, nondetermistic async, rasterization, neural nets.. just really complicated and informal systems that are difficult to scale

...wat?

Don't worry, we got you covered on the MIMD front ;)
> anti-intellectual backlash of the early 2000s

I've never heard of this. Could you elaborate, please?

this is not an ellaboration, but a mere pointer based on one example: the sitcom Friends is sublty anti-intellectual and it came out around that time.
Eh, Futurama was close, too.
I'm born in 1994, I would also like to hear about this!
Strange, because for me, the stark contrast between the 90s and 2000s is unmistakeable. After the dot bomb and 9/11, the political climate in America went dark and that's also something that's never recovered.

America decided to double down on neoliberalism with the war on terror, so we've had endless bizarre legislation like the DMCA and PATRIOT act coinciding with our exploitation of developing countries and fear of the other. But we've only had a handful of the really important innovations like blue LEDs, lithium iron phosphate batteries, and enough Moore's Law to miniaturize computers into smart phones. We needed moonshots for stuff like cheap solar panels and mRNA vaccines a long time ago. We needed pure research that we didn't have. Yes we have these things today, but to me, having to wait around seemingly forever for them when we had the technology for this stuff in the 1980s, that looks like 20-40 years of unnecessary suffering.

For example, academia warned about the dangers of GMO foods and unpredictable side effects like autoimmune disease. Nobody ever listens or cares. Nobody cared when they warned about global warming or leaded gasoline either. But I am hopeful that this prolonged period of anti-intellectualism is finally ending and maybe the people standing in the way of progress are finally retiring. I've largely given up on real innovation from the tech world, so I've got my attention fixed on solarpunk now.

Asking how to work in chips is kind of like asking how to be an engineer -- there are a million sub-specialties so lots of paths.

Generally the degrees are Electrical Engineering, with classes along the lines of https://ocw.mit.edu/courses/electrical-engineering-and-compu... (note that's from 2003, just an example)

There's also a ton of physics, and chemical and industrial engineering in the process steps.

This was about 20 years ago, things maybe different now.

I got hired on the architecture side for GPU's after working a few years. My academic background was computer graphics with a focus on parallel algorithms and performance optimisation. After a couple of years working mostly on low level code, C/C++ and assembly. I got a call from a recruiter.

The semiconductor industry is larger than just Intel and AMD. Like any job, taking some time to look around the career pages should give you a good idea what skills they are interested in.

https://www.nand2tetris.org/ is a nice introduction to the how processors are put together. Book wise Hennessy and Patterson's books, Computer Organization and Design and Computer Architecture: A Quantitative Approach are good for background. I never did much on the layout side but learning Verilog and/or VHDL would be helpful but not essential.

Not trying to be rude, you need to be motivated enough to seek the answers yourself if its your truly important. If you want it badly you will find your answers. Here's a google sponsored inititive to help custom chip designers.

https://www.hackster.io/news/efabless-google-and-skywater-ar... https://www.electronicsweekly.com/news/business/diy-chip-10k...

Places like Shenzhen have a very good environment for this as well. https://www.youtube.com/watch?v=taZJblMAuko

> Where would you start / what path would you go down to be a chip designer / work for an Intel / AMD ???

Perhaps by studying Electronics Engineering (also called Computer Engineering, which is different from Computer Science).

At my university in USA, I remember recruiters from Intel setting up a stall or something to recruit students. It was in the building which mostly has computer science and computer engineering students, so I guess that's who they were looking for.

This was less than 5 years ago.

> this is a very hard (impossible?) thing to teach yourself

It isn't! The book "Code" by Charles Petzold is a great introduction to digital electronics and computer architecture. There's also the "Nand to Tetris" course (which I didn't take but people here are always recommending). You can build a simple CPU in a digital circuit simulator. If you're feeling adventurous you can write it in Verilog and simulate it, and even get it to run on a FPGA. This is all stuff you can teach yourself.

Of course this is not quite enough to make you a chip designer at AMD, but you'll know enough to get over the feeling that a microprocessor is an inscrutable artifact of alien technology brought from Alpha Centauri.

Nand2tetris, which is far more sophisticated than Code, would be a good background (highly recommended), but it has almost nothing to do with the technology actually used in a wafer fab.

The relevant disciplines are physics (mostly condensed matter), inorganic chemistry, industrial engineering, and electronics.

Find a school that teaches semiconductor engineering, take their courses through vlsi and ASICs.

Then land a job at a fab and the rest is learn on the job training.

It’s like the difference between a PC board fab and an electronics design engineer, taken to the google power.

At the public university engineering program I attended in 2000ish (UConn), we offered CompSci (mostly software focused), CompEng (mostly hardware focused), and CompSci+Eng (a balance of both). Either Eng program included several courses on hardware-level EE courses and circuit design, hardware engineering, etc.

One of the guys I did my senior design project with ended up working with AMD on processor stuff, so there are educational opportunities, I think you just need to be more on the CompEng/EE side of things and make it your focus.

I studied computer engineering (EE/CS) from 1996-2001. My senior year the college offered a minor in VLSI design, it was a 4 course series covering the very basics of semiconductor design and test and as one of the projects we actually paired up and designed a small chip, here's a photo of the finished die. Simple 2-layer metal 1 micron process - this is a serial multiplier for two sixteen-bit integers. https://vazor.com/drop/mulman.jpg

Most of the students in these classes were graduate students, so with our normal course load as seniors in engineering, this was a tremendous effort. For a four-credit class I would sometimes have to work 20+ hours a week just on one class.

But, it was a good stepping stone to get into the industry - my first job was at LSI Logic executing physical design, timing closure, etc for their customers. I learned a lot but eventually stepped away from it to focus on software and startups - I didn't want to die at that desk - the designs and teams were getting bigger and the design cycles longer. I did not relish the idea of working for 3 years on a single project.

I do look back on it fondly though as it was closer to what I consider 'real' engineering - we did a ton of verification work and if you screwed up, it might be a million in mask costs and 3 months of time to fix. We did screw up from time to time and the customer often had some fixes, so on a new design, there were expected to be a couple iterations of prototypes before you went to production. I think the last design I taped out was in the 110nm node - ancient by today's standards.

…electrical engineer?