Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to get into the chip industry?
94 points by dojitza1 on Oct 1, 2020 | hide | past | favorite | 57 comments
Which resources/degree programs/books/projects would you recommend to a person looking to enter the field?



This is like asking, "How do I get into the medical industry?" It's overly broad. There are lots of different jobs in the chip industry.

1. Device engineer - want to build transistors? Grab a physics/chemistry masters and /or PHD. Go to work at a foundry house like TSMC, Samsung, Intel, SMIC or Global Foundries.

2. Analog circuit design - grab a masters in EE (w/ circuit design specialty).

3. Layout - the person who translates the analog circuit design into the physical drawing that ultimately gets turned into a photolithography maskset. You can get an associates degree (maybe not even that much) at a local community college - learn the cadence/mentor EDA tools.

4. Verification - learn verilog HDL and computer architecture. A bachelors degree at a good Electrical Engineering program will get your foot in the door.

5. CPU design/architects - masters/phd in computer architectures.

6. Software - lots of different jobs here. Firmware guys write low level boot-rom code. Some guys focus on linux drivers and kernel porting to company xyz's latest chip. Some software guys focus on specific IP blocks of a chip like maybe working around bugs in the latest GPU IP integrated into an SOC like that used on the Raspberry Pi.

7. Test engineers - the guys that write test patterns to test a chip after it has been fabricated and packaged. You could go software or hardware for these jobs. Bachelor degree needed.

8. Packaging engineer - the people that design the packages that the bare silicon gets mounted to. All kinds of folks in this field - physics, mechanical engineers, materials guys. This is a fairly broad field.

9. Hardware engineer - designs the pcb's that the chips get mounted too. Your "classic electrical engineering" job IMO. Bachelors in EE with a focus on electronics and circuit design.

In general you'll need a degree from a decent engineering college to get your foot in the door. Software generally doesn't have this barrier. Look for internships at chip companies.


I commend you for saying the question is too broad and then break it down for the asker.

I thought you are going to dismiss it lol


10. RTL designer - uses the gates made by #1 to implement digital circuits that go through the tests of #4 and is placed in the chip by #3. Does a similar job as #5, but not limited to CPUs. To join the band, get a degree in EE or CS and practice on FPGAs. Make sure you get domain knowledge on the specific thing you are implementing: digital communications, audio, IO protocols, networks etc...


11. EDA tool developers. The EDA vendors are huge employers of developers, and esp for backend tools you need not only to be able to deal with algo scalability issues (the datasets are enormous), but also understand more and more of the actual physics, electrical engineering aspects. Very interesting combination.

But also, most customers also develop their own tools, scripts, automation of toolchains etc. And the HW dev toolchains are much bigger than what you have in SW.

At the ASIC shop I used to work (with about 40 engineers) we had 3-4 people full time on tools, environment, methodology.


(If you work in EDA, please make your tools more FOSS-friendly. Quality of tooling is quite bad in this respect across the entire industry.)


This is a good point I forgot to expand upon. The EDA (Electronic Design Automation) industry is a hugely import symbiotic relationship to the chip industry at this point. The two sort of go back and forth driving each other forward.


For 3, I think you're likely needing a bachelor's in EE or more these days. I have some friends who do this and a lot of the hand layouts are for standard cells or high speed analog parts where you need the EE knowledge to understand what you're laying out.

Depending on where OP is located and where they want to go to school, internships are a good route. I went to the University of Toronto where there's an optional 16 month co-op program [0]. AMD for example, hires lots of students (I did this many years ago on a team doing analog circuit design).

0. https://engineeringcareers.utoronto.ca/work-experience-progr...


Don't forget all of the infrastructure needed on the fab side -- safety engineers, industrial engineers, operators, etc.


12. Debug Engineer - identifies/triages/drives resolution of complex ASIC, firmware, spec-violation issues. Good fit for a jack of all trades works with hardware (design/validation), firmware, software (kernel/driver), and architecture teams. Requires a bachelors in EE/CS or higher.


If this was reddit, you'd be swimming in reddit gold by now :-)

That's an amazingly detailed answer.


+ then there's things around this like thermal engineer - design verification and simulations.


Also all the work in companies making fab equipment.


All I want is to go to sales expos and wear an Intel tshirt.


I definitely don’t think it was your intention to send a “this is a male’s job” message, but some readers might interpret it that way (even subconsciously) if we use language like “software guys” instead of software developers. There are definitely women working in all of these areas, and hopefully many more in the future!


According to Oxford Dictionary:

"guys [plural] (informal) a group of people of either sex e.g 'Come on, you guys, let's get going!'"

-- https://www.oxfordlearnersdictionaries.com/definition/americ...

This is also my (local) experience of the word usage: that it's used for groups of any sex.


