
Ask HN: Why is it so hard to hire good engineers? - arlix
I was wondering if anyone in charge of hiring here has any insights on why its generally so hard to hire a good engineer. I have been brainstorming a startup focused around recruiting, and I am an engineer myself who has struggled with this in the past in small startups. Does it become easier if youre hiring for a bigger company than a small startup?
======
imauld
Because they all have jobs. And if they are looking for a new one they can
pick where they want to go because by virtue of being good engineers it's easy
for them to find jobs since everyone is looking for good engineers.

And if they aren't looking, why not? My best guess (aside from being happy
where they are) is that the engineer interview process is broken. People don't
want to go sit in a room and grilled on CS 101 level questions for 4 or 5
hours. It's stressful, it's a poor predictor of performance, and it's most
likely not what they will be working on. So they avoid it.

Just my opinion though.

~~~
pacala
From the other side of the interview table, how do you tell apart engineers
from bulls__t masters, who take credit for their team's work without ever
having a positive engineering contribution?

~~~
sidlls
Have them talk about the problems they solved at their current and previous
employers, and get to some technical depth while doing so.

This doesn't mean asking him to implement some CS algorithm from scratch on
the board or doing a Big-O analysis.

It means asking him about the specific methods and how/why they worked and
going into some depth. His former employers' "company secrets" aren't a good
excuse for hedging here, either: with few exceptions he should be able to use
a contrived, but representative system, data, etc. to explain if he truly
contributed to the solution.

------
git-pull
Are you sure it's not the other way around?

Maybe it's hard for good engineers to find good employers and bosses.

9/10 of the technical screens I take are bunk. It boils down to what's fresh
on my mind that moment; random trivia.

