
Turning a Job Opening into a Dream Job for Top Talent - wilkystyle
https://medium.com/javascript-scene/how-to-turn-a-job-opening-into-a-dream-job-for-top-talent-14b63f03146d
======
chx
What this doesn't talk about enough is work impact -- mentioned yes but
doesn't emphasize it. These are shitty years and it eats me I am working for
an enterprise gardening their websites instead of literally making the world a
better place. I mean, sure, it pays and challenging and whatnot but I miss
NowPublic dearly because we made a god damn difference. We ran one of the
biggest Katrina missing person boards. We were one of the first "citizen
journalism" sites and had photos and reports from places where noone else had.
It was amazing. I miss it so badly.

And you know what, I would be open to changing, I am still doing Drupal and I
need the money but ... if you are doing something meaningful with Drupal,
Elixir or Go and have some part time opening? Let's talk :) Click my username
for email address.

~~~
humanrebar
> These are shitty years and it eats me I am working for an enterprise
> gardening their websites instead of literally making the world a better
> place.

It's a peculiar quirk of the tech industry that "changing the world through X"
is a reasonable expectation. Bus drivers don't wonder how they can make a
difference through bus driving. They do their shifts and then go volunteer at
the hospital, food bank, homeless shelter, etc.

Point being, you have an urge to help people. Then help people.

Now, you'll obviously add the most value to organizations that need Drupal,
but free technical help is usually not "free as in beer" as much as "free as
in puppies". Setting up someone with a slick technical solution almost always
comes with some required maintenance fees, organizational knowledge,
operational costs, etc. That is, it's hard to give away tech in a way that's
sustainable. Even tech training has limited use if you're not prepared with
next steps for the trainees (college applications, concrete job prospects,
immediate personal benefit, etc.).

 _That_ being said, information _can_ be given away effectively, as you
learned after Katrina. Maybe some community is just missing certain
information presented well. Drupal is great there. Other people are great at
writing middleware for CAN buses. They probably have fewer opportunities to
apply tech to help humanity than you do. They'd be better off pitching in at
Habitat for Humanity, and maybe you would be too, just to start.

~~~
hrktb
I worked in a ad agency and people had the same gripes about their role in the
society. Helping brand X to get market share from brand Y can feel like a huge
waste of one’s life .

I’d expect it to be the same for a lot of media industries.

BTW a bus driver physicaly helps people by moving them from A to B. Isn’t it
one of the most useful job of our society, until driveless cars come along ?

~~~
humanrebar
I didn't mean to degrade or single out bus drivers. I tried to pick a normal
blue collar job. I don't think there's anything wrong, and a lot right, in
people just doing a great job with the job they have, whatever it is. I don't
really know how to compare:

* getting people to work

* keeping the web pages for N businesses all up and running

...but I do know that if it doesn't feel like enough, there are lots of
organizations that need volunteers and donations, often both.

------
curiouscat321
People who espouse remote work seem convinced that it’s the end-all way to
work.

I don’t care if I have to go into an office. I like offices. What I care about
is that you don’t mind if I work from home every once in a while. I care that
it’s okay for me to leave early or come late.

~~~
rsp1984
My opinion as an employer: Sure, feel free to take your work hours as you like
and WFH every once in a while.

Just make sure that overall your total hours are what we agreed to in the
employment contract.

~~~
humanrebar
> Just make sure that overall your total hours are what we agreed to in the
> employment contract.

What's the justification for monitoring total hours and not something more
directly tied to business success? End users and profit margins (assuming your
engineers are salaried) don't care about whether your engineers had consistent
40+ hour work weeks.

~~~
hgoury
In my previous company, they has a name to distinguish these two kinds of
metrics.

\- Inputs are the things employees can act on easily, like the number of LoC
written or the number of features developped.

\- Outputs are related to business success, for example the number of
customers, or the revenue.

The key here is to consider the external business environment as a complex
machine, in which you put some effort, measured by inputs, and you observe the
outputs as a result (reward). Because you don't know how the environment is
going to respond, running the activity consists in adjusting the measures of
inputs according to previous results, and trying to maximize those.

This is sane for business because executives can focus on maximizing the input
metrics, without caring too much about the outputs, and evaluate separately
the assumptions they made about the business (e.g. that x number of features
requested by customers developped within 1 month increase the userbase).

It kind of looks like a reinforcement learning process actually.

~~~
humanrebar
> This is sane for business because executives can focus on maximizing the
> input metrics, without caring too much about the outputs, and evaluate
> separately the assumptions they made about the business...

