4 ms·
I'll throw in my opinion for this. The author states how its routine for people to be older in the Hardware Industry. I work as a Verification engineer for a CP
by CPU_Verif 10y ago
I'll throw in my opinion for this. The author states how its routine for people to be older in the Hardware Industry. I work as a Verification engineer for a CPU project.
From what I see, every company in this sector works off of years of experience. Even if you are god's gift to the world of CPU design, the career options available to your are linked to the years you have worked.
I recently attended a presentation by ARM, where they boasted of this quote "At ARM, we don't really expect our graduates to be able to do anything until they're about 2 years into their careers, at which point they're expected to be decent at something"
And they boasted of it! To a theater full of CS students. And this was a 35 year old line manager making the comment.
If you want a career where you can rise based on merit, and not the numbers of years on your CV, don't pick hardware. I've seen it as an insider, the occasional "kid" comment being thrown around(ARM), designers refusing to work with junior verif staff(imagination tech), people who have written a project from scratch over 2 years not given tech lead roles as the project grew, etc.
Such an enviroment quite often bleeds younger engineers. It saps desire and motivation. Because there are so few startups, good practices don't matter. Here's some conversations I've had:
"We don't need to write tests for our software ISG, its a waste of time"
"What is wrong with me writing an extension to the software as a special case? It only executes that code if the username is me"
"We don't do training for new people".
I routinely see younger engineers with 3-4 years of experience try and spin out of CPU/Hardware and into Software.
- GFK_of_xmaspast 10y agoI'm not a HW person but my interpretation of this line: "we don't really expect our graduates to be able to do anything until they're about 2 years into their careers, at which point they're expected to be decent at something" is "there is a lot of specialized knowledge that can only be gained through on-the-job experience".
- CPU_Verif 10y agoIn the first 2 years of work, I bounced about quite a lot within my first company, and did the following: Formal proofs and checks for a full unit. RTL design with another bloke on a block. Owner of an testing tool (developer). Owner of a testbench for top level design. Owner of process for bringing up new pieces of RTL(4 blocks, one after the other) into the top level design. All of this was caused because the startup I started in was stupidly undermanned, and there wasn't anyone else about. When I left that company, they had gone and hired about 12 people to do all of those tasks, and I saw myself handing over tasks to more senior people. I had experienced atleast 3-4 different areas of the process, and became really familiar with ARMV8 (what got me my next job). Yet this guy over here is thinking that its gonna take 2 years for someone to be even able to do 1 of those tasks? Could argue a really long time about individual cases, but I think the Hardware industry has a very big problem with arrogance. Most companies and senior people carry an air of "no one else can do what I do" kind of bs, that I experienced in SV quite a bit. They look down on junior devs thinking that they are incapable of doing anything. I asked in my office just now, the reasons for leaving their first jobs: 1. Wasn't allowed to do RTL design work inside the CPU 2. Wasn't given any responsibilities other than manually writing coverage(automating this was not permitted) 3. Ownership of the block that he had written from scratch was given to a more senior person once it came to integrating it to the top level 4. Money I find it extremely common for people(usually at the 2-3 year mark) to leave for greener pastures where they are taken in as experienced engineers, rather than useless babes. It might be a rite of passage, or it might just be the mistakes of an industry entrenched in the past
- petra 10y agoWell, the chip industry is an industry with low risk tolerance - making a buggy chip is very expensive, You'll probably see a similar behaviour in many high-risk engineering fields. Software works differently , so no wonder it's more appealing.
- aninhumer 10y agoI had a similar experience working in a hardware research group for a few years. We were working in Bluespec, and our process was very software like, in that we'd hack things together and fix bugs when they arose. We were doing okay in terms of getting working hardware quickly, and our process was fairly bad (e.g. we used SVN, often badly). I think a better funded team using modern practices (backed by some more traditional QA) could do really well. And my impression from our interactions with the industry is that hardware and software are so culturally separated that there are hardly any people who end up experiencing enough of both to truly tackle the problems. Hardware people tend to think abstraction is a synonym for inefficiency, and software people often aren't familiar enough with the complications of hardware to abstract it efficiently.
- tonmoy 10y agoOn the flip side, the ageism issue is not present in the hardware industry as it is in the software industry. Also, for digital design, no "cutting edge" technology is coming out anymore, so experience becomes much more useful than merit PS: I am a very very fresh hardware guy
- nickpsecurity 10y agoI'm with GFX's interpretation. I read another article by hardware engineer talking about how many people in his company were 40-60. They kept paying experienced people not to retire because the wisdom they accumulated over the years simply didn't exist in the younger crowd. All these companies could start packaging that up and training all the young crowd. That's already a cost issue but he said bigger one was inexperienced people screwing up one design decision might cost a fortune. They just hired older ones for key positions instead to knock out the risk. That's what I've learned reading a lot of articles on age and HW. They've been consistent. The young people are often in verification as it's mostly manual work feeding tools or doing math that doesn't require tons of experience. That's at least the impression I'm getting of people's descriptions of verification vs designing hardware.
- gluggymug 10y agoI think it is true that the less experienced engineers start in verification however the verification role is actually quite difficult. It is much more than feeding tools and math. You only do that during the execution phase. That can be assigned to newbies. However the creation of the verification testbench and tests is as extensive as the design. The verification team has to work in parallel with the design team so they have enough time to get things done. If they make a mistake in verification it can still also cost a fortune. If the testbench and tests are not well designed then you are screwed in a roundabout way because the ability to quickly find the bugs isn't there. The testbench has to work on both the rtl and the back annotated netlist. Approximately 75% of the person-months and compute resources for most projects is verification work. I have been verification lead on multiple projects and design lead on multiple projects. In either role I always looked to assign verification resources as top priority because the project is screwed without it. On the original topic: The problem is that most commenters are not in the verification field. They don't know the amount or type of work done in verification or the commercial tools involved. This is done in SystemVerilog to do UVM - Universal Verification Methodology. It is not just Verilog. People here are concerned with ease of design. The bottleneck in the industry is in ease of verification.
- kbenson 10y ago> And they boasted of it! To a theater full of CS students. I think this is highly contextual, and how you interpreted that statement depends on how you were primed to interpret it. You can assume they meant that it's an age based hierarchy, or you can assume that it's an extremely complex job that a CS degree doesn't adequately prepare you for, so it takes a couple years of apprenticeship before you are qualified to do something yourself. There are plenty of industries like this, where it's not just about being smart and using your intellect to put the relatively small amount of parts together into something that works, but instead has a large chunk of learned wisdom that is not quick to impart, the importance of which is sometimes discounted until it's dealt with, and the consequences of messing up are fairly high. Some examples: electricians, plumbers, architects. Fields that we've decided often require certification and that certification requires an apprenticeship period, because we don't want electrical fires or dead electricians, or water damage to our homes, or leaking sewage, or collapsing buildings. In a lot of ways, I think the problem with the software engineering industry is that we don't have a system like this in place. Name me a programmer that thinks he was just as good at 22 at not making architectural or security mistakes as he was after 10 years more of programming and I'll name a programmer I never want to work with. Chances are they'll be the same person.
- eli_gottlieb 10y agoYeah, when I want kernel or firmware code written, I want it done by someone experienced, or someone trained by someone experienced. I've had the very fortunate experience of being the latter person (up until only a little while ago), so looking back, I can damn well see the difference.
- mars4rp 10y agoI can relate to this, I did a MS in Hardware and I was good in design ( I developed couple of algorithms that didn't exist and it has application in FIFO for example) but all the jobs for the new grad is in verification! I switched to Software and I am happier with my choices. although I really miss the Hardware where an additional line of code can mean screw your performance !
- moftz 10y agoIs the experience-based career mostly because the methods behind verification haven't changed much? VHDL and Verilog haven't changed much compared to the software world where new languages with novel features come out every week. The technological advances come in the form of larger FPGA fabric in chips and better fab processes but the HDL running on there is not much different than the HDL running on there 15 years ago. So what I'm thinking is that the job of a verification engineer hasn't changed much so the old guys can still keep up with the recent grads. Therefore, when a team needs a new verification eng, they look at someone who's been at it for 10+ years and the kid who just got out of school and say the old guy might cost more but he should know what he's doing after all these years whereas the kid is cheaper to hire but he's been doing this maybe a couple semesters and an internship.
- plandis 10y agoI guess it depends on how you interpret the message. In my experience (working at Amazon) it does take a couple of years for a college hire to be efficient on their own. It turns out that even in software there are things to learn that a university does not prepare you for. I'd say it's also a decent mix of technical AND soft-skills that you will learn on the job to work efficiently on your own