I feel the comment I made "It's an employer's market"
[https://news.ycombinator.com/item?id=12667346](https://news.ycombinator.com/item?id=12667346)
rings true.

There's no incentive for the employer to apply more thought into holistically
seeing if a can perform a role - or learn it if accommodated.

Not impromptu, fanciful, hypothetical scaling scenarios and job requirements.

> good engineer

What does that mean?

Those involved in hiring aren't skilled engineers. They lack qualification to
determine what a good engineer is. It's Dunning-Kruger.

A manager is reluctant to hire a star programmer that could run laps around
them and upstages them. A junior programmer will use on-the-spot technical
interviews to disqualify - catch them off guard - so they don't hire the
person who replaces them.

Merit is thrown out the door due to turf protection. So maybe a more correct
word would be, an "appropriate" engineer. To suit the political dynamic and
lack of incentive to make the company tech-centric.

If you've been bossing people around for the last years, you haven't been
doing much other than talking while we've been hacking all this time.

~~~
PaulRobinson
You're generalising and stereotyping in a way that suggests you're not very
experienced, so perhaps we can put down the bizarre sweeping statements to
inexperience.

I'm an experienced engineer and have hired many people. I specifically look
for people who are better than me and I can learn from, even if I'm going to
be their boss.

Why would I do that? I believe if you want to get better at something, hang
out with people who are already better. I get better if I work with better
people and, as it happens, my bosses/shareholders are happy with that too
because they end up with a more talented workforce.

The trick then is making them want to come and work with me. If I'm super
lucky, they have gaps that others in the team can help with, and that way they
can still grow within the team.

It's no different to building a band: Paul, John, George and Ringo all knew
the others were better at something than they were, and knew that was the
secret to them all individually stepping up and beyond their previous
abilities.

The fact you've worked in toxic environments with toxic people is something I
am sorry to hear. I sincerely hope it gets better for you one day. However,
please don't make your experiences a statement of fact about the state of
technical management and leadership in general.

~~~
notyourday
> You're generalising and stereotyping in a way that suggests you're not very
> experienced, so perhaps we can put down the bizarre sweeping statements to
> inexperience.

Dunno, his experience pretty much matches experience that I had in different
parts of this industry in different roles all the way to being someone who
only reports to a board of directors. It also matches the experience of lots
of people that I know. It is the "mean" of all industries and even unicorns
revert to the mean in time.

> Why would I do that? I believe if you want to get better at something, hang
> out with people who are already better. I get better if I work with better
> people and, as it happens, my bosses/shareholders are happy with that too
> because they end up with a more talented workforce.

That maybe true in some small companies. In fact, it probably is true for all
small companies that survive. It is certainly not true in larger or large
companies until those companies convert individual departments into entities
judged by P&L and only P&L.

> It's no different to building a band: Paul, John, George and Ringo all knew
> the others were better at something than they were, and knew that was the
> secret to them all individually stepping up and beyond their previous
> abilities.

This is how the bands that do not make it out of a garage look like - the ones
that are staffed by sad 40 year old men who think their music is awesome and
they are just about to make it while working as waiters and bus boys in
restaurants.

Successful bands are staffed by "rock stars" \- the minimum acceptable level
of performance is so high these people are not even in a market. There are no
managers that are not rock stars at what they do and non-rock stars are
definitely not telling rock stars what to do.

------
tabeth
This is a myth. It's easy to hire good people, just offer more money. The end.

Now, if your question is how to hire the best engineers on some budget, that's
a different question. Regardless, the less money you offer, the less likely
you'll be able to hire "good people".

\---

A more interesting and profitable question to have the answer to is how to
make a bad engineer a good one for the least amount of money possible.

~~~
lmilcin
Believe me, it's not as easy as you may think.

The main reason is that good engineers will be quick to change their jobs when
faced with enough bullshit, but the B and lower grades will be all to happy to
take any bullshit as long as you pay them the good money you are paying.

You can't make good engineer from bad. Good engineer is a person who is
interested in what they are doing. You can't make a person genuinely
interested in engineering if they are not.

You can make skilled, experienced good engineer from unskilled/unexperienced
good engineer.

You can tell who will be a good engineer even before they start doing
professional work. These will be the people who have integrity, who like to
learn, have capability to solve complex abstract problems, stamina to deal
with complicated problems for an extended period of time.

~~~
tabeth
"B and lower grades"... what? If you have some magical process to separate the
"B and lower" from the supposed A, do tell. Even if you had such a process
money would be the mechanism to capture and retain the best people, so yeah,
money is still the solution to this problem.

~~~
PeterisP
That's kind of the problem - no one has a magical process to quickly/easily
separate good engineers from the mediocre ones, you can only filter out
obvious incompetence.

So simply offering lots of money is not sufficient to hire good engineers,
you'll still get a mix of good and poor ones, and will need to figure out to
filter them afterwards when you've had sufficient time to see what they're
made of.

~~~
tabeth
You're right that there's no process to quickly and easily separate them,
however for enough money people will endure a long and difficult process,
which is the point.

------
jseliger
It is hard to hire good anyone because reality has a surprising amount of
detail: [http://johnsalvatier.org/blog/2017/reality-has-a-
surprising-...](http://johnsalvatier.org/blog/2017/reality-has-a-surprising-
amount-of-detail) and many if not most people are poorly suited to abstract
symbolic manipulation work.

Add to that the difficulty of the profession itself and the constellation of
ancillary skills one needs (conscientiousness, the ability to interact with
other people, articulateness, the ability to disagree respectfully and
intelligently, etc.) and you will find it hard to hire good "x" in general.

Finally, it is often hard to hire good "x" unless you are paying at or above
the market wage for x. The people who have a hard time hiring are generally
not paying the market wage or above it. When they do, they suddenly find it
much easier to hire.

------
iabacu
A lot of people commented on the pay.

Most companies don’t have the option to offer more to the good engineers in
the first place.

First, they don’t apply at all, and if they do, the company will probably fail
to identify them as good.

And if they do identity the good engineer, then they will tend to offer below
market (for the good engineer), and then lose out because of pay.

But it’s not because the company is necessarily cheap: it’s so rare to have a
good engineer that they probably don’t even understand the value of one (or
can’t make good use of them) in the first place, and therefore can’t justify
the offers that the market is swinging at them.

------
ssivark
I'm going to venture a guess:

I think PG's "Blub paradox" [1] applies to all kinds of skills, generally. In
very open-ended (multi-dimensional) domains, a practitioner who's achieved
level "B" will not generally be able to appreciate the additional value of a
practitioner at a significantly higher level "N >> B" \-- at least not enough
to compensate them at a correspondingly higher level. In a constrained
evaluation (like a few hours of interviewing) the probable outcome is that
higher-level practitioner will be considered slightly better, with a lot of
strange stuff thrown in, of unclear value; after all engineering is a very
open-ended domain (unlike athletics for example, where just by watching for a
few minutes you can say someone is much much better).

Since engineering skill is so multi-dimensional, one key to hiring well is
understanding which characteristics are super important for the specific role,
will therefore be compensated appropriately. Looking for generic "good
engineers" will probably be a waste of time, or very hard to accomplish.
Correspondingly, companies which can compensate well to acquire people with
specific skills will probably lure away engineers from other employers who
value them as just amorphous "good engineers".

To be able to hire good engineers, the hiring process needs, at the very
least:

1\. Good engineers as part of the selection team, so that they can select good
engineers. 2\. People who understand the (additional) value brought by
good/great engineers, so that they can make the decision to compensate
accordingly.

PS: All this assuming that the business model is functional (i.e. the business
can afford to pay a good engineer's market rate) and the work being done
actually requires the additional skills of a high-quality engineer.

\--

[1]: PG's article on the Blub paradox --
[http://www.paulgraham.com/avg.html](http://www.paulgraham.com/avg.html)

------
charlesdm
You mean why is it hard to hire engineers at "ok-ish" salaries? Life is (and
gets) expensive.

Pay engineers $500k a year or more -- they'll be kicking down the door.

------
cylinder
Why would any good engineer join you as an employee if you literally have
nothing besides a "brainstorm?" Do you have money to pay salary? Sounds like
you're looking for a co-founder, not an employee.

~~~
mratzloff
I think he means he wants to create a recruiting startup focusing on this
problem, which seems like it would be yet another company built around
increasing the recruiting funnel. I don't believe it's possible to solve the
problem _en masse_ ; the unwelcome answer is that it requires changing the
culture.

------
bdcravens
> I have been brainstorming a startup focused around recruiting

I think the difficulty around finding good engineers is because they hide from
the traditional recruiting markets, as recruiting is typically a negative
experience for the developers involved. Good engineers don't need recruiters,
and likely have a network that is far more valuable when they need a job.

> I am an engineer myself who has struggled with this in the past in small
> startups

I assume you mean that it's hard to find a good engineer at "small startup"
rates? Offer 1.25x market, and you'll find good engineers.

------
lmilcin
As a person regularly in charge of hiring engineers and being engineer myself
I have some observations.

In my opinion this comes down to the fact, that there is only a limited number
of people genuinely interested in engineering but unsatiable demand for
skilled engineers.

As in any other field requiring dedication to master, only genuinely
interested will ever become highly skilled. There is only limited number of
these people. There may be many "engineers", but they are not really dedicated
to their field. The demand creates an opportunity for people who aren't really
skilled and aren't really dedicated but who would like to profit from high
wages in the field.

These people may be interested in other fields (maybe they genuinely love
cinema or are dedicated parents) but the only reason they do their work is
because they have to provide for them or their families and they find
engineering the better choice than alternatives that would probably pay less.

It is my observation that only genuinely interested people actually produce
almost all of the results of any engineering organization.

Now, if you are an engineer and you love what you do where will you want to
work? Will you want to work for large company that has probably a lot of
interesting problems to solve and experience to gain or will you want to work
for unknown company for roughly the same money?

The issue is that all good engineers already have jobs and due to demand they
never stay long on the market. To hire a good engineer you not only have to
find a way to distinguish the genuinely interested, you also have to figure
out a way to change their mind as to their current place of employment.

If you are a company that has only mundane problems and you don't want to pay
extraordinary rates then you really are out of luck.

The best advice I can have for companies who struggle to find engineers in a
field is to try and allow fully remote work. That is if the field allows this.
Get your systems and company environment ready for fully remote work. You will
immediately benefit for being able to choose from people all over the world
and not just local to your office.

That is, provided you already have the rest of your hiring process in top
shape.

~~~
txsh
> There may be many "engineers", but they are not really dedicated to their
> field.

What qualifies you to decide someone isn’t “dedicated” enough?

~~~
sheepmullet
Results are all that matters.

All the top devs I know have had to put the hours in. Same as all the top
lawyers and all the top engineers.

If you can be in the top 5-10% of your field while never working more than a
40 hour week and no side projects or out of hours study then more power to
you.

But that's rare.

When I was, arguably, in the top 5% I was working 45-50 hours a week at a
great job and doing 2 hours a day self study on top.

~~~
txsh
I have reservations to take my wife out on Valentines Day. Should I instead
divorce her so I can spend more time balancing binary trees? Would that get me
hired, sir?

~~~
sheepmullet
> Should I instead divorce her so I can spend more time balancing binary
> trees?

It takes a lot of sacrifice to make it to the top.

Should I be allowed to study while you enjoy your Valentines Day? Then I might
just get ahead of you.

Luckily for us in tech you can make good money without being in the top 5-10%.

------
bsvalley
People want to hire great "engineers" by asking them to write stupid functions
on a whiteboard 4 hours in a row. That's after 2 phone interviews of 45
minutes each asking the exact same stupid questions. Are you guys looking for
CS students or engineers?

------
mratzloff
Three interrelated reasons:

1) Companies have no interest in investing in job skill growth

Which leads to

2) Companies have devalued the role of engineering management

Which leads to

3) The tech interview as it exists today is fundamentally broken