That's basically the problem right there. If you treat the employees as a
giant black box, you don't observe when workplace policies (that might not
even work!) get in the way of human decency, let alone helping a diverse group
of employees each flourish in their own way.

Employers instead sit around wondering why there aren't enough Latino
engineers without even considering a remote work policy that would let
engineers live in El Paso, Phoenix, Los Angeles, or Miami.

------
adjkant
I usually hate posts about top job, top tech talent, etc.

This post was a lot of great stuff. The idea of pairing talented people of
different levels is crucial. A senior lead with shit backup can only do so
much. The right balance I think can turn two mythical 10x devs into 100x total
instead of 20x. Of course, make sure those people are also compatible, as half
the 10x devs I know are loners who don't mix well and work best when left
alone.

~~~
kreetx
Agreed, this post gets a lot of things right IMO.

An idea I've had on 10x developers (or whatever the multiplier..) is not that
they can code and solve problems this much faster, but in the _long term_ they
steer the code base as a whole in a direction such that the impact is that
large. (But of course recognizing this, or being able to compare it to the
other would-be ways the code could have gone, is a non-trivial matter :).

~~~
humanrebar
> An idea I've had on 10x developers... in the long term they steer the code
> base...

Agreed. And on the flip side, you can have -10x developers that make all the
_wrong_ choices, like inventing and entrenching their own language or crappy
framework for reasons of boredom or ego.

I suspect that junior developers are less likely to be net-negative to that
degree. Perhaps it's one unarticulated reason employers tend to prefer
inexperienced engineers. If the employer can't tell the difference between a
10X and a -10X developer (the guy pitching the UML-based python code generator
or the guy who really likes cucumber?), it's typically easier to hire smart
people who are still learning and trust your existing technical leaders can
get value out of them.

~~~
JoeAltmaier
And sometimes they invent a framework that hits all the right design points,
but junior engineers can't read a book about them or take a class about them,
so don't understand and badmouth them as crappy and a result of boredom or
ego.

Its hard to invent something, and have it get no traction because nobody else
wants to move forward.

I've been at two startups that had frameworks that solved all the problems in
the product space, efficiently and nearly perfectly. And failed because as the
company grew, new Engineers all clamored for something simpler or something
they already knew. They outnumbered the designer with their voices and
management steered the company off the rails. It's tragic.

~~~
barrkel
This is an incentive alignment problem. Developers want to maximize their
human capital since they usually don't have significant capital in the
business itself. With experience in all the latest buzzword technologies, they
can get good offers elsewhere, or use the leverage to increase their pay.
Whereas sinking all their effort into an in-house framework is fantastic for
the business in multiple dimensions: it's a custom fit so it's more
productive, but it also locks in the employees, reducing their employability
elsewhere and BATNA.

I do wonder if incentives can be aligned for things like this, or if it's just
a structural problem we need to live with.

~~~
humanrebar
> Whereas sinking all their effort into an in-house framework is fantastic for
> the business in multiple dimensions

Well, it's fantastic until it isn't anyway. Companies _do_ fail, at least fail
to own new markets, by being tied down into legacy architectures.

~~~
barrkel
I think that's orthogonal. You can fall behind just as easily by not
addressing technical debt. Consider how easily it is, particularly in the JS
world, to accrue multiple different bits of UI written in different frameworks
du jour.

Rewriting stuff is very seldom in the business' interest, but stuff gets out
of date at a rate controlled by the ecosystem, not the company.

~~~
humanrebar
That's a lot to unpack.

Generally speaking, the worst kind of legacy code is the kind that cannot be
easily rewritten. That's why I particularly called out custom frameworks and
custom languages. Replacing custom service implementations, in comparison,
doesn't even count as "replacing stuff" since it's so trivial.

It's not in the company's best interest, generally, to write business-critical
things in ways that are hard to replace and/or pivot on. This means that a
company needs to account for the whims of "the ecosystem" in both its business
plan and in its technical strategy. If it's a huge concern, the profit margins
need to stay high enough and customer expectations need to stay flexible
enough to mitigate the concern. Also, if "the ecosystem" is a huge concern,
technical strategies also need to help mitigate. For example, if you're
running the same JS code both client and server side and you're worried about
changes in the client-side ecosystem, you might want to think about
implementing the backend in something more boring and stable just to mitigate
ecosystem risk.