[flagged]


English is an idiomatic language, there is no straight logical mapping between semantics of individual words and ultimate meaning.

Add in purposeful ambiguity, innuendo and pragmatism, and the situation is more complex than either "guys always mean men", or "guys always means a group of any sex" - However, I'm not sure dictionaries aim to pin down every aspect of usage, rather than summarise the semantic.

My own experience:

"guys" referring to a specific group e.g. "those guys" can refer to mixed groups.

"guys" with no clear target can be used abstractly as a more casual way to refer to men in general, but I rarely see men themselves use this (but usage may vary). Women, and women's magazines use it quite a bit.

"How many guys have you slept with" is tainted as an indicator of general semantics b/c it is a partly idiomatic; as an example "What can I do you for?" is a common phrase / idiom, but would be considered poorly constructed English otherwise. The use of "literally" in non-literal contexts a poor indicator of what the word (supposedly) means, and probably a result of differing usage, or possibly lingual style. Any kind of innuendo has a pragmatic meaning, and whole words and phrases have metaphorical meaning - to the degree that they are no longer understood as metaphors. Finally, choice of words pragmatically communicate information too, e.g "those people" or "you people" can have a stigma attached despite being semantically neutral.


Right. The point is, the definition you posted is one of several, and doesn't really address the issue at hand. You can't pretend that "guys" is gender neutral; that's one of many "tainted" contexts that invalidates the claim.

When folks say "software guys", does "software" similarly taint the meaning because our society has decided that programming is "men's work?" In my experience, as a woman who talks to other women about this precise nuance of our language, it does feel othering to many if not most of us.

