
Guide to scaling engineering organizations - joeyespo
https://stripe.com/atlas/guides/scaling-eng
======
munchbunny
I think this post missed one extremely important point. I almost never see it
in blog posts, and yet the successful heads of 100+ engineer organizations all
know this.

Find good managers! Or groom them. Whichever. Just make sure you have good
managers.

I see endless posts about recruiting, and I see tons of posts about
engineering culture, but I almost never see posts from these same sources
about the nitty gritty of how to evaluate and grow leadership and people
management skills. Ironically, I see a lot of that from MBA programs.

Actually getting good management in place is extremely hard to do and does
more for talent retention than almost everything else. For every company blog
post I've read that talks about scaling the organization, including Stripe, I
also hear corresponding horror stories from friends and acquaintances who are
leaving because they hate their manager and because their company isn't doing
anything about it.

Sure, it's relative, on the grand scale of managerial quality I'd wager that
Stripe is on the right side of average, but I'd really like to see more focus
on scaling leadership.

~~~
amw-zero
What does a “good manager” look like?

~~~
munchbunny
There are several common things to look at, just off the top of my head. These
all take practice.

1\. Organization skills/project management skills: ability to pull together
internal/external resources, ability to create clear plans, ability to build
relationships with other teams to make cross-team collaboration easier

2\. Communication skills: ability to deescalate and mediate conflicts fairly,
ability to give both positive and negative feedback regularly, ability to
create psychological safety, ability to deliver bad news while maintaining
psychological safety, ability to run efficient meetings, ability to make
unpopular decisions while still commanding the team's respect, ability to
engage with different personality types and communication styles

3\. Delegation skills: ability to translate ambiguous directives from above
into actionable tasks for the team, ability to arrange tasks so that
individuals have the creative freedom to figure out how to do it,
predictability in decision-making, ability to shield team from external
pressure, ability to give negative feedback immediately, ability to fire low
performers _before_ they fester into team morale and culture problems

4\. Coaching skills: ability to give targeted advice, ability to match
employee's own aspirations and growth objectives to projects, enough technical
expertise to point people in the right direction, ability to evaluate skills
and hire for them

~~~
afarrell
> these all take practice

They also often take theory. If you’re reading this and trying to learn more
about management, don’t shy away from taking some time to read good books
which teach about the theory of, say, how to be good at feedback.

------
hoorayimhelping
These are all great points and there are some good nuggets in this article but
I feel like it misses the main issue with recruiting. The shortcoming in my
experience, is hardly ever in the process, it's in the people who work in
recruiting. When setting up pipelines, most of the people I worked with knew
what we had to do - the points in this article are pretty obvious.

What isn't obvious is how to find the right people to help us do that, or how
to avoid the wrong people. Because the wrong people on the recruiting side of
things can easily drag down the entire organization very quickly. I've only
worked with a handful of recruiters that were actually worth anything - I'd
like to see more about how to find them, what qualities to look for, and how
to vet them.

Building a process that doesn't suck is like bread and butter for day-to-day
for a lot of engineers. A lot of us have been part of working recruiting
pipelines and we've seen how it's supposed to work. It's usually pretty
straightforward - what wee don't know is how to kickstart it with the right
people. I'd love more information on the softer part of it, and the part that
is often invisible to people iterating on the process - the specific
contributions of individuals to get it up and running.

~~~
PopeDotNinja
> I've only worked with a handful of recruiters that were actually worth
> anything

I learned how to hire & train recruiters to work for me pretty effectively for
certain pieces of recruiting. To you, what makes a recruiter good and/or not
good? Maybe I can share some thoughts on how to improve the not good parts!

~~~
deathanatos
A technical résumé, to a non-technical recruiter, is just technobabble; they
have no way of knowing whether the information contained in the résumé is
generally good, or just someone BS'ing, or someone who doesn't know what
they're talking about. Discerning whether a writer actually understands what
they're talking about (particularly in the terse format of a résumé) generally
requires a deeper understanding of the lexicon at hand.

They can be told to look for certain keywords, sure, but that doesn't, IME,
seem to be sufficient to screen; obviously bad résumé use the right words (but
in the wrong ways / in ways that to an expert clearly indicate a lack of
understanding) so they pass the filter.

Brief technical screens can be done, but again, without technical knowledge,
the recruiter can't know if the answer given by the candidate matches the
answer they have in an answer key, if they are provided with one. Even
relatively simple technical questions might have more than one right answer,
or the answer might just be phrased in a way that a recruiter doing a human
version of lexical edit distance isn't going to think passes, but any engineer
would say would.