~~~
barrkel
The code that you can't afford to rewrite is the code that is hairy with
details. The details are some mix of essential and incidental complexity. The
ratio is dependent on the degree of fit between your business logic and the
framework, the primitives it's built out of, whether it's third-party, custom
framework, custom language, whatever. And of course any custom component has
its own complexity; it should be additive, but it may still be large. A good
fit - an excellent fit - means your business logic is clear, concise, and is
operating over abstractions that map directly to the business concepts. A poor
fit is speaking haltingly in unidiomatic language, too verbose, aggregating
globs of ugly code, losing track of the forest for the trees, etc. But it'll
be easier to find average devs who are familiar with the particular style of
thicket that ends up coming out. We even have names for the scar tissues that
grow around each glob, helping them interface - we call them design patterns.

There's no hard and fast rules, it seems to me. Use a small fraction of lots
of different third party bits and pieces and you get a recipe for pain. I'm
fairly certain there's no more productive way for engineers to code than to
raise the level of their language into their business domain -
[http://www.paulgraham.com/progbot.html](http://www.paulgraham.com/progbot.html)
\- but this is the custom framework / language approach. I'm also fairly sure
that it's hard to scale an organization around this approach because of the
incentive problem when hiring developers. I think it only really works for
startups that are composed of a bunch of hackers with decent equity stakes. It
doesn't work out for employees, unless the company ends up moving the needle
industry wide, like Java or Rust or React, and that's really rare, too rare to
bet on.

------
drinchev
What is missing in the article is the word "freelance".

Most of the time within a startup you can see developers stay in the company
for ~1 year. Usually they are more willing to find another job than
negotiating a salary bump ( which happens to be also mentally easier, since
the first action is passive - just reply to a recruiter ).

When I completely switched to freelance gigs, I discovered that I stay in a
company for far longer time. It is easier for me to index my price per hour
with the market, since I have less bureaucracy with my client ( removes FOMO
). I had the best offers ( company shares + bonuses ) to join various
companies than being an employee ( because of the FOMO of the employer that
you might leave soon ). And finally I improved my code quality, since you
always write your code with having your mind that sooner or later you will be
not the code-owner.

Of course having 3 months off to enjoy the summer also makes it more appealing
than the 22 vacation days you usually receive ( in Europe ).

Disclaimer - all of this won't work if you are a junior developer. Usually the
stronger hands are in your employer then, since your contract can be
terminated any day, without any notice.

But hiring a senior developer as a freelancer in your team ( IMHO ) will
definitely mean that you will work with a highly motivated person, being there
to do the job.

~~~
pmorici
“Freelance” has very negative connotations I my book. It brings to mind sites
like odesk or whatever it is called now where low quality companies look to
find 99 cent an hour talent.

~~~
user5994461
Freelance is a desperate student who is working for free to create his
portfolio.

You want to call yourself a "contractor", or better "a "consultant"

------
mathattack
I find the most important thing is the “deal” with the manager. “Here is what
I can give you, Here is what I want in return.”

Some people want promotability. Some want remote work. Some want new technical
challenges. Some flexibility. A manager can’t give everything to everyone but
they can say, “I can give you all the flexibility you need as long as the
servers never go down” or “I can work to promote you in a year if you hit
every deadline and do three or four side projects”

That conversation is more important than any perk.

~~~
ben_jones
I agree 100% EXCEPT for the huge asymmetry in information that exists during
that phase of an interview. "Hit every deadline", you would then need to know
how aggressive and how frequent those deadlines are. You would have to know
how stable the team(s) are because if a team has a deadline and loses the head
engineer, well shit.

Negotiating and accepting an offer letter is way too much like gambling.
Whether its start-up equity, growth/lifestyle promises of a manager, or hope
that office politics won't grind your soul to dust within 3 months, its a huge
risk even saying "yes".

~~~
mathattack
True. I find this is easier as part of a longer term relationship. There is a
gamble, and trust is involved. The one recourse is if they violate your trust,
you can leave.

------
TamDenholm
Senior developer salaries in my local area (Edinburgh, Scotland, UK) are
£30k-£40k which is about $42k - $56k USD. On a £40k salary you pay roughly
£9,500 in tax. Ive no idea what the tax rate is in America but the difference
in salaries between the UK and the US is astounding.

~~~
Nursie
The UK mostly pays developers a derisory salary.

Australia seems to pay roughly on a par with the US, or did when I lived
there. But most of the UK is dreadful - software folks are paid poorly and
treated like drones.

Unfortunately there are enough people that will take the bad salary, have
mediocre performance and deliver mediocre software slowly, that a lot of
British companies now expect to pay peanuts and get monkeys.

I've found the only way to replicate the money you can get elsewhere is to be
a contractor. You can make about double your quoted figure outside London (my
experience in the Hampshire/Wiltshire/Dorset region), or triple or more if you
land something bank related in London. No idea what might be available in
Edinburgh.

~~~
crdoconnor
The contractor premium will get dragged down in a year or two as well - the
Tories are planning on kicking up taxes for them in order to bring in an extra
£200 mil.

That will probably lead to an exodus of the experienced developers from the
UK. This will not only have a negative effect on UK software houses it will
also exacerbate the existing problems with UK government IT projects, which
have already have a multibillion-pound problem with failure to deliver and
cost overruns as it is.

Meanwhile, Russian oligarchs are still paying peanuts for their empty central
London mansions and big companies are barely paying any corporation taxes.

~~~
user5994461
Not so sure. People who've been living here often can't just go back to where
they come from. They wouldn't have moved to the UK if the situation in their
countries was better.

The effect so far of Brexit is to stop the flood of newcomers, not making
establishing people leave. It's good as a developer, less competitors for the
same amount of jobs.

~~~
crdoconnor
I get what you're saying, but contractors by their nature tend to be mobile
and motivated by pay. This strongly increases the likelihood of an outflow,
especially if companies don't react to the extra taxes by raising pay.

The effect is compounded because a) good techies _really_ like to work with
other good techies and b) losing most of the good ones also means losing all
of the people who can _recognize_ other good techies and hire competently and
c) there's a scarcity of mentors too, impeding the ability of junior techies
to develop.