Furthermore, when I overhear a coworker talking about a need to hire "a packaging guy", and then refer to this hypothetical person (comprising zero actual candidates for an ad which hasn't even been written) with he/him pronouns exclusively, am I then expected to believe that this use of "guy" is gender neutral?


I said its used for groups of either sex, which it is. I didn't claim (or "pretend") it was gender neutral.

It's not as simple as having multiple definitions: it has different meaning for different contexts, but it otherwise consistent within those contexts.

A "tainted" context is one not generalisable because it is an idiom; much like proper nouns are not generalisable. Using "guys" to refer to mixed groups is generalisable to all situations with similar context - its not an idiom.

> a packaging guy

Is use of "guy" as plural, which I've never seen refer to mixed groups, hence is not the same context.


I meant "singular", not plural.


It’s funny how dropping “guys” is such low hanging D&I fruit but also so hard to do. I try to use “folks” and honestly have started saying y’all a lot.


As someone raised in the north US, living the last ~8 years between Florida and Texas has helped break the “you guys” habit. However, I admit that I still feel like an imposter whenever I use “y’all”.


Y’all is a single syllable, rolls off the tongue and is gender neutral. By the power vested in me by the State of Texas, I hereby grant the reader (herein referred to as “all y’all”) permission to use “y’all” in perpetuity.


Thanks, much appreciated.


I grew up near Chicago, currently live in Canada, and I say "y'all" all the time. I feel kind of self-conscious about it too but I asked a friend here if it was weird for me to say and she says she also says it all the time, so.


Relative to the software industry, the chip industry has a vast number of highly-obfuscated dependencies, nearly-infinite supply chains, and zero margin for error. Robust profitability, let alone innovation, is very difficult to achieve without monstrous scale. The majority of recent semiconductor industry gains have come only through consolidation, giving chip suppliers more bargaining power while letting them cut staff.

The only area in the semiconductor industry that I'd consider marginally worth getting into is analog or RF IC design, but that's predicated on lots of VC bucks chasing the last scraps of quick-win innovation (mostly in the Bay Area).

So even before picking an area to focus on, I'd take a deep look at your motivation for wanting to get into the chip industry in the first place. As someone who's been in & out of the chip industry a few times, I can tell you that there must be hundreds of other industries that are more lucrative and rewarding than the chip industry, while still giving you whatever it is you're seeking.


I was a firmware/software engineer at a semiconductor company. Sadly the most common thing the EE design coworkers were asking me on the side was how they can move into the software industry. And these were brilliant engineers and technical leads. Now I see many years later that some have made that transition.


Any particular advice for the ones that haven’t done the transition yet?


This mirrors what I saw as a employee of a non-semiconductor company in the middle of a big chip incubator.

Judging from the cars, the normal people making the most money were the tradesmen building the infrastructure for the tools. The chip guys seemed to work long hours, but relatively few were expressing their compensation with tokens. They also seemed to purge people between projects.


I have 15 years of experience as a driver developer and computer architect. This comment is spot-on. As an employee you will have very few potential employers in the semiconductor industry and it's very unlikely that we will see a significant change.

In the software world not only you have much more variety of work and potential employers, but it's much more likely that new exciting startups/unicorns will succeed in the next few years.

While I enjoy my current job and I have a great boss, if I could go back to my college years, I would steer my career in a different direction.


Some of the most fun I have as a graduate student in computer architecture is trying to write the fastest possible code snippets for complicated chips. Working your way "down" from C/C++ is a great place to start, assuming you're familiar with either of those languages.

Take some collision detection algorithm for a game or some linear algebra kernel used in your machine learning model of preference.

If you're referencing a library that's already high-performance (e.g. Intel's MKL), what does the assembly look like? What's happening to your caches as the assembly is being executed? What are the trade-offs your compiler has to make when it comes to optimizations? How does Intel's compiler output differ from Clang? I mention these compilers in particular because they provide optimization reports.

My advisor guided me through "Computer Architecture: A Quantitative approach" by Hennessy & Patterson and it's been very eye-opening to pull back the curtain on the last logical layer of "magic" I had never fully understood. There's an enormous of amount of circuitry in the latest chip designs dedicating predicting the outcome of pending work so that we can "hide" the latency introduced by having to wait for data to arrive into the CPU core all the way from RAM. The way an instruction set architecture and compiler (e.g. x86-64, AArch64) unite to abstract away the work underneath is really one the coolest technical feats of the 20th century. Hopefully this inspires you (or anyone reading this) to go explore it. I think if you can document your exploration and communicate your findings effectively then that would be a great first step towards getting your bearings at a high level of how the "chip industry" operates.

As others here have mentioned, the chip industry is an enormous field and you could build an entire career around just the physical/mat.sci. side of fabrication for these chips. The physical side is still somewhat foreign to me, but I hope to explore it more in the years to come.


llvm-mca (https://llvm.org/docs/CommandGuide/llvm-mca.html) is an invaluable tool for this, by the way. It has a steep learning curve if you're not familiar with modern CPUs' instruction scheduling/pipelining quirks, but if you really need to micro-optimize some hot spot in your code, it will expose to you all the necessary information to do so. In particular, the timeline view feature visualizes the execution state of a series of instructions quite nicely.


EE Master here, this is a wide topic but usually from my experience (friends around who work in chip industry, ie TSMC, MediaTek).

Generally, you have the hardware design (Layout designer, R&D, Process engineer ) this typically need a Master and mostly PhD in EE or related fields. From what I heard in Taiwan, TSMC only accepts Master/PhD for these position and internship.

Then you have the interface side which writes firmware codes for these chips ( SSD controler ). These are more like your typical software engineering, you will need at least BC degreee and well verse in C/C++. But usually it's hard to get in with a BC degree unless you are recommended by one of the employee.

If you don't have any of the mentioned degree, the fastest way is to get one. It is really hard to learn yourself since this is a highly automated industry with most of the work available in maintainence and cutting edge R&D.

Otherwise, your job scope in chip industry is limited to a few ( Firmware is a good start )


> Then you have the interface side which writes firmware codes for these chips ( SSD controler ). These are more like your typical software engineering, you will need at least BC degreee and well verse in C/C++. But usually it's hard to get in with a BC degree unless you are recommended by one of the employee.

Idk how one gets in at all seeming as how the few jobs I've seen in this sort of function want a decade of experience writing firmware for the same class of device as whatever the company is doing.


ASML's architects is a relatively new book on the photolithography part .. it is on my to read list but kinda expensive. There are a couple of nice Youtube videos - recordings from the computer history museum on the history of semiconductor fab processes. Might scratch your itch to understand how it works (it started out "simple" but today is insanely complex .. the physics phds are really pulling their weight on the latest process nodes). The few responses you have gotten here are gold. Only thing not mentioned is FPGAs .. if you are a software person, you can learn a ton by playing around with cheap FPGAs. Oh .. if you meant you just want to learn high-level electronics, I have to recommend an incredible course on Udemy by Andre Lamothe. Good luck.


I work in this field

The pay is poor compared to SaaS/AIML/etc

Hardware folks (and firmware) are always asking how to retrain and move into mainstream SWE. Its not worth it.


Funny that probably a lot of SWE would be glad to teach some HW folks to get some knowledge of EE in return. I would for PCB design.


I'll take that deal! Also I offer the PCB design stuff for free :-D (but really, I could use work on my SW)

https://contextualelectronics.com/courses/shine-on-you-crazy...

https://contextualelectronics.com/courses/getting-to-blinky-...


I forgot to check back that comment, if you see it feel free to send me an email at contact [at] efugulin.com


I’m not as cool as Chris with his courses and podcasts, but I’d take that deal too!


Turning AmpHour into BytesPerMinute


You work for the wrong company.


What company do you work for?


how much is pay in SaaS/AIML? HW can pay 150K+ range with RSUs with PhD EE <5 years YOE. Graduated in "low tech" school. Job security is pretty good because barrier is high, literally you can't get a high school grad to do our job. AI maybe is higher paying but I also see on linked hundreds of people getting laid off during the pandemic becausue they were the first to get cut.


In the US. Maybe.

Here in Barcelona, Msc in ER, 10y experience, I’m considered lucky by a lot of my collegues for getting at 50k.

Friends of mine with 3 to 4 years in SaaS are making 60-70k in fintech with way better work conditions.

Nothing compares with software in terms of scale


Look up any FAANG role at L4 and you will easily break 300k.


srsly not to be rude but what rock have you been under? PhD 5 YOE $150k????

That's starting salary only (not TC) anywhere in SaaS, 0 YOE fresh BS degree from tier 3 school.


I dont agree new grad salaries get 150 as a base, certainly TC.


For learning below courses and books are very helpful:

1) Online courses: Computation Structures: Parts 1, 2 and 3 - all course materials available on EdX MIT as well as MIT OCW

2) Books: a) Computer Systems: A Programmers Perspective and b) Computer Organization: Hardware/Software Interface