The problem in all of these is the lack of technical knowledge. Tech
recruiters, on the whole IME, are trying to recruiter for a role that might as
well be "town wizard". Any theoretical recruiter _with_ technical knowledge
would never work in recruiting — they'd fetch more in pretty much any real
technical role, like an engineering role.¹

The other problem, again IME, is that there is a wide pool of candidates with
very little actual _experience_ , though they may have worked any number of
years. Finding someone with actual knowledge and understanding of software
engineering requires sifting through a lot of chaff.

¹One might see this as people aren't willing to sufficiently pay enough for
recruiters / if you want a recruiter with technical knowledge, you need to
compensate them adequately enough that other opportunities are not worth their
time. I would agree here.

~~~
PopeDotNinja
Ah, I can see what you mean. I had good luck with making actually resume
screening part if inter process for hiring recruiters.

Here's basically how I did it:

\- pick one job to focus on, where it's near impossible for a non-technical
person to tell if someone is likely to be a fit, such as a full stack web
developer with experience in a JavaScript and a backend language

\- get 5 resumes, 1 obvious fit, 3 maybes, and 1 obvious no, all of which look
great based on keyword soup, so an automated QA person and webmaster might
look like a full stack developer, and the waiter who took a programming course
10 years ago has no shot

\- provide any additional filtering criteria

\- in a verbal conversation, ask the recruiters to rate, and explain, each
rating

Try that. It's not perfect, and it's better for positions you can describe
discrete hiring criteria. The bar for the recruiter is not filtering out the
no and maybes, it's screening in the maybes and yesses into a guesstimate
sorted list. You can focus in 3 & 4 list. Then you can start with obvious
matches, keep going until the list starts feeling pretty thin, and draw a line
based on your judgement call & supply of applicants.

------
fbr
Some additional great resources related to hiring:

How to hire your first engineer - [https://blog.ycombinator.com/how-to-hire-
your-first-engineer...](https://blog.ycombinator.com/how-to-hire-your-first-
engineer/)

