Hacker News new | past | comments | ask | show | jobs | submit login
The FPGA Designer Who Didn't Get the Job (zipcpu.com)
94 points by PaulHoule 7 days ago | hide | past | favorite | 78 comments

This is a classic supply and demand problem. EE and FPGA jobs don't pay well. You can see the same thing happen in entry-level ML. Applicants want to design models, not spend their days cleaning data. If you pay well enough you will get good candidates who will be willing to put up with mindnumbing jobs. The Zip CPU author sounds like those software "artisans" who regularly get posted on HN. There is plenty of room for pontificating and navel gazing after you receive a nice FAANG-level pay check.

Maybe he should ask his client how much they are offering first before complaining about the South Asian labour supply. Post the total compensation offered at the start of the blog post. I am sure there are plenty of talent from IIT who will be more than qualified if his client is willing to pay well. Ask his clients to price match the hire's salary with his own Gisselquist Technology per-hour consulting fees.

I think the disconnect was not about compensation, but expectations. If you are working for a small business, you have to wear many hats. There are not enough X jobs to fill all your time, so you do X 60% of the time and Y, Z, and Q the other 40%. In a BigCo, there is enough work to go around that 200 people can work full-time just on X. If you get hired for X, you don't have to do anything but X.

The client, if they had to ask an outside consultant to vet a candidate for them, must be a small business. They do not have enough work 5 full-time employees, one of whom works on design. The designer is the verification engineer and the project manager and the customer support person. I don't mean the person works 100 hour weeks. They will work the normal 40, but there won't be enough design work to do 40 hours of it per week.

If the candidate wanted to do one thing and one thing only, they won't find it in any small business. They should focus on applying to large companies. And the client should find someone who is fine with being a "full-stack" hardware engineer, instead of a hyper-focused professional.

All these problems will solve themselves if the companies raise their compensation. You see this in the ML industry all the time. Many non-tech companies and even small to medium sized tech companies expect their data scientists to be fullstack engineers. And yet refuse to offer a similar level of compensation. Then they wonder why all the top talent flock to unicorn and FAANG type corporations.

While remuneration is an important part of job satisfaction, it's not the only factor. If hire someone who hates travelling for a job that requires 90% travel time and give them a generous salary, they accept it, but will be completely miserable in it. They won't quit because of the golden handcuffs, but is that a "solved problem"?

Big banks do this to the juniors: pay them tons of money and work them to death. They have no problem finding talent. But I prefer companies find ways to make their employees lives not miserable instead of saying "here's some money for your misery, you may want to spend some of it on a good psychologist".

I am saying this as someone who has seen what working in oilsands does to people. Some people enjoy it, but some only stay for the money. They are extremely well-paid, extremely miserable, and never quit.

I do agree no one should be whining about being unable to find sufficiently-skilled people to hire when the only real problem is they don't offer enough to get them. But I'm not sure it's fair to hold all businesses to the pay standard of massive tech giants who can monopolize one new product niche after another by leveraging their current dominant positions along with the patent/legal systems. Not to mention their exuberance-driven stock to throw around. Such a business model simply can't be available to all.

However I suspect we aren't talking about FAANG/unicorn-capable top talent here, hence the candidate applied to this job in the first place. I'd also be suspicious the candidate is ducking questions because they can't answer them. Unless it's just interview practice for them and a waste of time for the company anyway.

> EE and FPGA jobs don't pay well.

The problem is that EE/FPGA jobs have to compete with FAANGs.

However, hardware, by and large, isn't VC funded. Hardware also has a fairly objective criterion for success.

So, you're not going to get offered $200K unless you actually know what you're doing and bring direct business value. And, if you don't know what you're doing, that's going to be apparent real quick.

As for the ZipCPU author:

1) I don't have to make interviewees go through projects. A simple state machine is enough to separate the wheat from the chaff in Verilog. Practically every online tutorial gets non-blocking and blocking assignment wrong--so interviewees who get that right have demonstrated that they have been bitten by real experience.

2) Quoting Bible verses is a GIGANTIC red flag for me, personally. All the businesses I have dealt with that have done this have been owned by absolutely terrible people with only a single exception to the contrary.