------
invalidOrTaken
I think a big part of the problem is insufficient agency on both sides of the
equation.

I was talking to a potential client today and he told me that he'd been
considering hiring an engineer with a strong "official" background (Cisco,
etc), who had billed himself at $100/hr.

"I don't think I can afford that," my friend said.

The next day the engineer messaged him saying he'd cut his rate to $50/hr.

In other words: No one has any idea what they're doing. It's still very much
the Wild West. The in-demand currency, I've concluded, is _security_. If
you're funded to the point of not worrying about payroll: engineers will flock
to you. If you're battle-tested in scaling something huge: terrified founders
will follow you around.

The critical skill, IMO, is finding entities who could be great, _with your
help_. One of FAANG's strengths is that they pay their devs so well that they
can stop worrying about money, and feel safe enough to get absorbed in
whatever problem is on their plate.

~~~
BjoernKW
If neither the engineer in question knows if his service is worth $50 or $100
dollars an hour nor the client (i.e. the employeer) has any idea of if the
service might be worth that price how can we expect the market to settle for a
a price both parties can agree on?

The underlying problem is that the value of software development is hard to
quantify and that professionals in that area often even try to keep it that
way.

Why is engineering output commonly measured in time wasted instead of value
created?

~~~
invalidOrTaken
Well, it's funny, after writing that comment, I'm not really sure I still
regard the situation as a "problem." For the distributed systems guru with a
proven track record, the world is his oyster. What problem?