Convincing Engineer to join your team and a basic structure for the process -
[https://blog.ycombinator.com/convincing-engineers-to-join-
yo...](https://blog.ycombinator.com/convincing-engineers-to-join-your-team/)

General thoughts about hiring - [http://blog.samaltman.com/how-to-
hire](http://blog.samaltman.com/how-to-hire)

The book "Who" gives a good idea about a good process. Hard to apply when you
are not looking for a "generalist" \- [https://www.amazon.com/Who-Geoff-
Smart/dp/0345504194/](https://www.amazon.com/Who-Geoff-Smart/dp/0345504194/)

Some of the manager tools podcasts episodes - [https://www.manager-
tools.com/map-universe/hiring-0](https://www.manager-tools.com/map-
universe/hiring-0)

Edit: formatting

~~~
mildweed
How to run a solid, basic technical interview:
[https://slides.com/scottconnerly/2questioncodequiz](https://slides.com/scottconnerly/2questioncodequiz)

------
stevoski
Judging by the article, you need to go through a _lot_ of interviews before
Stripe makes you an offer.

I wonder if they miss out on whole groups of job candidates because those
candidates have good job prospects that don't involve this gruelling slog.

Of course, Stripe does seem to have an excellent team.

~~~
ppeetteerr
I've heard somewhere that companies like Stripe would rather have false
negatives than false positives in hiring.

~~~
avip
That's the logical tradeoff for any company. Bad hires create an incredible
amount of damage that can sink a whole team. It is x10 better to have no hire
than a bad one.

~~~
jhpriestley
Why are bad hires so damaging? I've encountered very unskilled coworkers, they
didn't do any serious damage, just wasted some people's time and money.

I'd actually say the opposite: standout engineers can be very valuable, I'd
rather work on a team with a couple lemons and one really good engineer than 3
middle of the road engineers. So I think that false negatives can be damaging,
especially because it's probably the best people with the most options who
won't bother with an excessive interview gauntlet.

~~~
Shaanie
Lemons can significantly impede a team's velocity and, more importantly, the
team's overall happiness. It's difficult to enjoy and take pride in your work
when the code base either looks like shit or require that you spend most of
your time reviewing/cleaning up the mess the lemons create.

Will your standout engineers enjoy working with the lemons?

~~~
vonmoltke
I could substitute "the business" for "lemons" above and describe many (most?)
companies. In that case, what effect are these lemons really having?

------
scarejunba
Nice post, guys.

Would you mind saying what you mean by 'lurking'? In all my life on the
Internet, it's a positive thing when joining a community. You're invisible to
everyone and just read. Why should people not do this? It seems harmless to be
in read-only mode.

~~~
jmcomets
I understood the use of "lurking" as "commenting unproductively in a channel".
Although I may be mistaken, it makes a lot of sense to avoid such toxic
behavior.

~~~
ownagefool
Weird, it's always meant reading and not posting to me, such as the parent
suggested.

------
ainiriand
<rant>

Some time ago I went to the Dublin open house because they were opening news
teams here and one of the positions was backed api engineer. Considering that
I've been doing the same for almost 10 years and that I got personally invited
to the event I decided to apply to the role.

They rejected me even before having a personal interview. I wonder what is
happening behind the scenes but it was very demoralizing. Was anything wrong
about my CV? About me? Am I too old? Right now, I prefer to stick with smaller
companies, they have clearer intentions when contacting you and they are much
more easier to approach.

</rant>

~~~
Fede_V
In my experience, it's incredibly difficult to get a strong positive signal
from a CV. You can definitely find red flags (my favorite example: people
describing themselves as experts deep learning with 1 year of experience and
zero publications) - but, after removing the obviously unqualified, the next
steps have very low accuracy.

Honestly, it might have just been a sourcer/recruiter fuck up. If you can at
all, ask a friend (or even a friend of a friend) if you can get an internal
referal and bypass the broken resume filtering step.

~~~
rjayatilleka
Even worse, at some big companies, recruiters will ignore direct referrals and
ask you to submit the resume internally through their req system. But then
resumes get lost anyway.

Good recruiters accept internal referrals directly.

------
bit_logic
Probably the most important these days: don't blindly follow the interview
process of big tech companies. They have an almost endless queue of very good
candidates. Any other company has the exact opposite problem. They treat their
candidates poorly (ridiculous whiteboard algorithm questions) and don't really
care about losing good candidates. Other companies can't do this, they are
lucky to even get good candidates applying.

------
avitzurel
I did not read the article to the end (I plan to). It's mostly good and I
agree with the point it's making.

However, I think we need to flip it on its head. From my point of view as an
engineer, your pipeline doesn't really matter, no matter how smart and well
thought out it is.

The weakest link in the pipeline is what isn't mentioned here, how do you get
candidates into the pipeline.

I get 5-10 recruiting emails a week and about the same number of linked-in
messages, none of them ever even come to a phone call. (and yes, I have gotten
a few from Stripe as well).

How do you email/call/text candidates? How do you define them? Do you have the
same email for all or you distinguish between levels?

A lof of companies have a good pipeline and they say "we don't do whiteboards"
but their recruiters are doing a disgusting job at finding people, just
absolutely shameful.

~~~
selestify
Is that because you're not responding to the recruiting emails or they don't
get back to you after you respond? How would you imorove that process?

~~~
peterwwillis
One idea would be standardized questionnaires. Rather than job sites being
collections of buzzwords and tools, if they presented questionnaires that
matched a variety of similar job titles, employers could simply fill out the
questionnaire and be matched with candidates who answer similarly.

------
grandtour001
Please no recruiter phone screens. It's just a choreographed dance where
everybody knows what's goin to happen. The recruiter sells you the company
about x, y, z values that nobody cares about. The candidate says something
about looking for bigger opportunities and challenges.

~~~
mratzloff
If it's rote for you, you probably aren't using those calls effectively to
filter based on your dealbreakers.

~~~
wbc
mind sharing how you use these calls to filter companies?

~~~
mratzloff
Company size, team size, role functions, salary range, culture...

------
boltzmannbrain
Re "Don’t mistake productivity for engagement": The story is quite similar to
my recent departure from a robotics startup. Even though the company had the
suggested survey system in place, management made me feel like an engineering
resource to be allocated rather than a person with career ambitions. The
survey was one of several facades the CEO had in place.

------
gadders
>> In addition to building clear rubrics, we began unconscious bias training
to maintain consistency and objectivity.

Is that still valid? I thought the tests to support this concept had failed to
be replicated?

[http://nymag.com/intelligencer/2017/12/iat-behavior-
problem....](http://nymag.com/intelligencer/2017/12/iat-behavior-
problem.html?gtm=top&gtm=bottom)

[https://www.thecut.com/2017/01/psychologys-racism-
measuring-...](https://www.thecut.com/2017/01/psychologys-racism-measuring-
tool-isnt-up-to-the-job.html)

~~~
bhuga
Unconscious bias is not implicit association. Unconscious bias is
rationalizing decisions based on the candidate's personal characteristics as
something else. Studies about unconscious bias readily replicate, i.e.
[https://hbswk.hbs.edu/item/minorities-who-whiten-job-
resumes...](https://hbswk.hbs.edu/item/minorities-who-whiten-job-resumes-get-
more-interviews)

Most training to overcome unconscious bias is about defining criteria before
you see a candidate. If, before you view resumes, you've written down "We want
someone with a master's degree and 4 years of experience in field X," you're
much less likely to pass over a qualified resume, regardless of the
candidate's personal characteristics.

~~~
vibrato
There is no evidence that unconcious bias can be effectively mitigated by
"training".

~~~
bhuga
Training to pre-select criteria before viewing candidates is well supported as
a mitigation by literature such as:
[https://ed.stanford.edu/sites/default/files/uhlmann_et_2005....](https://ed.stanford.edu/sites/default/files/uhlmann_et_2005.pdf)

From the abstract: Commitment to hiring criteria prior to disclosure of the
applicant’s gender eliminated discrimination

I'm sure there are many sitautions where training is less effective, but the
hiring example is well supported.

------
mychael
I fear that earlier stage companies will read posts like this and implement it
blindly without considering the big picture, which is:

\- Stripe is a large and resourceful company with a relatively large
engineering team. They can afford to have people focused only on things like
this.

\- The demand to work at Stripe is high. Therefore they can afford to have a
long, grueling interview process. Most engineers will not want to go through a
7 step hiring process at a low prestige company.

------
ratherbefuddled
The article seems to me to have lots of information on hiring and very little
on scaling. In my experience hiring is one of the smaller problems in scaling,
the largest by far is how you avoid massive drops in individual productivity
that if unchecked come with large teams delivering complex functionality. It's
a technical problem for engineers to solve more than it's an HR or management
problem.

~~~
gcbw2
if you hire people that won't do bullshit job over and over, you end up with a
organization that doesn't have that kind of problem.

You can see this happen in places that have layoffs every now and then, or
that hires a dozen contractors for each fulltime employee. When that happens,
you have people doing automation job while hoarding knowledge of which button
to press, then you get to the point you describe.

------
ppeetteerr
This is the same process as with many other millennial-focused companies in
SF.

------
syntaxing
I really enjoy reading Stripe's posts. I remember they posted one about APIs
and it was super fun to read [1]. Though to be honest, I think a title of
"Guide to scaling software engineering organizations" seems more appropriate.
I dread of a day where it's the norm for foundational engineers to have a
similar interview structure as software engineers now.

[1] [https://stripe.com/blog/api-versioning](https://stripe.com/blog/api-
versioning)

~~~
o_____________o
What is a "foundational engineer"?

~~~
syntaxing
The old four main branches of engineering (mechanical, electric, chemical, and
civil)

------
zoba
I really enjoyed this post, but, I would’ve liked to see more information
about engineering team size when these things happened.

For instance, the idea of “rotations” doesn’t make as much sense when there
are 5 engineers versus 100. There were several instances where I would’ve
liked to have known team size as a benchmark.

~~~
mlthoughts2018
Rotations also don’t make sense for product or domain specialists, or people
with career aspirations to focus on one specialization. As an ML engineer, I
would quit immediately if I had to go through a rotation doing web
development. But if you ask me to do occasional web development to deliver my
ML product to customers, I’ll do it whole heartedly and solve it very fast.

------
sytelus
TLDR; An article by high level exec at stripe. Its long low-information VP-
style article with mostly things you already know like you need to define a
recruiting plan, you should survey candidates for experience, your onboarding
plan should provide overview of your products etc.

------
tintor
What are the top reasons for candidates rejecting offers at Stripe?

------
_robbywashere
The criteria for candidate communication ability in the "example rubric"
_sounds_ right, but is any of this backed by actual data?

------
gcbw2
The good point of the article is bringing people up to speed as soon as they
are hired.

Yet everyone here will only see the bad points of the article, which is pretty
much a recipe for bro-culture and hiring fluent english speakers exclusively.

~~~
cosinetau
Not to mention how expensive that flow chart looks.

~~~
nosrednAhsoJ
It is not as expensive as hiring the wrong person.

As you iterate, your win percentage (AKA how many people you bring in and
actually hire) goes up. We got to a point where we hired 75% of the people we
brought in to the office.

~~~
vonmoltke
> It is not as expensive as hiring the wrong person.

Do you have numbers to back that up?

~~~
nosrednAhsoJ
Having built & led many teams, the time and energy that goes into managing an
underperformer or a poor culture fit far outweighs the cost of thorough
interviewing.

Even worse, you have to go through the hiring process again! So we can at
least say it costs twice as much.

As mentioned, this kind of investment in the hiring process requires you to
actually iterate it and continuously improve your win percentage. If not, you
might be throwing money away.

------
aaaaaaaaaab
More like scaling _software_ engineering organizations.