The UK is still a tech center in spite of Brexit. For now.

I've worked in markets before where there's a scarcity of high end talent
because it all got sucked away elsewhere and software-wise, these environments
produced mediocre crap.

~~~
user5994461
Contractors are mobile in the sense that they can change company every 3
months.

They stay in the same area. They are not mobile to move themselves and their
family across the border periodically.

~~~
crdoconnor
_shrug_ half the ones I know have done precisely that already and I've done it
too.

I don't doubt that there will always be _some_ that won't or can't cross a
border though.

------
gingerlime
The top thing on the StackOverflow survey was vacation time, but the article
hardly touched on it.

We have a 45 days holidays policy for all full time employees. Mind you, this
includes public holidays, because we're also 100% remote and it's more fair
for everyone if we don't align public holidays to one spot. This also means
that if you prefer working over Christmas, and then take time off another time
- you can. We also heavily encourage everyone to take their holidays, and you
can only transfer up to 5 days from one year to the next, so people use it.

~~~
nikanj
Who’s “we”?

------
sharkdesk
Lots of good ideas in the article - the key is to really stand out.

I take 10 weeks off a year to go travelling - true vacation time, not remote
work. I know I can get a 20% raise if I switched companies (I know that
because I got an offer), but I stay where I am because i can't imagine going
back down to 3 weeks of vacation a year.

~~~
crdoconnor
It's weird that more companies don't offer more vacation as a perk. Offering
40 days instead of 25 means 15 days of foregone work for the company - 6%
fewer days worked a year. But, it looks a _lot_ better than a 6% increase in
pay on paper.

Moreover, you probably lose much less than that because you'll have better
rested, less stressed, probably more productive employees and it will help cut
down on employees making themselves critical choke points.

Something to think about the next time you read the phrase "war for talent".

~~~
maxxxxx
From me experience at least in the US there is a moral component to more
vacation. The managers I have dealt with acted a little as if wanting more
vacation is a moral failing of the person.

~~~
lotsofpulp
That's just because the manager is then responsible for the work when people
take vacation, so dissuading it as much as possible saves them time and stress
personally.

Vacation is a big problem of you're running with just enough people to operate
the business, which most are people are one of the most expensive parts of the
business. Unless you're not doing anything time sensitive, mission critical,
or customer facing, then being on vacation means someone is stretched to cover
you.

~~~
maxxxxx
Thinking that everything is time sensitive is often an illusion or management
failure in my view. You can't be constantly on the critical path.

------
neebz
I loved remote work and did a lot of effort to ensure that we adopt a remote-
friendly culture.

However I will never get over the fact that we found some of our engineers
ended up doing freelancing work, over-estimating work and basically just
slacking around in the freedom of their homes.

I would love to hear if anyone had similar experiences or how they prevent
such in remote environments.

~~~
auggierose
That is an interesting point. Personally, I think remote work should be
freelance work.