PG's advice that basically reduces to "fundraising sucks" rings true to me,
but I suspect that someone _really good_ at it would also find a lot of
opportunities falling into their lap.

I guess my general train of thought is: most engineers treat the business side
as consisting solely of downside---they want to "get fucked as little as
possible" and then seek their upside in engineering. But there's opportunity
there for those who look for it.

------
koopuluri
Have had experience interviewing, and exploring similar space.

My beliefs that I'm in the process of validating further:

-> Poor resume filtering (based on keywords and proxy credentials) reduces the size of the candidate pool - biased to those that have worked at brand name institution, or went to brand name school, which leaves out many talented folks.

-> Technical interviews are low accuracy predictors of competence, which means you have to up-weight previous experience & credentials to reduce risk of bad hire. If you do choose to open up doors to interview candidates from non-traditional backgrounds, due to the greater variance in competence, you have to spend more time interviewing before you make a hire, driving up the costs.

-> Companies are biased towards cheaper, low-risk interviewing. They want to get the talent to meet the business needs, as long as they can do the job and fit the culture ==> paying more to get the talent that they know has greater chance to deliver is totally worth it.

A bigger company has the advantage of having more data about their hiring
process, which could lead to more systematic experimentation to improve
hiring. They also have a brand that would attract more people - bigger company
often correlates with stability, and market rate pay, which are also drawing
factors. They also have less risk --> a bad hire, that can be identified
relatively quickly and fired, hurts a bigger company less than smaller ones,
and they have more money to throw around.