> The problem is that EE/FPGA jobs have to compete with FAANGs.

Too bad. That is the free market. The market is not obligated to provide companies with labour, just like companies are not obligated to provide people with jobs.

No argument.

But the flip side is that I'm also not required to hire someone either.

However, programmers don't get to complain that the FAANGs are gatekeeping/discriminating/etc. when the programmers decided that FAANG jobs are the only ones paying salaries they're willing to work for.

I'm curious about FPGAs but don't have any background in stuff like that. How many weeks would it take to build something useful?

It can take as little as a couple of days--most of the tools even let you draw simple logic schematics. But this is useful only if you have something that fits the use cases for FPGAs.

The problem with FPGAs is that they're only really useful in very narrow niche applications--generally with hard real-time constraints. So ... motor controllers, high-speed ADC/DAC interfacing (think software defined radio), weird processing algorithms that don't work well on a DSP, safety interlocks, etc.

Most people are far better off learning a microcontroller family in depth (think: STMF32 series, for example). You can really bend the functional units of a microcontroller a long way from their intended usages in order to abuse them to do what you need under most circumstances.

I don't reach for FPGAs much anymore as an embedded engineer. Normally I trawl through the various microcontrollers to see if I can make something do what I need. If those don't work, the next layer is to look at SoCs like the AM3359 from the BeagleBone Series which have stronger processors to run Linux (Linux provides larger storage, CPU, and lots more communication options) but have hard real-time units (the PRUs).

Finally, if even those don't work, then I'll start thinking about a cheap FPGA in concert with an external microcontroller.

One unusual thing is that I'm an absolute bigot about not putting microcontrollers inside my FPGA (neither soft nor hard cores). Even the worst microcontroller toolchain is better than the best FPGA toolchain so I am adamant about external microcontrollers.

> The response from this individual rather shocked me. He said, sorry, but I’m looking for a design job, not a verification job.

This shouldn't have been too shocking. In the digital design industry, design engineers and verification engineers really are different positions. They require different skills, and though there are people who can do both well, they haven't been interchangeable for a few decades. I'm not surprised that an applicant for a design position would decline a verification job, especially if they're not just looking for an entry point at some prestigious team like Apple's CPU group.

The strange thing is that finding a bug and "fixing a broken design" is a design task, not a verification task. The verification engineer creates the simulation testbench and the tests to expose bugs. The design engineer uses these to find and fix the bugs. I doubt that most design applicants would balk at being asked to find and fix a bug in an existing design. So I'm not really sure exactly what he asked the interviewee that got the response he claims.

> One of the realities ingrained in the history and culture of Gisselquist Technology is that simulations rarely find the critical bugs.

This statement is so wrong that I think the author must have decided to redefine "critical bug" as any bug that simulation doesn't catch. In reality, there are critical bugs found at multiple steps -- design review, simulation, prototyping, ... not to mention critical bugs found in backend "verification" (timing analysis, equivalence checking, ...). The author pushes formal verification but it's not an alternative to simulation; it's a complementary strategy.

I really don’t see what’s wrong with an applicant saying “no”. Employers say “no” all the time! The paragraphs and paragraphs about small-business ownership and how you have to hustle and grind and have character seemed really odd to me. Your applicant didn’t want to do what you wanted them to do. Just move on?

I think the author was just a bit peeved after interviewing what he saw as the hardware equivalent of a software engineer who considers writing any tests beneath them, a job for someone else.

> a software engineer who considers writing any tests beneath them, a job for someone else

I'd also balk at that for an interview take-home test.

I was an Indian QE guy looking for a dev job once. I was that guy whose job was to write tests for someone else, which wasn't fun at all.

If I had interviewed somewhere and I felt the conversation was going towards "how good are you at writing tests, write some", I'd have noped out of it immediately.

Specifically because testing was being offshored (think of the early 2000s) and development work was being held at HQ at my then employer.

I would expect that this work would be my day-to-day based on that interview.

That sort of "stale smell" around the job of writing tests for someone else's code stinks to say the least.

Right now I'm on the other side of the hill, I'd consider it a red-flag if someone interviews me for a day without asking me "review this code" or "analyze this design", but merely whiteboard a bunch of algorithmic C++ code without any tests.