~~~
maxaf
Are you saying that remote employees should be deprived of full-timer benefits
and legal protections, however meager? All because of trust issues that grew
out of experience with a bad apple which isn't representative of remote
workers in general?

Empirically speaking, effective remote employees are more trustworthy and less
prone to organizational politics. I can even tell you why: these people have a
system of values outside of work that in turn values their professional
activities as something that helps enable this desirable lifestyle. In return,
work is treated with diligence and virtue.

I'm sorry that you or the person you're replying to have had a negative
experience with remote workers. As usual, a few bad apples don't spoil the
whole bunch.

~~~
auggierose
I didn’t have any bad experiences with remote workers, and I can definitely
see how that can work for non-freelancers. Personally, I just think remote and
freelance are an ideal combination for independent creatives.

------
madamelic
Are people really making these salaries? I mean like mid-level, not god-tier
type people.

I don't know if I am stupid or just don't say the right things but are there
really mid-level devs not at huge companies making $160k a year? I mostly hang
out at startups and it is normally around like 130k for a senior dev.

~~~
qaq
"startups" is the keyword here

~~~
user5994461
Emphasis. One MUST stop working for startups to make a living.

------
weeksie
I really wish we'd start using a term like journeyman to talk about what
people insist on calling "senior developers". A person with 3-6 years of
experience isn't senior. That's preposterous on its face. Nor is a 3-6 year
developer a junior, but we are woefully inept at using meaningful terms for
developers.

~~~
pleasecalllater
This always makes me sad. 3-6 years of experience, and you are senior. 20
years of experience, and you are too old for the "young and dynamic team". I'm
slowly hitting 20 years soon... and even now I have troubles with getting a
job. I didn't have the problem when I had 3-6 years of experience.

A surgeon with 3-6 years of experience is usually too inexperienced to operate
on her own. 20 years of experience, and you can lead a team of surgeons.

In IT we have some strange cult of inexperience. And this makes me sad.

~~~
jrs235
Because you might not fit in "culturally". Which is BS. I've noticed that
going to work for many, primarily younger, people is more a social thing than
a professional one. I see lots of time spent talking about and focusing on
what people did in the 16 or so hours since they last saw each other at work.
Mondays are the worst as sometimes an hour or more is blown catching up on
what everyone did over the weekend. People and teams are lacking direction and
focus. These younger teams need stronger leaders able to focus and re focus
the culture and discussions on achieving organizational goals. These "work is
social" folks fear those who might make them look bad by focusing on Getting
Shit Done rather than focusing on people's personal lives. This isn't to say
we shouldn't care about people and their lives outside of work, we should be
empathetic, but it shouldn't be what the team gels around.

~~~
ethbro
"This should always be a normal Monday" or "This should never be a normal
Monday" are both wrong. What matters is that the team is productive.

There's always a give and take, especially with the labor market being tight.
All a balance between value_of_happy_employees : value_of_more_work. Because
the only thing worse than the current team pissing away time is having to hire
a new team...

------
staunch
Most companies don't provide a work environment even half as good as an
average home office.

I think remote working may be the first killer app for VR but it would
probably require a $3k HMD today to be viable. Most tech companies could
easily afford one per worker.

~~~
ttoinou
Your brain's going to melt if you're going to play VR all day

------
taurath
Honestly I kind of feel like any company that is offering market rates for
remote workers has a bigger problem filtering developer applications than they
do finding great engineers. Complete opposite from the hiree perspective vs in
a big tech town where everyone is desperate for talent.

Between my last 2 positions I tried looking around at fully remote jobs - sane
hours, good pay, good (virtual) environment including codebase - pick 1, maybe
2 if lucky.

------
perlgeek
I wonder about recommending both remote work _and_ spending quite some time
mentoring. How well does remote mentoring actually work?

I was positively influenced by people giving me advice remotely (I don't know
if I'd really call it mentoring), but my feeling is that face-to-face works
much better.

Any experiences?

~~~
Phlarp
I had a number of very positive remote only mentors when I was younger and I
give them all a large amount of credit for who and where I am now.

Mentorship is important,but I don't think face to face is particularly
important. Although I wouldn't rule it out if it was convenient to both
parties.

------
user5994461
_That awkward time when you finish reading the article and you realize with
the ad at the last paragraph that it was all just advertising for the author
's service._

~~~
genezeta
Most, if not all, of Eric Elliot's writing is just an advertisement for
himself. Notice also how most of the references he links are his own articles.