Hiring at startups is tough: Your low-risk talent pool has other, great from a
financial perspective, opportunities. Your higher risk talent pool is
expensive to validate competence for because industry standard approaches are
low-accuracy signals.

Fix interview process to give a higher signal, which allows you to reduce
weight on credentials and experience, which allows you to increase size of
candidate pool (because you've reduced the risk and cost to validate).

There's a lot of talent in the world that doesn't fall into the low-risk
bucket that everyone is competing for.

------
sidlls
This is a broad question and really depends on the context and environment.

Outside of major tech hubs the answer usually boils down to "insufficient
supply of any quality above poor".

In the major tech hubs it usually boils down to the glut of CS graduates who
think they know everything or that they are smarter than everybody else
perpetuating the CS hazing ritual that is the modern interview process. The
bar is set too high using a bad method of measuring skill: the bad definition
of "good" leads to an artificial scarcity of "good" engineers.

Good engineers aren't going to tolerate that crap, and will be able to get
positions that outside of the typical hiring process.

------
notyourday
Are you sure the question is not "Why is it so hard to hire good engineers if
I do not want to pay them good money?"

------
maxander
Thinking like an engineer: to hire good engineers, you need A) good engineers
to apply for the position, and B) to tell which of your applicants are the
good engineers. Those two conditions are necessary and sufficient.

As other commenters have noted, A boils down to “offer lots of money.” Some
really interesting fields may be able to offer less out of “cool factor,” but
odds are you’re not hiring for one of those fields- all your potential hires
who claim to think CRUD apps are fun and intellectually stimulating are just
lying. ....So A is simple, if you’re honest with yourself and bite the
financial bullet.

B is a problem that is apparently beyond present-say technology, and quite
possibly not possible to achieve at all. There are code-testing sites that go
beyond the standard CS interview, but how can a several-hour exam test
someone’s ability to manage a codebase over months or years? In particular
_your company’s_ codebase, which will have many important idiosyncrasies and
be a very different environment than any project the hire has worked on in the
past. ...We’ll likely have flying cars before we figure out a halfway decent
solution for B.

------
gamechangr
Q: How do you know you're not paying market rate (or enough)?

A: Good Engineers are not finding you through their network

\--------------

Other than that, you need to find good engineers -before they are proven -
believe in them and ask for their commitment for let's say 3 years.

------
howscrewedami
What is "good engineer"? How can a company tell if someone is a "good
engineer"? These are hard questions. And I think you gotta answer them first
if you want an answer to your original question.

------
knewter
not paying enough or not vetting well

------
praulv
The problem is you're trying to hire engineers to do business analysis,
product management, support and quality assurance. The problem is your lack of
engineering culture and process.

------
txsh
Because nobody wants to train good engineers. It’s not like the people you’re
interviewing set out to be bad engineers. It’s just that people like you won’t
hire them unless they’re already perfect.