I can see why your experience might lead you to that particular bias. However, that's not where he's coming from. If you've followed his blog over the years, you'll see that he believes you cannot be a decent hardware engineer unless you also have some formal verification chops and use formal methods as part of your design methodology. That's his bias. He expects a practicing HDL engineer to write their own verification proofs.

To expand on your point: the client asked him to evaluate. That he expects good HDL engineers to handle verification is thus also part of the client's requirements.

The client trusts him, not a theoretical average engineer but the exact specific engineer who has been successfully delivering results. The client wants another one of those HDL engineers who handles verification. The candidates rejection is indeed an impasse, such happens. Doesn't mean the candidate was wise.

Someone else pointed out that nowhere did he list how much he was going to pay this guy. Horror stories abound about companies using “take home” application tests to get work done for free, I think it’s somewhat reasonable for the applicant to be wary about this.

>On top of that, my client was offering to pay this individual to do the work.

Yes, but /how much/ was the client offering to pay? This whole situation screams of someone trying to get a cheap deal, then getting mad when the attempted victim wises up. (This is pretty typical with loud-and-proud small business types, IME)

How can one get a "deal" on "throw away interview tasks"? The requested tasks only existed to prove the candidates skill. Paying for the time was above all a method to justify the time usage and show seriousness on the client's part.

The only value created by the interview is the possible hiring of the candidate themselves. There is no room for profitability interviewing candidates "on the cheap".

I think it matters whether or not the amount was explicit, that's not clear in the post. Also, based on the (inexplicably) one time the author mentions the candidate was Indian, it's plausible the latter was wary of being exploited.

But "verification engineer" is a separate specialty - much like "QA engineer" is a separate specialty. I didn't get the sense that the candidate considered anything beneath them, just that the candidate was looking for a specific job.

Aside from addressing the article directly, I appreciate the author going to such a length to explain his point of view to the potential candidate. So often I experience such little communication when engaging potential job prospects. Often I'll reply to a recruiter and end up being ghosted.

I've spoken a few times with the author, he's quite a decent guy. He's quite active in advocating for formal verification on FPGA's, and is happy to spend time on forum threads teaching those who ask good questions and are willing to learn.

This guy is a bit out of touch with reality. He apparently works on his own as digital design debugging consultant, meaning he likely hasn't worked for larger firms. If he did, he'd know that at most hardware design companies, there's a pretty clear split between design and verification, and people simply don't bother learning the skills necessary to do both. He can bluster on about how HIS consultancy has benefitted from his ability to do both, yeah we get it man, but you're a one-man shop. Specialization, have you heard of it?

> The response from this individual rather shocked me. He said, sorry, but I’m looking for a design job, not a verification job.

> I bit my tongue on my first response.

> My next response would’ve been a simple, “Thanks, but no thanks.”

I must be missing something. After the candidate rejected the job he was going to tell him "Thanks, but no thanks." Is this like "you can't fire me because I quit", except for the hiring party?

What? If I'm looking for a job doing x, I'm not going to accept y, and I'm most certainly not going to be playing some game with the employer where I'm tempted by what I want but never given that.

It's the same with testing: it's in huge need but few want to do it, and similar traps are laid there: "come work for us, you can do what you want, but first let's do not what you want".

I agree. I am currently in a job where I was brought in under the pretense that while being a developer I would be involved with design work. All my previous jobs, I was involved in design work. That pretense was a lie, I haven't done any architectural design work in over a year now. I simply implement the designs of people that haven't been near a development environment in over 10 years.

"This server will talk to that server" is great, until your designer specifies you're going to use passive FTPS and forgets that the particular FTPS server you're talking to has no mechanism to restrict its ephemeral port range, and your customer isn't down for opening ports 1024-65535. "It's just FTP, we'll just open the FTP port".

I am miserable because of it. I want a say in what I build, I was promised a say in what I build, and I have no say in what I build.

I guess I'll be the first to say it - does the author of the article strike anyone as a bit of a pretentious asshole? Downvote away if you have to, but I just thought someone needed to say that.

He has a lot of red-flags:

- Bringing over and over again that "he was an official of the US army"

- the "you didnt reject me, I reject you" spiel, although this part was hilarious to be fair,for being so childish.

- The part when "he bit his tongue" before answering to the kid. What does he think he had to answer?

- The "one person Christian company" thing

And I got bored, he sounds like a "Prima-Donna" too. The post is an exquisite example of projecting in action.

It was the air force. And anyone who can graduate from an engineering program (and lacks a drug-use history or whatever probably) can probably qualify for that. They recruit pretty aggressively at universities.

He did make an unnecessarily-specific statement about being a lt. colonel at one point, but I don't know that it's a hard rank to get to. I though it was more the point at which career officers got stuck.

Yeah Lt. Col is fairly easy to reach if you "do your time". Colonel is much more difficult and requires a bit of luck and General is impossible unless you have General friends (seriously, you'll never make general unless another general grooms you and vouches for you)

An engineer mindset is often blind to the complexity and skill that goes into good management of people. It occurs to me that working alone is a good way to optimize one's engineering skills and not have to bother with thinking about how to create and sustain good teams.

Check out step 9 of this blog post he wrote to get an idea of how he treats trans people: http://zipcpu.com/blog/2020/11/26/zipcpu-biz.html

I would imagine that there are potential communication obstacles to overcome for anyone choosing to work with him.

> The following is copied from my response to him, with a few minor edits along the way.

This is probably the most important line of the post for context. The latter 70% is a copy/paste of an email response he sent to a job applicant who said he wanted to do design, not verification. Presumably this copy/paste is almost the entirety of his response because the post ends the way you would expect an email to end, with a signature.

I don't know the full situation, but I'm imagining the candidate said "not quite what I'm looking for" and got this guys life story in response, along with insinuations that he's a Prima Donna, and judgments like "If you are a design engineer who can’t humble himself enough to verify a broken design that’s been given to you, then I foresee that you will also be difficult to manage."

He might be a nice guy, I don't know. But from what I see of this interaction, he was acting like an asshole.

I upvoted you. Verification engineer and design engineer are sadly 2 different things. I could do both, but I don’t like e and specman for verification and wouldn’t take verification job. Plus this guy is ex-army, I worked with few of this kind. Their people and technology skills were rudimentary. Army is very hierarchical and nobody questions dumb tasks. Sadly engineers do and become Prima Donnas. I can’t deny, that difficult individuals exist, but that’s how real world works. There are no groups in my flour without famous jerk in it in big Corp I work for.

Repeated “formal methods” but I never learned what that meant, by the end of the article.

That’s ok. I went deeper, and pretty much still don’t get it.

i'm not one of those people that overindexes on this even to me it stood out: why bring up the guy's ethnicity? it never comes up again in the post.

what is good course to learn formal verification ?

If you found this article interesting, I'd recommend this article by the same author: https://zipcpu.com/blog/2020/11/26/zipcpu-biz.html

> On another team I worked with, I was asked to call a man by female pronouns. This one brings me more grief, as I enjoyed working with the individual in question. He wanted to declare himself to be a woman. He changed his name, his clothing, his looks, his dress, you name it. While I might disagree with his decisions, who made me a judge? However, for me to call a man a “she” would make me a liar. This I refused to do.

From another post: https://zipcpu.com/blog/2018/10/04/welcome.html

> My Christian beliefs are centered around a literal interpretation of the Bible. This includes a belief in a 6-day creation that took place roughly six-thousand years ago, a belief that God will cause the end of this world rather than any man-induced climate change, a firm belief that a free people should be an armed people, and more.


I would worry that a young Earth creationist might make a poor designer. Someone who might ignore the evidence of a design error in favor of some other interpretation not supported by evidence.

Why did the deity put the fossils there? In order to confuse us? In order to challenge the faithful? It defies reason. You can only put it as a mystery of faith. But it needn't be.

I always thought the most plausible explanation is one developed Terry Pratchett in "Strata":

If you are going to create a planet (or universe) from scratch to be the home of an intelligent species, including a realistic history is critical to give that species sufficient historical context to learn about how things work.

Understanding evolution and biology is a lot harder if you have no fossil record. Understanding plate tectonics is a lot harder if you don't have a consitent geologix record. Understanding physics is a lot harder if you don't have a light coming in from events that predates the creation of the universe.

Thus if you grant that the universe was created 7000 years ago with a huge, detailed and consistent history, the clear implication to me is that we are intended to study that history to understand the universe in which we exist.

Some people do in fact believe this: https://en.wikipedia.org/wiki/Omphalos_hypothesis

This reminds me of being a teen and getting my mind blown when a friend of mine said, "You can't prove that you didn't just start existing right now. Who's to say that all of the memories of your entire life were all implanted in your head to make you think the universe didn't start right now."

Many of PKD's stories are about identity and memories, subjects just like that. And several of those stories have been adapted into film/TV.

In my first HW design job out of college, I was very surprised when a senior engineer made that exact claim -- that God planted dinosaur fossils in the ground. I knew he was very religious and I could tell he was quite serious, but it was long ago and I had never heard of Young Earth Creationism, so I was shocked into silence. (Also, he was my manager and I decided I couldn't afford to argue.)

> Why did the deity put the fossils there? In order to confuse us? In order to challenge the faithful?

Went into a creationist museum once (real thing). And the literal answer to your question was ”Yes, Satan put the fossils there to temp us away”.

I can’t attribute that to all creationist, but it was the case for the few I interacted with.

My dad tried to say the same thing. I countered with that in the Book of Job the devil couldn't do anything to Job without God's consent, so that would mean that God was trying to intentionally fool people with no way to prove what we can see with our own eyes wrong.

He changed the subject and never brought it back up to me again.

> Why did the deity put the fossils there? In order to confuse us?

In Heinleins “Book of Job,” this is suggested as the answer in one scene. A grand book

Extreme literal interpretations of any text (however times re-written by multiple scribes) is a self-induced limitation of perspective. This is why the SCOTUS has multiple people.

Furthermore, when can we tax religion in the USA and weaken its power over the population?

Does the Bible really talk about "free people being armed"?

No. It says Christians should obey the authorities, pay taxes, turn the other cheek, not equate gain with godliness, and it plainly states "Pure and undefiled religion" is to take care of the unfortunate(Widows in this case) and keep oneself unspotted from the World. It doesn't say to build a Christian nation. It doesn't say to fight abortion. It doesn't say to kill your neighbor if he wants to take your stuff.

I am all for anyone who wants to live a Christian life in accordance with the Bible. Good luck to them. 99% of modern American protestant Christians are frankly full of shit. I sadly was one for many years until I started reading the book I was espousing.

Then Jesus said, “But now if you have a purse, take it, and also a bag; and if you don’t have a sword, sell your cloak and buy one.

It seems silly to take those words and interpret them in a way that means you should not defend yourself.

The real answer is that the Bible was written by people who like it or not had agendas themselves. What was King Jame’s word, and why was it so important he had his own version of the Bible?

Christianity like most other religions has plenty of examples of righteous self-defense.

Well, except that Jesus literally told you not to defend yourself from takers. You can't get more direct than this:

> But I say to you, Do not resist the one who is evil. But if anyone slaps you on the right cheek, turn to him the other also. And if anyone would sue you and take your tunic, let him have your cloak as well. And if anyone forces you to go one mile, go with him two miles.

So, assuming Jesus was speaking literally, the only possible interpretation I can think of is that Jesus wanted you to buy a sword, but not use it against others. Why he wanted you to buy a sword, I don't know. Maybe he had a friend blacksmith.


It depends on what you see as canon.

From Arm 2:9-21,

> And Saint Attila raised the hand grenade up on high, saying, 'O Lord, bless this thy hand grenade, that with it thou mayst blow thine enemies to tiny bits, in thy mercy.' And the Lord did grin. And the people did feast upon the lambs, and sloths, and carp, and anchovies, and orangutans, and breakfast cereals, and fruit bats, and large chulapas. And the Lord spake, saying, 'First shalt thou take out the Holy Pin. Then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out. Once the number three, being the third number, be reached, then lobbest thou thy Holy Hand Grenade of Antioch towards thy foe, who, being naughty in My sight, shall snuff it.'

At first I thought you wrote this yourself!

That Herod was a talking fox, just like how satan was a talking snake...

Damn, for all the huffing and puffing about “prima-Donnas”, it sure sounds like this guy couldn’t even follow a very reasonable request.

It is very rare that I meet people who complain about others being themselves humble, sweet people, who are great to work with.

"I am very humble myself and I will write a scathing, mocking article to explain in great detail how stupid and entitled I think you are if you do the slightest thing I disagree with" -that guy

I was wondering why this guy was a one-person company when, apparently, his time is overcommitted and it's a buyer's market for FPGA engineers according to him.

Now I understand.

He also indicated that the man in question was Indian which is very curious given his mindset.

For those having trouble with this, the consensus within inclusionary groups in the US is that sex and gender are separate concepts. Meaning that males can be recognized as males and females as females, no matter what their pronouns are, as that is sex. Gender is not intrinsically tied to those, so gendered words like “man, woman” and “he, she” can be dynamic and up to the individual to identify as.

The consensus on this may seem confusing because other English speaking countries have not necessarily adopted this clear separation, within trans communities or areas willing to be inclusive.

So on the internet, a lot of discussion on these topics gets mixed up with exclusionary as well as simply Commonwealth residents versions of how to be inclusive.

The general recognition is that people are able to be productive members of society by simply saying their desired pronouns. Even when “they” adds an additional context as a singular form which didnt exist prior, or when “xie” didnt previously exist as an English word. It is such a simple ask with massive productivity leverage that people are willing to do it. It would not be a lie, when separating sex from gender.

Also, HRT changes many of the factors we simplify to “sex”, based on it changing all sex-based gene expression. So while you can’t literally change to “the other” sex these people rather exist outside the simplified classification.

Not that anyone but your doctor should care.


Within inclusionary communities it is a prevailing consensus. It makes it make sense and is very benign for everyone else to accomodate.

Everything starts with a “simple ask”. If it’s so small and simple, then why are we being fought tooth-and-nail over it?

There is no consensus either, outside of a small minority. Prior to 2012, custom pronouns would have had you laughed out of the room. You don’t get to redefine language and force your linguistic preferences on others. That’s not how language works.

> You don’t get to redefine language and force your linguistic preferences on others. That’s not how language works.

In fact I think it actually does. In the last century this kind of thing has happened many times. One phenomenon is the way we refer to people who have intellectual disabilities. Sometimes it's called the Euphemism treadmill - as clinical names are created to describe a problem, they get used as a pejorative and the clinical name is now associated with the pejorative use. New clinical names are created without this association and on it goes - idiot, moron, retarded, slow, special needs, etc.

Also, minorities have sought to redefine how they're described. Negro, black, African American. Oriental, Asian.

Natural languages reflect their usage. So it's normal for popular usage of language to change how we speak. Some of those changes are incidental and some are deliberate - the result of a social campaign.

> You don’t get to redefine language and force your linguistic preferences on others. That’s not how language works.

you literally do and that’s literally how language works. You are free to disagree with these new definitions, and in turn people are free to show you the door, just like what occurred in the post above.

(What’s the alternative? Words are given a fixed definition at their conception? Who gives these definitions?)

The alternative is that linguistic preferences aren't forced upon others?

Ok, then where does the meaning of a given word come from? It comes from somewhere. If not from consensus, then where?

this is all unfortunately very far from the original argument, which is that it takes no effort to just use whatever pronoun is asked for. It’s no different than when someone named Thomas says “please call me Tom.” Do you jump up on the table and start citing Bible verses about the perils of falsehoods, or do you just fucking call the guy Tom?

> You don’t get to redefine language and force your linguistic preferences on others. That’s not how language works.

I don't particularly care about rehashing the ethics of preferred pronouns right now, but what you've described is exactly how language works. You might look into why standard practice moved away from capitalizing nouns in the 19th century.

> why standard practice moved away from capitalizing nouns in the 19th century.

I can't find any reason on google. Got a link?

Deutsch is keeping the faith in the twenty first century!

Not only on capitalized pronouns but heavily intrinsically gendered language!

English is like easy mode for inclusion.

I'll throw another counter-example in the pot here: 'Literally' has come to mean (in modern parlance) both literally and figuratively. You can disagree and push back against the use and abuse of a word, but language and the use of language will continue to change with or without you.

Applications are open for YC Winter 2022

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