3) Practice Verilog HDL programming for small/medium complexity building blocks such as FIFOs, RAMs, bridges, etc using free simulators like Xilinx ISIM. Courses such as Coursera's Hardware Description Languages for FPGA Design are a good starting point. Lookup most starred repos on Github in verilog and systemverilog languages.


Depends on what you mean by "the chip industry"?

- Designing CPUs and digital logic chips? You'd start with a computer engineering degree focusing on computer architecture and VLSI design.

- Designing analog or RF chips? You'd start with an electrical engineering degree.

- Fabricating chips from bare silicon wafers? That's an intersection of chemistry, applied physics, material science, and electrical engineering.

Look up the course requirements for degrees at universities with engineering programs and you can see what courses and textbooks are used for each.


I have no context into your background knowledge, but I'll assume you know how to write some software.

Coming from a software background, my recommendation would be to come from above and work down towards the chips. The perfect route to take is to work with a soft RISC-V cpu running on an FPGA with a totally open toolchain. By utilizing open tools, you have the agency to both modify the tools for your own use, gaining knowledge into how the tools work as well as participating in the technology graph. As soon as you add even a minor feature to the tooling, you then have the ability to add features for other people. This makes you valuable and will open other opportunities.

Get a Lattice FPGA supported by Yosys [1] and learn Chisel [2] and Verilog [3] while working through Nand To Tetris [4]

Once you understand the hardware enough, those soft designs can start to be turned into hard designs using the Skywalker PDK [5] and get your Open Source designs made for free.

[1] http://www.clifford.at/yosys/

[2] https://www.chisel-lang.org/

[3] https://hackaday.io/project/160759-nand-to-tetris-in-verilog...

[4] https://www.nand2tetris.org/

[5] https://www.theregister.com/2020/07/03/open_chip_hardware/ https://github.com/google/skywater-pdk


> How to get into the chip industry?

If your idea of a chip industry is that part of the industry that physically makes chips... then most likely you don't.

Very likely more than half of people who venture into this career, and successfully graduate will never see any work in the field.

Just like in the medical field, a tiny amount of people end up being practicing doctors, and more than half end up in "near med" fields, from pharmacists, to nurses, and .. to an analogy of quack doctors despite high salary potential for the most lucky.

Let's begin:

1. First, be born Taiwanese

2. Second, finish EE PhD at around 15-20 years ago, at maximum

3. Third, get through the glut of other young engineers who ventured into the field at the crest of the dotcom boom wave

4. Fourth, be lucky to selected for hire upon completing a long unpaid internship

5. Fifth, spend your first 3-5 years in a role of office coffee porter, and such

6. Sixth A, be lucky to be finally selected by somebody for actual RnD work

6. Sixth B, go and work as a fab tech at $2000 USD a month


Your question has been well answered. I'm surprised you even ask it, because the answer is so obvious for such a poorly formed question: get a graduate EE degree.

I would be interested to know what you are doing now, that you don't like, and why you find the "chip industry" attractive?


For someone competent at coding, a good way to get into the chip industry is as an embedded programmer, writing firmware. These are usually in high demand in the industry.

If you do want to go straight on, FPGAs are a good and fun option.


Turn into a "technovangelist", advocate https://www.yokogawa.com/yjp/solutions/solutions/minimal-fab...

FUCKING DISRUPT IT!

Profit.


Check out everything around RISC V. There the rabbit hole is as deep as it can get.


Start with potato chips. Then, go where the spud takes you. When you ace your yams, you know you've made it.


Ha ha pretty funny :-)




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: